19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
|
24 |
|
25 #ifndef SHARE_VM_INTERPRETER_INTERPRETERRUNTIME_HPP |
|
26 #define SHARE_VM_INTERPRETER_INTERPRETERRUNTIME_HPP |
|
27 |
|
28 #include "interpreter/bytecode.hpp" |
|
29 #include "interpreter/linkResolver.hpp" |
|
30 #include "memory/universe.hpp" |
|
31 #include "oops/methodOop.hpp" |
|
32 #include "runtime/frame.inline.hpp" |
|
33 #include "runtime/signature.hpp" |
|
34 #include "utilities/top.hpp" |
|
35 #ifdef TARGET_OS_FAMILY_linux |
|
36 # include "thread_linux.inline.hpp" |
|
37 #endif |
|
38 #ifdef TARGET_OS_FAMILY_solaris |
|
39 # include "thread_solaris.inline.hpp" |
|
40 #endif |
|
41 #ifdef TARGET_OS_FAMILY_windows |
|
42 # include "thread_windows.inline.hpp" |
|
43 #endif |
24 |
44 |
25 // The InterpreterRuntime is called by the interpreter for everything |
45 // The InterpreterRuntime is called by the interpreter for everything |
26 // that cannot/should not be dealt with in assembly and needs C support. |
46 // that cannot/should not be dealt with in assembly and needs C support. |
27 |
47 |
28 class InterpreterRuntime: AllStatic { |
48 class InterpreterRuntime: AllStatic { |
126 // Popframe support (only needed on x86 and AMD64) |
146 // Popframe support (only needed on x86 and AMD64) |
127 static void popframe_move_outgoing_args(JavaThread* thread, void* src_address, void* dest_address); |
147 static void popframe_move_outgoing_args(JavaThread* thread, void* src_address, void* dest_address); |
128 #endif |
148 #endif |
129 |
149 |
130 // Platform dependent stuff |
150 // Platform dependent stuff |
131 #include "incls/_interpreterRT_pd.hpp.incl" |
151 #ifdef TARGET_ARCH_x86 |
|
152 # include "interpreterRT_x86.hpp" |
|
153 #endif |
|
154 #ifdef TARGET_ARCH_sparc |
|
155 # include "interpreterRT_sparc.hpp" |
|
156 #endif |
|
157 #ifdef TARGET_ARCH_zero |
|
158 # include "interpreterRT_zero.hpp" |
|
159 #endif |
|
160 |
132 |
161 |
133 // Interpreter's frequency counter overflow |
162 // Interpreter's frequency counter overflow |
134 static nmethod* frequency_counter_overflow(JavaThread* thread, address branch_bcp); |
163 static nmethod* frequency_counter_overflow(JavaThread* thread, address branch_bcp); |
135 |
164 |
136 // Interpreter profiling support |
165 // Interpreter profiling support |