< prev index next >

src/hotspot/share/gc/z/zBarrierSetNMethod.cpp

Print this page




  55 
  56   // Heal oops and disarm
  57   ZNMethodOopClosure cl;
  58   ZNMethod::nmethod_oops_do(nm, &cl);
  59   disarm(nm);
  60 
  61   return true;
  62 }
  63 
  64 int ZBarrierSetNMethod::disarmed_value() const {
  65   // We override the default BarrierSetNMethod::disarmed_value() since
  66   // this can be called by GC threads, which doesn't keep an up to date
  67   // address_bad_mask.
  68   const uintptr_t disarmed_addr = ((uintptr_t)&ZAddressBadMask) + ZNMethodDisarmedOffset;
  69   return *((int*)disarmed_addr);
  70 }
  71 
  72 ByteSize ZBarrierSetNMethod::thread_disarmed_offset() const {
  73   return ZThreadLocalData::nmethod_disarmed_offset();
  74 }







  55 
  56   // Heal oops and disarm
  57   ZNMethodOopClosure cl;
  58   ZNMethod::nmethod_oops_do(nm, &cl);
  59   disarm(nm);
  60 
  61   return true;
  62 }
  63 
  64 int ZBarrierSetNMethod::disarmed_value() const {
  65   // We override the default BarrierSetNMethod::disarmed_value() since
  66   // this can be called by GC threads, which doesn't keep an up to date
  67   // address_bad_mask.
  68   const uintptr_t disarmed_addr = ((uintptr_t)&ZAddressBadMask) + ZNMethodDisarmedOffset;
  69   return *((int*)disarmed_addr);
  70 }
  71 
  72 ByteSize ZBarrierSetNMethod::thread_disarmed_offset() const {
  73   return ZThreadLocalData::nmethod_disarmed_offset();
  74 }
  75 
  76 intptr_t ZBarrierSetNMethod::disarmed_address() const {
  77   ShouldNotReachHere();
  78   return (intptr_t)NULL;
  79 }
< prev index next >