src/share/vm/classfile/systemDictionary.cpp

changeset 9892
9a4141de094d
parent 9886
986b79fabfa0
child 9931
fd44df5e3bc3
child 9966
baf9f57c9b46
     1.1 --- a/src/share/vm/classfile/systemDictionary.cpp	Tue Feb 04 11:16:27 2020 +0800
     1.2 +++ b/src/share/vm/classfile/systemDictionary.cpp	Fri Feb 14 17:13:16 2020 +0100
     1.3 @@ -617,7 +617,7 @@
     1.4                                      (ClassLoaderData*)NULL);
     1.5      event.commit();
     1.6    }
     1.7 -#endif // INCLUDE_JFR
     1.8 +#endif
     1.9  }
    1.10  
    1.11  Klass* SystemDictionary::resolve_instance_class_or_null(Symbol* name,
    1.12 @@ -1337,24 +1337,23 @@
    1.13      if (!k.is_null()) {
    1.14        k = find_or_define_instance_class(class_name, class_loader, k, CHECK_(nh));
    1.15      }
    1.16 +
    1.17  #if INCLUDE_JFR
    1.18 -    else {
    1.19 +    if (k.is_null() && (class_name == jfr_event_handler_proxy)) {
    1.20        assert(jfr_event_handler_proxy != NULL, "invariant");
    1.21 -      if (class_name == jfr_event_handler_proxy) {
    1.22 -        // EventHandlerProxy class is generated dynamically in
    1.23 -        // EventHandlerProxyCreator::makeEventHandlerProxyClass
    1.24 -        // method, so we generate a Java call from here.
    1.25 -        //
    1.26 -        // EventHandlerProxy class will finally be defined in
    1.27 -        // SystemDictionary::resolve_from_stream method, down
    1.28 -        // the call stack. Bootstrap classloader is parallel-capable,
    1.29 -        // so no concurrency issues are expected.
    1.30 -        CLEAR_PENDING_EXCEPTION;
    1.31 -        k = JfrUpcalls::load_event_handler_proxy_class(THREAD);
    1.32 -        assert(!k.is_null(), "invariant");
    1.33 -      }
    1.34 +      // EventHandlerProxy class is generated dynamically in
    1.35 +      // EventHandlerProxyCreator::makeEventHandlerProxyClass
    1.36 +      // method, so we generate a Java call from here.
    1.37 +      //
    1.38 +      // EventHandlerProxy class will finally be defined in
    1.39 +      // SystemDictionary::resolve_from_stream method, down
    1.40 +      // the call stack. Bootstrap classloader is parallel-capable,
    1.41 +      // so no concurrency issues are expected.
    1.42 +      CLEAR_PENDING_EXCEPTION;
    1.43 +      k = JfrUpcalls::load_event_handler_proxy_class(THREAD);
    1.44 +      assert(!k.is_null(), "invariant");
    1.45      }
    1.46 -#endif // INCLUDE_JFR
    1.47 +#endif
    1.48  
    1.49      return k;
    1.50    } else {

mercurial