changeset 21487:6b59a0656841

[SPARC] Make Membar delayable
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Fri, 22 May 2015 11:52:28 +0200
parents 95647f646143
children 6420ac0cbe3c
files graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java	Fri May 22 11:41:03 2015 +0200
+++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java	Fri May 22 11:52:28 2015 +0200
@@ -402,7 +402,7 @@
         }
     }
 
-    public static final class MembarOp extends SPARCLIRInstruction {
+    public static final class MembarOp extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction {
         public static final LIRInstructionClass<MembarOp> TYPE = LIRInstructionClass.create(MembarOp.class);
 
         private final int barriers;
@@ -414,6 +414,7 @@
 
         @Override
         public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) {
+            delayedControlTransfer.emitControlTransfer(crb, masm);
             masm.membar(barriers);
         }
     }