221 static address nof_megamorphic_calls_addr() { return (address)&_nof_megamorphic_calls; } |
221 static address nof_megamorphic_calls_addr() { return (address)&_nof_megamorphic_calls; } |
222 #endif // PRODUCT |
222 #endif // PRODUCT |
223 |
223 |
224 // Helper routine for full-speed JVMTI exception throwing support |
224 // Helper routine for full-speed JVMTI exception throwing support |
225 static void throw_and_post_jvmti_exception(JavaThread *thread, Handle h_exception); |
225 static void throw_and_post_jvmti_exception(JavaThread *thread, Handle h_exception); |
226 static void throw_and_post_jvmti_exception(JavaThread *thread, symbolOop name, const char *message = NULL); |
226 static void throw_and_post_jvmti_exception(JavaThread *thread, Symbol* name, const char *message = NULL); |
227 |
227 |
228 // RedefineClasses() tracing support for obsolete method entry |
228 // RedefineClasses() tracing support for obsolete method entry |
229 static int rc_trace_method_entry(JavaThread* thread, methodOopDesc* m); |
229 static int rc_trace_method_entry(JavaThread* thread, methodOopDesc* m); |
230 |
230 |
231 // To be used as the entry point for unresolved native methods. |
231 // To be used as the entry point for unresolved native methods. |
235 static intptr_t trace_bytecode(JavaThread* thread, intptr_t preserve_this_value, intptr_t tos, intptr_t tos2) PRODUCT_RETURN0; |
235 static intptr_t trace_bytecode(JavaThread* thread, intptr_t preserve_this_value, intptr_t tos, intptr_t tos2) PRODUCT_RETURN0; |
236 |
236 |
237 // Used to back off a spin lock that is under heavy contention |
237 // Used to back off a spin lock that is under heavy contention |
238 static void yield_all(JavaThread* thread, int attempts = 0); |
238 static void yield_all(JavaThread* thread, int attempts = 0); |
239 |
239 |
240 static oop retrieve_receiver( symbolHandle sig, frame caller ); |
240 static oop retrieve_receiver( Symbol* sig, frame caller ); |
241 |
241 |
242 static void register_finalizer(JavaThread* thread, oopDesc* obj); |
242 static void register_finalizer(JavaThread* thread, oopDesc* obj); |
243 |
243 |
244 // dtrace notifications |
244 // dtrace notifications |
245 static int dtrace_object_alloc(oopDesc* o); |
245 static int dtrace_object_alloc(oopDesc* o); |
415 // created. It's entire job is to simply free this storage. |
415 // created. It's entire job is to simply free this storage. |
416 static void OSR_migration_end ( intptr_t* buf); |
416 static void OSR_migration_end ( intptr_t* buf); |
417 |
417 |
418 // Convert a sig into a calling convention register layout |
418 // Convert a sig into a calling convention register layout |
419 // and find interesting things about it. |
419 // and find interesting things about it. |
420 static VMRegPair* find_callee_arguments(symbolOop sig, bool has_receiver, int *arg_size); |
420 static VMRegPair* find_callee_arguments(Symbol* sig, bool has_receiver, int *arg_size); |
421 static VMReg name_for_receiver(); |
421 static VMReg name_for_receiver(); |
422 |
422 |
423 // "Top of Stack" slots that may be unused by the calling convention but must |
423 // "Top of Stack" slots that may be unused by the calling convention but must |
424 // otherwise be preserved. |
424 // otherwise be preserved. |
425 // On Intel these are not necessary and the value can be zero. |
425 // On Intel these are not necessary and the value can be zero. |