diff src/share/vm/graal/graalCodeInstaller.cpp @ 3568:409ef3a68dc8

re-lock objects whose lock was removed by escape analysis, enable stack walking compilation policy (-XX:CompilationPolicyChoice=1)
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 01 Sep 2011 15:28:24 +0200
parents 8780fa370aab
children 076a2c9caf71
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp	Thu Sep 01 09:52:58 2011 +0200
+++ b/src/share/vm/graal/graalCodeInstaller.cpp	Thu Sep 01 15:28:24 2011 +0200
@@ -526,7 +526,8 @@
         LocationValue* loc = (LocationValue*)value;
         int monitor_offset = loc->location().stack_offset();
         LocationValue* obj = new LocationValue(Location::new_stk_loc(Location::oop, monitor_offset + BasicObjectLock::obj_offset_in_bytes()));
-        monitors->append(new MonitorValue(obj, Location::new_stk_loc(Location::normal, monitor_offset  + BasicObjectLock::lock_offset_in_bytes())));
+        bool eliminated = value->is_object();
+        monitors->append(new MonitorValue(obj, Location::new_stk_loc(Location::normal, monitor_offset  + BasicObjectLock::lock_offset_in_bytes()), eliminated));
       }
       if (second != NULL) {
         i++;