comparison src/share/vm/oops/instanceKlass.cpp @ 23905:cb4af293fe70 jdk8u101-b07

8153312: Constrain AppCDS behavior Reviewed-by: iklam, acorn, mschoene
author jiangli
date Wed, 27 Apr 2016 14:41:55 -0400
parents 50e62b688ddc
children f13e777eb255
comparison
equal deleted inserted replaced
23902:432c2a4b018e 23905:cb4af293fe70
724 724
725 // Initialize the vtable and interface table after 725 // Initialize the vtable and interface table after
726 // methods have been rewritten since rewrite may 726 // methods have been rewritten since rewrite may
727 // fabricate new Method*s. 727 // fabricate new Method*s.
728 // also does loader constraint checking 728 // also does loader constraint checking
729 if (!this_oop()->is_shared()) { 729 //
730 // Initialize_vtable and initialize_itable need to be rerun for
731 // a shared class if the class is not loaded by the NULL classloader.
732 ClassLoaderData * loader_data = this_oop->class_loader_data();
733 if (!(this_oop()->is_shared() &&
734 loader_data->is_the_null_class_loader_data())) {
730 ResourceMark rm(THREAD); 735 ResourceMark rm(THREAD);
731 this_oop->vtable()->initialize_vtable(true, CHECK_false); 736 this_oop->vtable()->initialize_vtable(true, CHECK_false);
732 this_oop->itable()->initialize_itable(true, CHECK_false); 737 this_oop->itable()->initialize_itable(true, CHECK_false);
733 } 738 }
734 #ifdef ASSERT 739 #ifdef ASSERT