changeset 12415:083e90f11c93

Merge
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Tue, 15 Oct 2013 02:07:33 +0200
parents 98031e66de15 (diff) edacadae40a0 (current diff)
children 9ad59f7fd57e 808348377021
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/FrameAccessNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/FrameGetNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/FrameSetNode.java
diffstat 3 files changed, 15 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeLoadSnippets.java	Tue Oct 15 01:11:02 2013 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeLoadSnippets.java	Tue Oct 15 02:07:33 2013 +0200
@@ -40,12 +40,12 @@
 public class UnsafeLoadSnippets implements Snippets {
 
     @Snippet
-    public static Object lowerUnsafeLoad(Object object, long displacement) {
+    public static Object lowerUnsafeLoad(Object object, long offset) {
         Object fixedObject = FixedValueAnchorNode.getObject(object);
-        if (object instanceof java.lang.ref.Reference && referentOffset() == displacement) {
-            return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.PRECISE, true);
+        if (object instanceof java.lang.ref.Reference && referentOffset() == offset) {
+            return Word.fromObject(fixedObject).readObject((int) offset, BarrierType.PRECISE, true);
         } else {
-            return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.NONE, true);
+            return Word.fromObject(fixedObject).readObject((int) offset, BarrierType.NONE, true);
         }
     }
 
--- a/mx/commands.py	Tue Oct 15 01:11:02 2013 +0200
+++ b/mx/commands.py	Tue Oct 15 02:07:33 2013 +0200
@@ -955,12 +955,11 @@
         vm(['-XX:+UnlockDiagnosticVMOptions', '-XX:+VerifyBeforeGC', '-XX:+VerifyAfterGC', '-version'], out=out)
         tasks.append(t.stop())
 
-    # temporarily disable G1 verification until merge issues are resolved
-    # with VM('graal', 'product'):
-    #     t = Task('BootstrapWithG1GCVerification:product')
-    #     out = mx.DuplicateSuppressingStream(['VerifyAfterGC:', 'VerifyBeforeGC:']).write
-    #     vm(['-XX:+UnlockDiagnosticVMOptions', '-XX:-UseSerialGC', '-XX:+UseG1GC', '-XX:+UseNewCode', '-XX:+VerifyBeforeGC', '-XX:+VerifyAfterGC', '-version'], out=out)
-    #     tasks.append(t.stop())
+    with VM('graal', 'product'):
+        t = Task('BootstrapWithG1GCVerification:product')
+        out = mx.DuplicateSuppressingStream(['VerifyAfterGC:', 'VerifyBeforeGC:']).write
+        vm(['-XX:+UnlockDiagnosticVMOptions', '-XX:-UseSerialGC', '-XX:+UseG1GC', '-XX:+UseNewCode', '-XX:+VerifyBeforeGC', '-XX:+VerifyAfterGC', '-version'], out=out)
+        tasks.append(t.stop())
 
     with VM('graal', 'product'):
         t = Task('BootstrapWithRegisterPressure:product')
--- a/src/share/vm/code/nmethod.cpp	Tue Oct 15 01:11:02 2013 +0200
+++ b/src/share/vm/code/nmethod.cpp	Tue Oct 15 02:07:33 2013 +0200
@@ -1405,13 +1405,6 @@
     // cache call.
     if (!is_osr_method() && !is_not_entrant()) {
       address stub = SharedRuntime::get_handle_wrong_method_stub();
-#ifdef GRAAL
-      if (_graal_installed_code != NULL) {
-        // Break the link between nmethod and HotSpotInstalledCode such that the nmethod can subsequently be flushed safely.
-        HotSpotInstalledCode::set_codeBlob(_graal_installed_code, 0);
-        _graal_installed_code = NULL;
-      }
-#endif
       NativeJump::patch_verified_entry(entry_point(), verified_entry_point(), stub);
     }
 
@@ -1491,6 +1484,12 @@
   } else {
     assert(state == not_entrant, "other cases may need to be handled differently");
   }
+#ifdef GRAAL
+      if (_graal_installed_code != NULL) {
+        // Break the link between nmethod and HotSpotInstalledCode such that the nmethod can subsequently be flushed safely.
+        HotSpotInstalledCode::set_codeBlob(_graal_installed_code, 0);
+      }
+#endif
 
   if (TraceCreateZombies) {
     ResourceMark m;