1.1 --- a/src/share/vm/oops/instanceKlass.cpp Thu Feb 13 10:05:03 2014 +0100 1.2 +++ b/src/share/vm/oops/instanceKlass.cpp Tue Apr 15 17:02:20 2014 -0400 1.3 @@ -1329,17 +1329,18 @@ 1.4 } 1.5 1.6 1.7 -void InstanceKlass::do_local_static_fields(void f(fieldDescriptor*, TRAPS), TRAPS) { 1.8 +void InstanceKlass::do_local_static_fields(void f(fieldDescriptor*, Handle, TRAPS), Handle mirror, TRAPS) { 1.9 instanceKlassHandle h_this(THREAD, this); 1.10 - do_local_static_fields_impl(h_this, f, CHECK); 1.11 + do_local_static_fields_impl(h_this, f, mirror, CHECK); 1.12 } 1.13 1.14 1.15 -void InstanceKlass::do_local_static_fields_impl(instanceKlassHandle this_oop, void f(fieldDescriptor* fd, TRAPS), TRAPS) { 1.16 - for (JavaFieldStream fs(this_oop()); !fs.done(); fs.next()) { 1.17 +void InstanceKlass::do_local_static_fields_impl(instanceKlassHandle this_k, 1.18 + void f(fieldDescriptor* fd, Handle mirror, TRAPS), Handle mirror, TRAPS) { 1.19 + for (JavaFieldStream fs(this_k()); !fs.done(); fs.next()) { 1.20 if (fs.access_flags().is_static()) { 1.21 fieldDescriptor& fd = fs.field_descriptor(); 1.22 - f(&fd, CHECK); 1.23 + f(&fd, mirror, CHECK); 1.24 } 1.25 } 1.26 } 1.27 @@ -2280,9 +2281,7 @@ 1.28 int num_methods = methods->length(); 1.29 for (int index2 = 0; index2 < num_methods; ++index2) { 1.30 methodHandle m(THREAD, methods->at(index2)); 1.31 - m()->link_method(m, CHECK); 1.32 - // restore method's vtable by calling a virtual function 1.33 - m->restore_vtable(); 1.34 + m->restore_unshareable_info(CHECK); 1.35 } 1.36 if (JvmtiExport::has_redefined_a_class()) { 1.37 // Reinitialize vtable because RedefineClasses may have changed some