Mercurial > hg > truffle
changeset 17118:be9c24f5fa2b
[SPARC] Remove unneccessary nops after calls
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Tue, 16 Sep 2014 17:49:43 -0700 |
parents | d980377abc6f |
children | 60844c15ab27 |
files | graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCall.java |
diffstat | 1 files changed, 3 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCall.java Tue Sep 16 17:49:13 2014 -0700 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCall.java Tue Sep 16 17:49:43 2014 -0700 @@ -32,7 +32,6 @@ import com.oracle.graal.asm.sparc.SPARCAssembler.Call; import com.oracle.graal.asm.sparc.SPARCAssembler.Jmpl; import com.oracle.graal.asm.sparc.SPARCMacroAssembler.Jmp; -import com.oracle.graal.asm.sparc.SPARCMacroAssembler.Nop; import com.oracle.graal.asm.sparc.SPARCMacroAssembler.Sethix; import com.oracle.graal.lir.*; import com.oracle.graal.lir.asm.*; @@ -160,30 +159,27 @@ } else { new Call(0).emit(masm); } - new Nop().emit(masm); // delay slot + masm.ensureUniquePC(); int after = masm.position(); crb.recordDirectCall(before, after, callTarget, info); crb.recordExceptionHandlers(after, info); - masm.ensureUniquePC(); } public static void indirectJmp(CompilationResultBuilder crb, SPARCMacroAssembler masm, Register dst, InvokeTarget target) { int before = masm.position(); new Sethix(0L, dst, true).emit(masm); new Jmp(new SPARCAddress(dst, 0)).emit(masm); - new Nop().emit(masm); // delay slot + masm.ensureUniquePC(); int after = masm.position(); crb.recordIndirectCall(before, after, target, null); - masm.ensureUniquePC(); } public static void indirectCall(CompilationResultBuilder crb, SPARCMacroAssembler masm, Register dst, InvokeTarget callTarget, LIRFrameState info) { int before = masm.position(); new Jmpl(dst, 0, o7).emit(masm); - new Nop().emit(masm); // delay slot + masm.ensureUniquePC(); int after = masm.position(); crb.recordIndirectCall(before, after, callTarget, info); crb.recordExceptionHandlers(after, info); - masm.ensureUniquePC(); } }