changeset 22050:5352b2437a2d

[SPARC] Rescue CompilationResult.hasUnsafeAccess between to assembly passes.
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Mon, 22 Jun 2015 10:58:49 +0200
parents 3fb4fc15f529
children 3c5fab38bef0
files graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java	Mon Jun 22 09:57:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java	Mon Jun 22 10:58:49 2015 +0200
@@ -211,7 +211,7 @@
         RegisterConfig regConfig = frameMap.getRegisterConfig();
         HotSpotVMConfig config = getRuntime().getConfig();
         Label unverifiedStub = installedCodeOwner == null || installedCodeOwner.isStatic() ? null : new Label();
-
+        boolean hasUnsafeAccess = crb.compilationResult.hasUnsafeAccess();
         int i = 0;
         do {
             if (i > 0) {
@@ -246,7 +246,8 @@
             // Emit code for the LIR
             crb.emit(lir);
         } while (i++ < 1);
-
+        // Restore the unsafeAccess flag
+        crb.compilationResult.setHasUnsafeAccess(hasUnsafeAccess);
         profileInstructions(lir, crb);
 
         HotSpotFrameContext frameContext = (HotSpotFrameContext) crb.frameContext;