< prev index next >

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

     assert(table_entry.registered() || table_entry.unregistered(), "Entry not found");
 
     if (table_entry.registered() && table_entry.method() == nm) {
       // Remove entry
       table[index] = ZNMethodTableEntry(true /* unregistered */);
-
-      // Destroy GC data
-      ZNMethodData::destroy(gc_data(nm));
-      set_gc_data(nm, NULL);
       return;
     }
 
     index = next_index(index, size);
   }

@@ -465,10 +461,15 unregister_entry(_table, _size, nm); _nunregistered++; _nregistered--; } +void ZNMethodTable::flush_nmethod(nmethod* nm) { + // Destroy GC data + ZNMethodData::destroy(gc_data(nm)); +} + void ZNMethodTable::disarm_nmethod(nmethod* nm) { BarrierSetNMethod* const bs = BarrierSet::barrier_set()->barrier_set_nmethod(); if (bs != NULL) { bs->disarm(nm); }
< prev index next >