Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/java.cpp @ 2925:b78b4ae0757c
Also call Compiler shutdown hook in case of System.exit call. Draft VMExits.Sandbox class.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Thu, 09 Jun 2011 14:42:24 +0200 |
parents | 23ae54207126 |
children | 1e13559b112d |
comparison
equal
deleted
inserted
replaced
2924:9d4e5b492521 | 2925:b78b4ae0757c |
---|---|
28 #include "classfile/systemDictionary.hpp" | 28 #include "classfile/systemDictionary.hpp" |
29 #include "code/codeCache.hpp" | 29 #include "code/codeCache.hpp" |
30 #include "compiler/compileBroker.hpp" | 30 #include "compiler/compileBroker.hpp" |
31 #include "compiler/compilerOracle.hpp" | 31 #include "compiler/compilerOracle.hpp" |
32 #include "interpreter/bytecodeHistogram.hpp" | 32 #include "interpreter/bytecodeHistogram.hpp" |
33 #include "graal/graalCompiler.hpp" | |
33 #include "memory/genCollectedHeap.hpp" | 34 #include "memory/genCollectedHeap.hpp" |
34 #include "memory/oopFactory.hpp" | 35 #include "memory/oopFactory.hpp" |
35 #include "memory/universe.hpp" | 36 #include "memory/universe.hpp" |
36 #include "oops/constantPoolOop.hpp" | 37 #include "oops/constantPoolOop.hpp" |
37 #include "oops/generateOopMap.hpp" | 38 #include "oops/generateOopMap.hpp" |
416 #define BEFORE_EXIT_NOT_RUN 0 | 417 #define BEFORE_EXIT_NOT_RUN 0 |
417 #define BEFORE_EXIT_RUNNING 1 | 418 #define BEFORE_EXIT_RUNNING 1 |
418 #define BEFORE_EXIT_DONE 2 | 419 #define BEFORE_EXIT_DONE 2 |
419 static jint volatile _before_exit_status = BEFORE_EXIT_NOT_RUN; | 420 static jint volatile _before_exit_status = BEFORE_EXIT_NOT_RUN; |
420 | 421 |
422 if (UseGraal) { | |
423 GraalCompiler::instance()->exit(); | |
424 } | |
425 | |
421 // Note: don't use a Mutex to guard the entire before_exit(), as | 426 // Note: don't use a Mutex to guard the entire before_exit(), as |
422 // JVMTI post_thread_end_event and post_vm_death_event will run native code. | 427 // JVMTI post_thread_end_event and post_vm_death_event will run native code. |
423 // A CAS or OSMutex would work just fine but then we need to manipulate | 428 // A CAS or OSMutex would work just fine but then we need to manipulate |
424 // thread state for Safepoint. Here we use Monitor wait() and notify_all() | 429 // thread state for Safepoint. Here we use Monitor wait() and notify_all() |
425 // for synchronization. | 430 // for synchronization. |