232 // Helper routine for full-speed JVMTI exception throwing support |
232 // Helper routine for full-speed JVMTI exception throwing support |
233 static void throw_and_post_jvmti_exception(JavaThread *thread, Handle h_exception); |
233 static void throw_and_post_jvmti_exception(JavaThread *thread, Handle h_exception); |
234 static void throw_and_post_jvmti_exception(JavaThread *thread, Symbol* name, const char *message = NULL); |
234 static void throw_and_post_jvmti_exception(JavaThread *thread, Symbol* name, const char *message = NULL); |
235 |
235 |
236 // RedefineClasses() tracing support for obsolete method entry |
236 // RedefineClasses() tracing support for obsolete method entry |
237 static int rc_trace_method_entry(JavaThread* thread, methodOopDesc* m); |
237 static int rc_trace_method_entry(JavaThread* thread, Method* m); |
238 |
238 |
239 // To be used as the entry point for unresolved native methods. |
239 // To be used as the entry point for unresolved native methods. |
240 static address native_method_throw_unsatisfied_link_error_entry(); |
240 static address native_method_throw_unsatisfied_link_error_entry(); |
241 static address native_method_throw_unsupported_operation_exception_entry(); |
241 static address native_method_throw_unsupported_operation_exception_entry(); |
242 |
242 |
251 static void register_finalizer(JavaThread* thread, oopDesc* obj); |
251 static void register_finalizer(JavaThread* thread, oopDesc* obj); |
252 |
252 |
253 // dtrace notifications |
253 // dtrace notifications |
254 static int dtrace_object_alloc(oopDesc* o); |
254 static int dtrace_object_alloc(oopDesc* o); |
255 static int dtrace_object_alloc_base(Thread* thread, oopDesc* o); |
255 static int dtrace_object_alloc_base(Thread* thread, oopDesc* o); |
256 static int dtrace_method_entry(JavaThread* thread, methodOopDesc* m); |
256 static int dtrace_method_entry(JavaThread* thread, Method* m); |
257 static int dtrace_method_exit(JavaThread* thread, methodOopDesc* m); |
257 static int dtrace_method_exit(JavaThread* thread, Method* m); |
258 |
258 |
259 // Utility method for retrieving the Java thread id, returns 0 if the |
259 // Utility method for retrieving the Java thread id, returns 0 if the |
260 // thread is not a well formed Java thread. |
260 // thread is not a well formed Java thread. |
261 static jlong get_java_tid(Thread* thread); |
261 static jlong get_java_tid(Thread* thread); |
262 |
262 |
450 static void get_utf(oopDesc* src, address dst); |
450 static void get_utf(oopDesc* src, address dst); |
451 #endif // def HAVE_DTRACE_H |
451 #endif // def HAVE_DTRACE_H |
452 |
452 |
453 // A compiled caller has just called the interpreter, but compiled code |
453 // A compiled caller has just called the interpreter, but compiled code |
454 // exists. Patch the caller so he no longer calls into the interpreter. |
454 // exists. Patch the caller so he no longer calls into the interpreter. |
455 static void fixup_callers_callsite(methodOopDesc* moop, address ret_pc); |
455 static void fixup_callers_callsite(Method* moop, address ret_pc); |
456 |
456 |
457 // Slow-path Locking and Unlocking |
457 // Slow-path Locking and Unlocking |
458 static void complete_monitor_locking_C(oopDesc* obj, BasicLock* lock, JavaThread* thread); |
458 static void complete_monitor_locking_C(oopDesc* obj, BasicLock* lock, JavaThread* thread); |
459 static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock); |
459 static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock); |
460 |
460 |