提交 9fd27380 编写于 作者: R rwestberg

8041626: Shutdown tracing event

Reviewed-by: dholmes, alanb, rriggs
上级 06c41673
......@@ -39,6 +39,7 @@ SUNWprivate_1.1 {
JVM_ArrayCopy;
JVM_AssertionStatusDirectives;
JVM_Available;
JVM_BeforeHalt;
JVM_Bind;
JVM_ClassDepth;
JVM_ClassLoaderDepth;
......
......@@ -39,6 +39,7 @@ SUNWprivate_1.1 {
JVM_ArrayCopy;
JVM_AssertionStatusDirectives;
JVM_Available;
JVM_BeforeHalt;
JVM_Bind;
JVM_ClassDepth;
JVM_ClassLoaderDepth;
......
......@@ -37,6 +37,7 @@
_JVM_ArrayCopy
_JVM_AssertionStatusDirectives
_JVM_Available
_JVM_BeforeHalt
_JVM_Bind
_JVM_ClassDepth
_JVM_ClassLoaderDepth
......
......@@ -37,6 +37,7 @@
_JVM_ArrayCopy
_JVM_AssertionStatusDirectives
_JVM_Available
_JVM_BeforeHalt
_JVM_Bind
_JVM_ClassDepth
_JVM_ClassLoaderDepth
......
......@@ -39,6 +39,7 @@ SUNWprivate_1.1 {
JVM_ArrayCopy;
JVM_AssertionStatusDirectives;
JVM_Available;
JVM_BeforeHalt;
JVM_Bind;
JVM_ClassDepth;
JVM_ClassLoaderDepth;
......
......@@ -39,6 +39,7 @@ SUNWprivate_1.1 {
JVM_ArrayCopy;
JVM_AssertionStatusDirectives;
JVM_Available;
JVM_BeforeHalt;
JVM_Bind;
JVM_ClassDepth;
JVM_ClassLoaderDepth;
......
......@@ -39,6 +39,7 @@ SUNWprivate_1.1 {
JVM_ArrayCopy;
JVM_AssertionStatusDirectives;
JVM_Available;
JVM_BeforeHalt;
JVM_Bind;
JVM_ClassDepth;
JVM_ClassLoaderDepth;
......
......@@ -443,6 +443,16 @@ JVM_ENTRY_NO_ENV(void, JVM_Exit(jint code))
JVM_END
JVM_ENTRY_NO_ENV(void, JVM_BeforeHalt())
JVMWrapper("JVM_BeforeHalt");
EventShutdown event;
if (event.should_commit()) {
event.set_reason("Shutdown requested from Java");
event.commit();
}
JVM_END
JVM_ENTRY_NO_ENV(void, JVM_Halt(jint code))
before_exit(thread);
vm_exit(code);
......
......@@ -158,6 +158,9 @@ JVM_CopySwapMemory(JNIEnv *env, jobject srcObj, jlong srcOffset,
JNIEXPORT void JNICALL
JVM_Exit(jint code);
JNIEXPORT void JNICALL
JVM_BeforeHalt();
JNIEXPORT void JNICALL
JVM_Halt(jint code);
......
......@@ -4012,6 +4012,12 @@ bool Threads::destroy_vm() {
Mutex::_as_suspend_equivalent_flag);
}
EventShutdown e;
if (e.should_commit()) {
e.set_reason("No remaining non-daemon Java threads");
e.commit();
}
// Hang forever on exit if we are reporting an error.
if (ShowMessageBoxOnError && is_error_reported()) {
os::infinite_sleep();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册