comparison src/share/vm/runtime/sharedRuntime.hpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents 93c71eb28866
children 2cb2f30450c7
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
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