src/share/vm/classfile/systemDictionary.cpp

Print this page
rev 5685 : 8028128: Add a type safe alternative for working with counter based data
Reviewed-by:

*** 53,69 **** #include "runtime/javaCalls.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/signature.hpp" #include "services/classLoadingService.hpp" #include "services/threadService.hpp" #if INCLUDE_TRACE #include "trace/tracing.hpp" - #include "trace/traceMacros.hpp" #endif - Dictionary* SystemDictionary::_dictionary = NULL; PlaceholderTable* SystemDictionary::_placeholders = NULL; Dictionary* SystemDictionary::_shared_dictionary = NULL; LoaderConstraintTable* SystemDictionary::_loader_constraints = NULL; ResolutionErrorTable* SystemDictionary::_resolution_errors = NULL; --- 53,69 ---- #include "runtime/javaCalls.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/signature.hpp" #include "services/classLoadingService.hpp" #include "services/threadService.hpp" + #include "utilities/macros.hpp" + #include "utilities/ticks.hpp" #if INCLUDE_TRACE #include "trace/tracing.hpp" #endif Dictionary* SystemDictionary::_dictionary = NULL; PlaceholderTable* SystemDictionary::_placeholders = NULL; Dictionary* SystemDictionary::_shared_dictionary = NULL; LoaderConstraintTable* SystemDictionary::_loader_constraints = NULL; ResolutionErrorTable* SystemDictionary::_resolution_errors = NULL;
*** 596,606 **** Handle protection_domain, TRAPS) { assert(name != NULL && !FieldType::is_array(name) && !FieldType::is_obj(name), "invalid class name"); ! TracingTime class_load_start_time = Tracing::time(); // UseNewReflection // Fix for 4474172; see evaluation for more details class_loader = Handle(THREAD, java_lang_ClassLoader::non_reflection_class_loader(class_loader())); ClassLoaderData *loader_data = register_loader(class_loader, CHECK_NULL); --- 596,606 ---- Handle protection_domain, TRAPS) { assert(name != NULL && !FieldType::is_array(name) && !FieldType::is_obj(name), "invalid class name"); ! Ticks class_load_start_time = Ticks::now(); // UseNewReflection // Fix for 4474172; see evaluation for more details class_loader = Handle(THREAD, java_lang_ClassLoader::non_reflection_class_loader(class_loader())); ClassLoaderData *loader_data = register_loader(class_loader, CHECK_NULL);
*** 1004,1014 **** KlassHandle host_klass, GrowableArray<Handle>* cp_patches, TRAPS) { TempNewSymbol parsed_name = NULL; ! TracingTime class_load_start_time = Tracing::time(); ClassLoaderData* loader_data; if (host_klass.not_null()) { // Create a new CLD for anonymous class, that uses the same class loader // as the host_klass --- 1004,1014 ---- KlassHandle host_klass, GrowableArray<Handle>* cp_patches, TRAPS) { TempNewSymbol parsed_name = NULL; ! Ticks class_load_start_time = Ticks::now(); ClassLoaderData* loader_data; if (host_klass.not_null()) { // Create a new CLD for anonymous class, that uses the same class loader // as the host_klass
*** 2663,2679 **** guarantee(probe != NULL || name != NULL, "Loaded klasses should be in SystemDictionary"); } // utility function for class load event ! void SystemDictionary::post_class_load_event(TracingTime start_time, instanceKlassHandle k, Handle initiating_loader) { #if INCLUDE_TRACE EventClassLoad event(UNTIMED); if (event.should_commit()) { - event.set_endtime(Tracing::time()); event.set_starttime(start_time); event.set_loadedClass(k()); oop defining_class_loader = k->class_loader(); event.set_definingClassLoader(defining_class_loader != NULL ? defining_class_loader->klass() : (Klass*)NULL); --- 2663,2678 ---- guarantee(probe != NULL || name != NULL, "Loaded klasses should be in SystemDictionary"); } // utility function for class load event ! void SystemDictionary::post_class_load_event(const Ticks& start_time, instanceKlassHandle k, Handle initiating_loader) { #if INCLUDE_TRACE EventClassLoad event(UNTIMED); if (event.should_commit()) { event.set_starttime(start_time); event.set_loadedClass(k()); oop defining_class_loader = k->class_loader(); event.set_definingClassLoader(defining_class_loader != NULL ? defining_class_loader->klass() : (Klass*)NULL);