# HG changeset patch # User twisti # Date 1371841119 25200 # Node ID 53ba9df05fa2cd457b6397fb04c3ebe796102e1f # Parent c43c4938e353abf1b7c1f1522794dbbc4c32b716 fixed remaining SPARC warnings using ecj diff -r c43c4938e353 -r 53ba9df05fa2 graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Fri Jun 21 11:38:47 2013 -0700 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Fri Jun 21 11:58:39 2013 -0700 @@ -37,11 +37,9 @@ import com.oracle.graal.api.code.StackSlot; import com.oracle.graal.api.code.TargetDescription; import com.oracle.graal.api.meta.*; -import com.oracle.graal.asm.NumUtil; import com.oracle.graal.asm.sparc.*; import com.oracle.graal.compiler.gen.LIRGenerator; import com.oracle.graal.compiler.target.LIRGenLowerable; -import com.oracle.graal.debug.*; import com.oracle.graal.graph.GraalInternalError; import com.oracle.graal.lir.*; import com.oracle.graal.lir.StandardOp.*; diff -r c43c4938e353 -r 53ba9df05fa2 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Fri Jun 21 11:38:47 2013 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Fri Jun 21 11:58:39 2013 -0700 @@ -35,12 +35,10 @@ import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.stubs.Stub; import com.oracle.graal.lir.*; -import com.oracle.graal.lir.sparc.*; import com.oracle.graal.lir.asm.*; import com.oracle.graal.nodes.*; import static com.oracle.graal.sparc.SPARC.*; -import static com.oracle.graal.asm.sparc.SPARCAssembler.*; import static com.oracle.graal.asm.sparc.SPARCMacroAssembler.*; import static com.oracle.graal.api.code.CallingConvention.Type.*; import static com.oracle.graal.api.code.ValueUtil.*; @@ -71,16 +69,16 @@ */ protected static void emitStackOverflowCheck(TargetMethodAssembler tasm, boolean afterFrameInit) { if (StackShadowPages.getValue() > 0) { - SPARCMacroAssembler masm = (SPARCMacroAssembler) tasm.asm; + // SPARCMacroAssembler masm = (SPARCMacroAssembler) tasm.asm; final int frameSize = tasm.frameMap.frameSize(); if (frameSize > 0) { int lastFramePage = frameSize / unsafe.pageSize(); // emit multiple stack bangs for methods with frames larger than a page for (int i = 0; i <= lastFramePage; i++) { - int disp = (i + StackShadowPages.getValue()) * unsafe.pageSize(); - if (afterFrameInit) { - disp -= frameSize; - } + // int disp = (i + StackShadowPages.getValue()) * unsafe.pageSize(); + // if (afterFrameInit) { + // disp -= frameSize; + // } tasm.blockComment("[stack overflow check]"); // FIXME currently doesn't work; maybe frame size is wrong // new Ldx(new SPARCAddress(sp, -disp), g0).emit(masm); @@ -149,7 +147,7 @@ @Override public void emitCode(TargetMethodAssembler tasm, LIRGenerator lirGen, ResolvedJavaMethod installedCodeOwner) { - SPARCMacroAssembler asm = (SPARCMacroAssembler) tasm.asm; + SPARCMacroAssembler masm = (SPARCMacroAssembler) tasm.asm; FrameMap frameMap = tasm.frameMap; RegisterConfig regConfig = frameMap.registerConfig; HotSpotVMConfig config = runtime().config; @@ -164,12 +162,13 @@ Register receiver = asRegister(cc.getArgument(0)); SPARCAddress src = new SPARCAddress(receiver, config.hubOffset); -// new Ldx(asm, src, dst); -// new Cmp(asm, inlineCacheKlass, dst); - new Bpne(CC.Xcc, unverifiedStub).emit(asm); + new Ldx(src, g0).emit(masm); + new Cmp(inlineCacheKlass, g0).emit(masm); + new Bpne(CC.Xcc, unverifiedStub).emit(masm); + new Nop().emit(masm); // delay slot } - asm.align(config.codeEntryAlignment); + masm.align(config.codeEntryAlignment); tasm.recordMark(Marks.MARK_OSR_ENTRY); tasm.recordMark(Marks.MARK_VERIFIED_ENTRY); @@ -190,8 +189,9 @@ } if (unverifiedStub != null) { - asm.bind(unverifiedStub); + masm.bind(unverifiedStub); // SPARCCall.directJmp(tasm, asm, runtime().lookupForeignCall(IC_MISS_HANDLER)); + throw new InternalError("g0 must be scratch register"); } } } diff -r c43c4938e353 -r 53ba9df05fa2 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRuntime.java Fri Jun 21 11:38:47 2013 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRuntime.java Fri Jun 21 11:58:39 2013 -0700 @@ -23,22 +23,18 @@ package com.oracle.graal.hotspot.sparc; import static com.oracle.graal.sparc.SPARC.*; -import static com.oracle.graal.api.code.CallingConvention.Type.*; import static com.oracle.graal.api.meta.LocationIdentity.*; import static com.oracle.graal.api.meta.Value.*; import static com.oracle.graal.hotspot.HotSpotBackend.*; import static com.oracle.graal.hotspot.HotSpotForeignCallLinkage.*; import static com.oracle.graal.hotspot.HotSpotForeignCallLinkage.RegisterEffect.*; import static com.oracle.graal.hotspot.HotSpotForeignCallLinkage.Transition.*; -import static com.oracle.graal.hotspot.replacements.AESCryptSubstitutions.*; -import static com.oracle.graal.hotspot.replacements.CipherBlockChainingSubstitutions.*; import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.meta.*; -import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; //import com.oracle.graal.replacements.sparc.*;