160 // Popframe support (only needed on x86, AMD64 and ARM)
161 static void popframe_move_outgoing_args(JavaThread* thread, void* src_address, void* dest_address);
162 #endif
163
164 // Platform dependent stuff
165 #ifdef TARGET_ARCH_x86
166 # include "interpreterRT_x86.hpp"
167 #endif
168 #ifdef TARGET_ARCH_sparc
169 # include "interpreterRT_sparc.hpp"
170 #endif
171 #ifdef TARGET_ARCH_zero
172 # include "interpreterRT_zero.hpp"
173 #endif
174 #ifdef TARGET_ARCH_arm
175 # include "interpreterRT_arm.hpp"
176 #endif
177 #ifdef TARGET_ARCH_ppc
178 # include "interpreterRT_ppc.hpp"
179 #endif
180
181
182 // Interpreter's frequency counter overflow
183 static nmethod* frequency_counter_overflow(JavaThread* thread, address branch_bcp);
184
185 // Interpreter profiling support
186 static jint bcp_to_di(Method* method, address cur_bcp);
187 static void profile_method(JavaThread* thread);
188 static void update_mdp_for_ret(JavaThread* thread, int bci);
189 #ifdef ASSERT
190 static void verify_mdp(Method* method, address bcp, address mdp);
191 #endif // ASSERT
192 static MethodCounters* build_method_counters(JavaThread* thread, Method* m);
193 };
194
195
196 class SignatureHandlerLibrary: public AllStatic {
197 public:
198 enum { buffer_size = 1*K }; // the size of the temporary code buffer
199 enum { blob_size = 32*K }; // the size of a handler code blob.
|
160 // Popframe support (only needed on x86, AMD64 and ARM)
161 static void popframe_move_outgoing_args(JavaThread* thread, void* src_address, void* dest_address);
162 #endif
163
164 // Platform dependent stuff
165 #ifdef TARGET_ARCH_x86
166 # include "interpreterRT_x86.hpp"
167 #endif
168 #ifdef TARGET_ARCH_sparc
169 # include "interpreterRT_sparc.hpp"
170 #endif
171 #ifdef TARGET_ARCH_zero
172 # include "interpreterRT_zero.hpp"
173 #endif
174 #ifdef TARGET_ARCH_arm
175 # include "interpreterRT_arm.hpp"
176 #endif
177 #ifdef TARGET_ARCH_ppc
178 # include "interpreterRT_ppc.hpp"
179 #endif
180 #ifdef TARGET_ARCH_aarch64
181 # include "interpreterRT_aarch64.hpp"
182 #endif
183
184
185 // Interpreter's frequency counter overflow
186 static nmethod* frequency_counter_overflow(JavaThread* thread, address branch_bcp);
187
188 // Interpreter profiling support
189 static jint bcp_to_di(Method* method, address cur_bcp);
190 static void profile_method(JavaThread* thread);
191 static void update_mdp_for_ret(JavaThread* thread, int bci);
192 #ifdef ASSERT
193 static void verify_mdp(Method* method, address bcp, address mdp);
194 #endif // ASSERT
195 static MethodCounters* build_method_counters(JavaThread* thread, Method* m);
196 };
197
198
199 class SignatureHandlerLibrary: public AllStatic {
200 public:
201 enum { buffer_size = 1*K }; // the size of the temporary code buffer
202 enum { blob_size = 32*K }; // the size of a handler code blob.
|