equal
deleted
inserted
replaced
653 event.commit(); |
653 event.commit(); |
654 } |
654 } |
655 #endif // INCLUDE_TRACE |
655 #endif // INCLUDE_TRACE |
656 } |
656 } |
657 |
657 |
|
658 // utility function for class define event |
|
659 static void class_define_event(instanceKlassHandle k) { |
|
660 #if INCLUDE_TRACE |
|
661 EventClassDefine event(UNTIMED); |
|
662 if (event.should_commit()) { |
|
663 event.set_definedClass(k()); |
|
664 oop defining_class_loader = k->class_loader(); |
|
665 event.set_definingClassLoader(defining_class_loader != NULL ? |
|
666 defining_class_loader->klass() : (Klass*)NULL); |
|
667 event.commit(); |
|
668 } |
|
669 #endif // INCLUDE_TRACE |
|
670 } |
|
671 |
|
672 |
658 Klass* SystemDictionary::resolve_instance_class_or_null(Symbol* name, |
673 Klass* SystemDictionary::resolve_instance_class_or_null(Symbol* name, |
659 Handle class_loader, |
674 Handle class_loader, |
660 Handle protection_domain, |
675 Handle protection_domain, |
661 TRAPS) { |
676 TRAPS) { |
662 assert(name != NULL && !FieldType::is_array(name) && |
677 assert(name != NULL && !FieldType::is_array(name) && |
1673 if (JvmtiExport::should_post_class_load()) { |
1688 if (JvmtiExport::should_post_class_load()) { |
1674 assert(THREAD->is_Java_thread(), "thread->is_Java_thread()"); |
1689 assert(THREAD->is_Java_thread(), "thread->is_Java_thread()"); |
1675 JvmtiExport::post_class_load((JavaThread *) THREAD, k()); |
1690 JvmtiExport::post_class_load((JavaThread *) THREAD, k()); |
1676 |
1691 |
1677 } |
1692 } |
1678 |
|
1679 TRACE_KLASS_DEFINITION(k, THREAD); |
1693 TRACE_KLASS_DEFINITION(k, THREAD); |
1680 |
1694 class_define_event(k); |
1681 } |
1695 } |
1682 |
1696 |
1683 // Support parallel classloading |
1697 // Support parallel classloading |
1684 // All parallel class loaders, including bootstrap classloader |
1698 // All parallel class loaders, including bootstrap classloader |
1685 // lock a placeholder entry for this class/class_loader pair |
1699 // lock a placeholder entry for this class/class_loader pair |