src/share/vm/oops/instanceKlass.cpp

changeset 6626
9428a0b94204
parent 6518
62c54fcc0a35
child 6632
386dd1c71858
     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

mercurial