equal
deleted
inserted
replaced
72 #include "runtime/signature.hpp" |
72 #include "runtime/signature.hpp" |
73 #include "runtime/thread.inline.hpp" |
73 #include "runtime/thread.inline.hpp" |
74 #include "runtime/vm_operations.hpp" |
74 #include "runtime/vm_operations.hpp" |
75 #include "services/runtimeService.hpp" |
75 #include "services/runtimeService.hpp" |
76 #include "trace/tracing.hpp" |
76 #include "trace/tracing.hpp" |
77 #include "trace/traceEventTypes.hpp" |
|
78 #include "utilities/defaultStream.hpp" |
77 #include "utilities/defaultStream.hpp" |
79 #include "utilities/dtrace.hpp" |
78 #include "utilities/dtrace.hpp" |
80 #include "utilities/events.hpp" |
79 #include "utilities/events.hpp" |
81 #include "utilities/histogram.hpp" |
80 #include "utilities/histogram.hpp" |
82 #ifdef TARGET_OS_FAMILY_linux |
81 #ifdef TARGET_OS_FAMILY_linux |
5012 return ret; |
5011 return ret; |
5013 } |
5012 } |
5014 |
5013 |
5015 #ifndef PRODUCT |
5014 #ifndef PRODUCT |
5016 |
5015 |
|
5016 #include "gc_implementation/shared/gcTimer.hpp" |
5017 #include "gc_interface/collectedHeap.hpp" |
5017 #include "gc_interface/collectedHeap.hpp" |
5018 #if INCLUDE_ALL_GCS |
5018 #if INCLUDE_ALL_GCS |
5019 #include "gc_implementation/g1/heapRegionRemSet.hpp" |
5019 #include "gc_implementation/g1/heapRegionRemSet.hpp" |
5020 #endif |
5020 #endif |
5021 #include "utilities/quickSort.hpp" |
5021 #include "utilities/quickSort.hpp" |
5029 |
5029 |
5030 void execute_internal_vm_tests() { |
5030 void execute_internal_vm_tests() { |
5031 if (ExecuteInternalVMTests) { |
5031 if (ExecuteInternalVMTests) { |
5032 tty->print_cr("Running internal VM tests"); |
5032 tty->print_cr("Running internal VM tests"); |
5033 run_unit_test(GlobalDefinitions::test_globals()); |
5033 run_unit_test(GlobalDefinitions::test_globals()); |
|
5034 run_unit_test(GCTimerAllTest::all()); |
5034 run_unit_test(arrayOopDesc::test_max_array_length()); |
5035 run_unit_test(arrayOopDesc::test_max_array_length()); |
5035 run_unit_test(CollectedHeap::test_is_in()); |
5036 run_unit_test(CollectedHeap::test_is_in()); |
5036 run_unit_test(QuickSort::test_quick_sort()); |
5037 run_unit_test(QuickSort::test_quick_sort()); |
5037 run_unit_test(AltHashing::test_alt_hash()); |
5038 run_unit_test(AltHashing::test_alt_hash()); |
5038 #if INCLUDE_VM_STRUCTS |
5039 #if INCLUDE_VM_STRUCTS |
5129 // Notify JVMTI |
5130 // Notify JVMTI |
5130 if (JvmtiExport::should_post_thread_life()) { |
5131 if (JvmtiExport::should_post_thread_life()) { |
5131 JvmtiExport::post_thread_start(thread); |
5132 JvmtiExport::post_thread_start(thread); |
5132 } |
5133 } |
5133 |
5134 |
5134 EVENT_BEGIN(TraceEventThreadStart, event); |
5135 EventThreadStart event; |
5135 EVENT_COMMIT(event, |
5136 if (event.should_commit()) { |
5136 EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(thread->threadObj()))); |
5137 event.set_javalangthread(java_lang_Thread::thread_id(thread->threadObj())); |
|
5138 event.commit(); |
|
5139 } |
5137 |
5140 |
5138 // Check if we should compile all classes on bootclasspath |
5141 // Check if we should compile all classes on bootclasspath |
5139 NOT_PRODUCT(if (CompileTheWorld) ClassLoader::compile_the_world();) |
5142 NOT_PRODUCT(if (CompileTheWorld) ClassLoader::compile_the_world();) |
5140 NOT_PRODUCT(if (ReplayCompiles) ciReplay::replay(thread);) |
5143 NOT_PRODUCT(if (ReplayCompiles) ciReplay::replay(thread);) |
5141 // Since this is not a JVM_ENTRY we have to set the thread state manually before leaving. |
5144 // Since this is not a JVM_ENTRY we have to set the thread state manually before leaving. |
5332 // Notify the debugger |
5335 // Notify the debugger |
5333 if (JvmtiExport::should_post_thread_life()) { |
5336 if (JvmtiExport::should_post_thread_life()) { |
5334 JvmtiExport::post_thread_start(thread); |
5337 JvmtiExport::post_thread_start(thread); |
5335 } |
5338 } |
5336 |
5339 |
5337 EVENT_BEGIN(TraceEventThreadStart, event); |
5340 EventThreadStart event; |
5338 EVENT_COMMIT(event, |
5341 if (event.should_commit()) { |
5339 EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(thread->threadObj()))); |
5342 event.set_javalangthread(java_lang_Thread::thread_id(thread->threadObj())); |
|
5343 event.commit(); |
|
5344 } |
5340 |
5345 |
5341 *(JNIEnv**)penv = thread->jni_environment(); |
5346 *(JNIEnv**)penv = thread->jni_environment(); |
5342 |
5347 |
5343 // Now leaving the VM, so change thread_state. This is normally automatically taken care |
5348 // Now leaving the VM, so change thread_state. This is normally automatically taken care |
5344 // of in the JVM_ENTRY. But in this situation we have to do it manually. Notice, that by |
5349 // of in the JVM_ENTRY. But in this situation we have to do it manually. Notice, that by |