diff src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 612:afa80fa86d22

Merge
author dcubed
date Mon, 02 Mar 2009 14:43:36 -0700
parents c9004fe53695 70998f2e05ef
children 3db67f76d308
line wrap: on
line diff
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Sun Feb 22 17:21:13 2009 -0800
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Mon Mar 02 14:43:36 2009 -0700
@@ -1508,6 +1508,17 @@
     restore_args(masm, total_c_args, c_arg, out_regs);
   }
 
+  // RedefineClasses() tracing support for obsolete method entry
+  if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) {
+    // protect the args we've loaded
+    save_args(masm, total_c_args, c_arg, out_regs);
+    __ movoop(c_rarg1, JNIHandles::make_local(method()));
+    __ call_VM_leaf(
+      CAST_FROM_FN_PTR(address, SharedRuntime::rc_trace_method_entry),
+      r15_thread, c_rarg1);
+    restore_args(masm, total_c_args, c_arg, out_regs);
+  }
+
   // Lock a synchronized method
 
   // Register definitions used by locking and unlocking