# HG changeset patch # User Doug Simon # Date 1367345702 -7200 # Node ID 62af2ee39bc51755bc342ff8690373efe323c375 # Parent 85a836bcd7967a288d946340145b6ab498410e74 moved initialization of UNCOMMON_TRAP descriptor from AMD64 code to platform independent code diff -r 85a836bcd796 -r 62af2ee39bc5 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64DeoptimizeOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64DeoptimizeOp.java Tue Apr 30 20:09:29 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64DeoptimizeOp.java Tue Apr 30 20:15:02 2013 +0200 @@ -22,23 +22,21 @@ */ package com.oracle.graal.hotspot.amd64; +import static com.oracle.graal.hotspot.HotSpotBackend.*; import static com.oracle.graal.hotspot.HotSpotGraalRuntime.*; import com.oracle.graal.api.code.*; -import com.oracle.graal.api.code.RuntimeCallTarget.Descriptor; import com.oracle.graal.api.meta.*; import com.oracle.graal.asm.amd64.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.lir.*; -import com.oracle.graal.lir.LIRInstruction.*; +import com.oracle.graal.lir.LIRInstruction.Opcode; import com.oracle.graal.lir.amd64.*; import com.oracle.graal.lir.asm.*; @Opcode("DEOPT") final class AMD64DeoptimizeOp extends AMD64LIRInstruction { - public static final Descriptor UNCOMMON_TRAP = new Descriptor("deoptimize", true, void.class); - private DeoptimizationAction action; private DeoptimizationReason reason; @State private LIRFrameState info; diff -r 85a836bcd796 -r 62af2ee39bc5 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java Tue Apr 30 20:09:29 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java Tue Apr 30 20:15:02 2013 +0200 @@ -24,8 +24,8 @@ import static com.oracle.graal.amd64.AMD64.*; import static com.oracle.graal.api.code.ValueUtil.*; +import static com.oracle.graal.hotspot.HotSpotBackend.*; import static com.oracle.graal.hotspot.HotSpotGraalRuntime.*; -import static com.oracle.graal.hotspot.amd64.AMD64DeoptimizeOp.*; import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; diff -r 85a836bcd796 -r 62af2ee39bc5 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Tue Apr 30 20:09:29 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Tue Apr 30 20:15:02 2013 +0200 @@ -24,7 +24,6 @@ import static com.oracle.graal.amd64.AMD64.*; import static com.oracle.graal.compiler.amd64.AMD64LIRGenerator.*; -import static com.oracle.graal.hotspot.amd64.AMD64DeoptimizeOp.*; import static com.oracle.graal.hotspot.amd64.AMD64HotSpotBackend.*; import static com.oracle.graal.hotspot.amd64.AMD64HotSpotUnwindOp.*; import static com.oracle.graal.hotspot.nodes.IdentityHashCodeStubCall.*; @@ -62,10 +61,6 @@ /* ret */ ret(Kind.Void), /* arg0: exception */ rax.asValue(Kind.Object)); - addRuntimeCall(UNCOMMON_TRAP, config.uncommonTrapStub, - /* temps */ null, - /* ret */ ret(Kind.Void)); - addRuntimeCall(ARITHMETIC_FREM, config.arithmeticFremStub, /* temps */ new Register[]{AMD64.rax}, /* ret */ ret(Kind.Float), diff -r 85a836bcd796 -r 62af2ee39bc5 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Tue Apr 30 20:09:29 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Tue Apr 30 20:15:02 2013 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot; import com.oracle.graal.api.code.*; +import com.oracle.graal.api.code.RuntimeCallTarget.Descriptor; import com.oracle.graal.compiler.target.*; import com.oracle.graal.hotspot.meta.*; @@ -31,6 +32,8 @@ */ public abstract class HotSpotBackend extends Backend { + public static final Descriptor UNCOMMON_TRAP = new Descriptor("deoptimize", true, void.class); + public HotSpotBackend(HotSpotRuntime runtime, TargetDescription target) { super(runtime, target); } diff -r 85a836bcd796 -r 62af2ee39bc5 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Apr 30 20:09:29 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Apr 30 20:15:02 2013 +0200 @@ -28,6 +28,7 @@ import static com.oracle.graal.api.meta.DeoptimizationReason.*; import static com.oracle.graal.api.meta.Value.*; import static com.oracle.graal.graph.UnsafeAccess.*; +import static com.oracle.graal.hotspot.HotSpotBackend.*; import static com.oracle.graal.hotspot.HotSpotGraalRuntime.*; import static com.oracle.graal.hotspot.nodes.NewArrayStubCall.*; import static com.oracle.graal.hotspot.nodes.NewInstanceStubCall.*; @@ -215,6 +216,10 @@ /* ret */ ret(Kind.Void), /* arg0: long */ javaCallingConvention(Kind.Long)); + addRuntimeCall(UNCOMMON_TRAP, config.uncommonTrapStub, + /* temps */ null, + /* ret */ ret(Kind.Void)); + addStubCall(REGISTER_FINALIZER, /* ret */ ret(Kind.Void), /* arg0: object */ javaCallingConvention(Kind.Object));