hotspot/src/share/vm/opto/escape.cpp
changeset 36316 7a83de7aabca
parent 35567 4b293ebd9ef9
child 37248 11a660dbbb8e
equal deleted inserted replaced
36315:150a415079ae 36316:7a83de7aabca
   488         add_local_var_and_edge(n, PointsToNode::GlobalEscape,
   488         add_local_var_and_edge(n, PointsToNode::GlobalEscape,
   489                                n->in(TypeFunc::Parms), delayed_worklist);
   489                                n->in(TypeFunc::Parms), delayed_worklist);
   490       }
   490       }
   491       break;
   491       break;
   492     }
   492     }
       
   493     case Op_CompareAndExchangeP:
       
   494     case Op_CompareAndExchangeN:
   493     case Op_GetAndSetP:
   495     case Op_GetAndSetP:
   494     case Op_GetAndSetN: {
   496     case Op_GetAndSetN: {
   495       add_objload_to_connection_graph(n, delayed_worklist);
   497       add_objload_to_connection_graph(n, delayed_worklist);
   496       // fallthrough
   498       // fallthrough
   497     }
   499     }
   498     case Op_StoreP:
   500     case Op_StoreP:
   499     case Op_StoreN:
   501     case Op_StoreN:
   500     case Op_StoreNKlass:
   502     case Op_StoreNKlass:
   501     case Op_StorePConditional:
   503     case Op_StorePConditional:
       
   504     case Op_WeakCompareAndSwapP:
       
   505     case Op_WeakCompareAndSwapN:
   502     case Op_CompareAndSwapP:
   506     case Op_CompareAndSwapP:
   503     case Op_CompareAndSwapN: {
   507     case Op_CompareAndSwapN: {
   504       Node* adr = n->in(MemNode::Address);
   508       Node* adr = n->in(MemNode::Address);
   505       const Type *adr_type = igvn->type(adr);
   509       const Type *adr_type = igvn->type(adr);
   506       adr_type = adr_type->make_ptr();
   510       adr_type = adr_type->make_ptr();
   696     }
   700     }
   697     case Op_StoreP:
   701     case Op_StoreP:
   698     case Op_StoreN:
   702     case Op_StoreN:
   699     case Op_StoreNKlass:
   703     case Op_StoreNKlass:
   700     case Op_StorePConditional:
   704     case Op_StorePConditional:
       
   705     case Op_CompareAndExchangeP:
       
   706     case Op_CompareAndExchangeN:
   701     case Op_CompareAndSwapP:
   707     case Op_CompareAndSwapP:
   702     case Op_CompareAndSwapN:
   708     case Op_CompareAndSwapN:
       
   709     case Op_WeakCompareAndSwapP:
       
   710     case Op_WeakCompareAndSwapN:
   703     case Op_GetAndSetP:
   711     case Op_GetAndSetP:
   704     case Op_GetAndSetN: {
   712     case Op_GetAndSetN: {
   705       Node* adr = n->in(MemNode::Address);
   713       Node* adr = n->in(MemNode::Address);
   706       const Type *adr_type = _igvn->type(adr);
   714       const Type *adr_type = _igvn->type(adr);
   707       adr_type = adr_type->make_ptr();
   715       adr_type = adr_type->make_ptr();