changeset 10560:0b1b5356b566

Fixed issues around execute compiled code stub. Made TraceDeoptimization a product flag.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 27 Jun 2013 21:20:07 +0200
parents ea02ae30c97c
children 60ce5bd6e104
files src/cpu/x86/vm/sharedRuntime_x86_64.cpp src/share/vm/code/nmethod.cpp src/share/vm/runtime/globals.hpp
diffstat 3 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Jun 27 15:14:29 2013 +0200
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Jun 27 21:20:07 2013 +0200
@@ -1680,15 +1680,15 @@
     // fourth argument (j_rarg3) is a pointer to the HotSpotInstalledCode object.
 
     // Load the nmethod pointer from the HotSpotInstalledCode object
-    __ movq(j_rarg3, Address(j_rarg3, sizeof(oopDesc)));
+    __ movq(j_rarg4, Address(j_rarg3, sizeof(oopDesc)));
 
     // Check whether the nmethod was invalidated
-    __ testq(j_rarg3, j_rarg3);
+    __ testq(j_rarg4, j_rarg4);
     Label invalid_nmethod;
     __ jcc(Assembler::zero, invalid_nmethod);
 
     // Perform a tail call to the verified entry point of the nmethod.
-    __ jmp(Address(j_rarg3, nmethod::verified_entry_point_offset()));
+    __ jmp(Address(j_rarg4, nmethod::verified_entry_point_offset()));
 
     __ bind(invalid_nmethod);
 
--- a/src/share/vm/code/nmethod.cpp	Thu Jun 27 15:14:29 2013 +0200
+++ b/src/share/vm/code/nmethod.cpp	Thu Jun 27 21:20:07 2013 +0200
@@ -1307,6 +1307,7 @@
   // Java wrapper is no longer alive. Here we need to clear out this weak
   // reference to the dead object.
   if (_graal_installed_code != NULL) {
+    HotSpotInstalledCode::set_codeBlob(_graal_installed_code, 0);
     _graal_installed_code = NULL;
   }
 #endif
--- a/src/share/vm/runtime/globals.hpp	Thu Jun 27 15:14:29 2013 +0200
+++ b/src/share/vm/runtime/globals.hpp	Thu Jun 27 21:20:07 2013 +0200
@@ -1251,7 +1251,7 @@
   develop(bool, TraceClassInitialization, false,                            \
           "Trace class initialization")                                     \
                                                                             \
-  develop(bool, TraceExceptions, false,                                     \
+  product(bool, TraceExceptions, false,                                     \
           "Trace exceptions")                                               \
                                                                             \
   develop(bool, TraceICs, false,                                            \