src/hotspot/share/oops/instanceKlass.cpp
changeset 51096 695dff91a997
parent 50882 80abf702eed8
child 51265 8329bfbe1b30
equal deleted inserted replaced
51095:a8ee31fb99e1 51096:695dff91a997
   819       // initialize_vtable and initialize_itable need to be rerun for
   819       // initialize_vtable and initialize_itable need to be rerun for
   820       // a shared class if the class is not loaded by the NULL classloader.
   820       // a shared class if the class is not loaded by the NULL classloader.
   821       ClassLoaderData * loader_data = class_loader_data();
   821       ClassLoaderData * loader_data = class_loader_data();
   822       if (!(is_shared() &&
   822       if (!(is_shared() &&
   823             loader_data->is_the_null_class_loader_data())) {
   823             loader_data->is_the_null_class_loader_data())) {
   824         ResourceMark rm(THREAD);
       
   825         vtable().initialize_vtable(true, CHECK_false);
   824         vtable().initialize_vtable(true, CHECK_false);
   826         itable().initialize_itable(true, CHECK_false);
   825         itable().initialize_itable(true, CHECK_false);
   827       }
   826       }
   828 #ifdef ASSERT
   827 #ifdef ASSERT
   829       else {
   828       else {
  2324     // Reinitialize vtable because RedefineClasses may have changed some
  2323     // Reinitialize vtable because RedefineClasses may have changed some
  2325     // entries in this vtable for super classes so the CDS vtable might
  2324     // entries in this vtable for super classes so the CDS vtable might
  2326     // point to old or obsolete entries.  RedefineClasses doesn't fix up
  2325     // point to old or obsolete entries.  RedefineClasses doesn't fix up
  2327     // vtables in the shared system dictionary, only the main one.
  2326     // vtables in the shared system dictionary, only the main one.
  2328     // It also redefines the itable too so fix that too.
  2327     // It also redefines the itable too so fix that too.
  2329     ResourceMark rm(THREAD);
       
  2330     vtable().initialize_vtable(false, CHECK);
  2328     vtable().initialize_vtable(false, CHECK);
  2331     itable().initialize_itable(false, CHECK);
  2329     itable().initialize_itable(false, CHECK);
  2332   }
  2330   }
  2333 
  2331 
  2334   // restore constant pool resolved references
  2332   // restore constant pool resolved references