33 #include "oops/arrayOop.hpp"
34 #include "oops/methodData.hpp"
35 #include "oops/method.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "prims/jvmtiExport.hpp"
38 #include "prims/jvmtiThreadState.hpp"
39 #include "runtime/arguments.hpp"
40 #include "runtime/atomic.hpp"
41 #include "runtime/deoptimization.hpp"
42 #include "runtime/frame.inline.hpp"
43 #include "runtime/interfaceSupport.hpp"
44 #include "runtime/orderAccess.inline.hpp"
45 #include "runtime/sharedRuntime.hpp"
46 #include "runtime/stubRoutines.hpp"
47 #include "runtime/synchronizer.hpp"
48 #include "runtime/timer.hpp"
49 #include "runtime/vframeArray.hpp"
50 #include "stack_zero.inline.hpp"
51 #include "utilities/debug.hpp"
52 #include "utilities/macros.hpp"
53 #ifdef SHARK
54 #include "shark/shark_globals.hpp"
55 #endif
56
57 #ifdef CC_INTERP
58
59 #define fixup_after_potential_safepoint() \
60 method = istate->method()
61
62 #define CALL_VM_NOCHECK_NOFIX(func) \
63 thread->set_last_Java_frame(); \
64 func; \
65 thread->reset_last_Java_frame();
66
67 #define CALL_VM_NOCHECK(func) \
68 CALL_VM_NOCHECK_NOFIX(func) \
69 fixup_after_potential_safepoint()
70
71 int CppInterpreter::normal_entry(Method* method, intptr_t UNUSED, TRAPS) {
72 JavaThread *thread = (JavaThread *) THREAD;
73
74 // Allocate and initialize our frame.
75 InterpreterFrame *frame = InterpreterFrame::build(method, CHECK_0);
|
33 #include "oops/arrayOop.hpp"
34 #include "oops/methodData.hpp"
35 #include "oops/method.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "prims/jvmtiExport.hpp"
38 #include "prims/jvmtiThreadState.hpp"
39 #include "runtime/arguments.hpp"
40 #include "runtime/atomic.hpp"
41 #include "runtime/deoptimization.hpp"
42 #include "runtime/frame.inline.hpp"
43 #include "runtime/interfaceSupport.hpp"
44 #include "runtime/orderAccess.inline.hpp"
45 #include "runtime/sharedRuntime.hpp"
46 #include "runtime/stubRoutines.hpp"
47 #include "runtime/synchronizer.hpp"
48 #include "runtime/timer.hpp"
49 #include "runtime/vframeArray.hpp"
50 #include "stack_zero.inline.hpp"
51 #include "utilities/debug.hpp"
52 #include "utilities/macros.hpp"
53
54 #ifdef CC_INTERP
55
56 #define fixup_after_potential_safepoint() \
57 method = istate->method()
58
59 #define CALL_VM_NOCHECK_NOFIX(func) \
60 thread->set_last_Java_frame(); \
61 func; \
62 thread->reset_last_Java_frame();
63
64 #define CALL_VM_NOCHECK(func) \
65 CALL_VM_NOCHECK_NOFIX(func) \
66 fixup_after_potential_safepoint()
67
68 int CppInterpreter::normal_entry(Method* method, intptr_t UNUSED, TRAPS) {
69 JavaThread *thread = (JavaThread *) THREAD;
70
71 // Allocate and initialize our frame.
72 InterpreterFrame *frame = InterpreterFrame::build(method, CHECK_0);
|