Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java @ 19684:00d7b0adaf66
[SPARC] Change ld/st ops of SPARC to functions
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Mon, 02 Mar 2015 18:44:14 +0100 |
parents | f1b4f2613702 |
children | 96ab2078eeaf |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Mon Mar 02 12:14:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Mon Mar 02 18:44:14 2015 +0100 @@ -38,8 +38,6 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.asm.*; import com.oracle.graal.asm.sparc.*; -import com.oracle.graal.asm.sparc.SPARCAssembler.Ldx; -import com.oracle.graal.asm.sparc.SPARCAssembler.Stx; import com.oracle.graal.asm.sparc.SPARCMacroAssembler.Setx; import com.oracle.graal.compiler.common.cfg.*; import com.oracle.graal.hotspot.*; @@ -113,12 +111,12 @@ // Use SPARCAddress to get the final displacement including the stack bias. SPARCAddress address = new SPARCAddress(sp, -disp); if (SPARCAssembler.isSimm13(address.getDisplacement())) { - new Stx(g0, address).emit(masm); + masm.stx(g0, address); } else { try (SPARCScratchRegister sc = SPARCScratchRegister.get()) { Register scratch = sc.getRegister(); new Setx(address.getDisplacement(), scratch).emit(masm); - new Stx(g0, new SPARCAddress(sp, scratch)).emit(masm); + masm.stx(g0, new SPARCAddress(sp, scratch)); } } } @@ -161,7 +159,7 @@ final int slotSize = 8; for (int i = 0; i < frameSize / slotSize; ++i) { // 0xC1C1C1C1 - new Stx(g0, new SPARCAddress(sp, i * slotSize)).emit(masm); + masm.stx(g0, new SPARCAddress(sp, i * slotSize)); } } } @@ -234,7 +232,7 @@ Register receiver = asRegister(cc.getArgument(0)); SPARCAddress src = new SPARCAddress(receiver, config.hubOffset); - new Ldx(src, scratch).emit(masm); + masm.ldx(src, scratch); masm.cmp(scratch, inlineCacheKlass); } masm.bpcc(NotEqual, NOT_ANNUL, unverifiedStub, Xcc, PREDICT_NOT_TAKEN);