31 #include "interpreter/bytecodeInterpreterProfiling.hpp" |
31 #include "interpreter/bytecodeInterpreterProfiling.hpp" |
32 #include "interpreter/interpreter.hpp" |
32 #include "interpreter/interpreter.hpp" |
33 #include "interpreter/interpreterRuntime.hpp" |
33 #include "interpreter/interpreterRuntime.hpp" |
34 #include "logging/log.hpp" |
34 #include "logging/log.hpp" |
35 #include "memory/resourceArea.hpp" |
35 #include "memory/resourceArea.hpp" |
|
36 #include "oops/constantPool.inline.hpp" |
|
37 #include "oops/cpCache.inline.hpp" |
36 #include "oops/method.inline.hpp" |
38 #include "oops/method.inline.hpp" |
37 #include "oops/methodCounters.hpp" |
39 #include "oops/methodCounters.hpp" |
38 #include "oops/objArrayKlass.hpp" |
40 #include "oops/objArrayKlass.hpp" |
39 #include "oops/objArrayOop.inline.hpp" |
41 #include "oops/objArrayOop.inline.hpp" |
40 #include "oops/oop.inline.hpp" |
42 #include "oops/oop.inline.hpp" |
|
43 #include "oops/typeArrayOop.inline.hpp" |
41 #include "prims/jvmtiExport.hpp" |
44 #include "prims/jvmtiExport.hpp" |
42 #include "prims/jvmtiThreadState.hpp" |
45 #include "prims/jvmtiThreadState.hpp" |
43 #include "runtime/atomic.hpp" |
46 #include "runtime/atomic.hpp" |
44 #include "runtime/biasedLocking.hpp" |
47 #include "runtime/biasedLocking.hpp" |
45 #include "runtime/frame.inline.hpp" |
48 #include "runtime/frame.inline.hpp" |
2822 // Prevent any subsequent HandleMarkCleaner in the VM |
2825 // Prevent any subsequent HandleMarkCleaner in the VM |
2823 // from freeing the except_oop handle. |
2826 // from freeing the except_oop handle. |
2824 HandleMark __hm(THREAD); |
2827 HandleMark __hm(THREAD); |
2825 |
2828 |
2826 THREAD->clear_pending_exception(); |
2829 THREAD->clear_pending_exception(); |
2827 assert(except_oop(), "No exception to process"); |
2830 assert(except_oop() != NULL, "No exception to process"); |
2828 intptr_t continuation_bci; |
2831 intptr_t continuation_bci; |
2829 // expression stack is emptied |
2832 // expression stack is emptied |
2830 topOfStack = istate->stack_base() - Interpreter::stackElementWords; |
2833 topOfStack = istate->stack_base() - Interpreter::stackElementWords; |
2831 CALL_VM(continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(THREAD, except_oop()), |
2834 CALL_VM(continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(THREAD, except_oop()), |
2832 handle_exception); |
2835 handle_exception); |