changeset 16663:4ccd6b6b6780

[SPARC] Putting safepoint to the right instruction in code.
author Stefan Anzinger <stefan.anzinger@gmail.com>
date Wed, 30 Jul 2014 14:49:41 -0700
parents e7b7a5be4d21
children 62f295bdea36
files graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotSafepointOp.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotSafepointOp.java	Wed Jul 30 10:39:39 2014 -0700
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotSafepointOp.java	Wed Jul 30 14:49:41 2014 -0700
@@ -62,12 +62,12 @@
     }
 
     public static void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm, HotSpotVMConfig config, boolean atReturn, LIRFrameState state, Register scratch) {
-        final int pos = masm.position();
         new Setx(config.safepointPollingAddress, scratch).emit(masm);
         MarkId.recordMark(crb, atReturn ? MarkId.POLL_RETURN_FAR : MarkId.POLL_FAR);
+        final int pos = masm.position();
+        new Ldx(new SPARCAddress(scratch, 0), g0).emit(masm);
         if (state != null) {
             crb.recordInfopoint(pos, state, InfopointReason.SAFEPOINT);
         }
-        new Ldx(new SPARCAddress(scratch, 0), g0).emit(masm);
     }
 }