# HG changeset patch # User Doug Simon # Date 1335785646 -7200 # Node ID 7f038eb09d9164d6e536c10cb45f3e1b7e76bcf0 # Parent 12c63380e7ff758f788080a5bf232bdf05128b29 rename and generalize: LIRGeneratorTool.emitCallToRuntime(CiRuntimeCall, ...) -> LIRGeneratorTool.emitCall(Object target, CiKind returnKind, CiKind[] parameterKinds, ...) diff -r 12c63380e7ff -r 7f038eb09d91 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Mon Apr 30 13:25:59 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Mon Apr 30 13:34:06 2012 +0200 @@ -914,11 +914,9 @@ protected abstract LabelRef createDeoptStub(RiDeoptAction action, RiDeoptReason reason, LIRDebugInfo info, Object deoptInfo); @Override - public Variable emitCallToRuntime(CiRuntimeCall runtimeCall, boolean canTrap, CiValue... args) { + public Variable emitCall(@SuppressWarnings("hiding") Object target, CiKind result, CiKind[] arguments, boolean canTrap, CiValue... args) { LIRDebugInfo info = canTrap ? state() : null; - CiKind result = runtimeCall.resultKind; - CiKind[] arguments = runtimeCall.arguments; CiValue physReg = resultOperandFor(result); List argumentList; @@ -939,7 +937,7 @@ argumentList = Collections.emptyList(); } - emitCall(runtimeCall, physReg, argumentList, CiConstant.forLong(0), info, null); + emitCall(target, physReg, argumentList, CiConstant.forLong(0), info, null); if (isLegal(physReg)) { return emitMove(physReg); diff -r 12c63380e7ff -r 7f038eb09d91 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/amd64/AMD64LIRGenerator.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/amd64/AMD64LIRGenerator.java Mon Apr 30 13:25:59 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/amd64/AMD64LIRGenerator.java Mon Apr 30 13:34:06 2012 +0200 @@ -339,7 +339,7 @@ } @Override - public Variable emitRem(CiValue a, CiValue b) { + public CiValue emitRem(CiValue a, CiValue b) { switch(a.kind) { case Int: emitMove(a, RAX_I); @@ -350,9 +350,9 @@ append(new DivOp(LREM, RDX_L, RAX_L, load(b), state())); return emitMove(RDX_L); case Float: - return emitCallToRuntime(CiRuntimeCall.ArithmeticFrem, false, a, b); + return emitCall(CiRuntimeCall.ArithmeticFrem, false, a, b); case Double: - return emitCallToRuntime(CiRuntimeCall.ArithmeticDrem, false, a, b); + return emitCall(CiRuntimeCall.ArithmeticDrem, false, a, b); default: throw GraalInternalError.shouldNotReachHere(); } diff -r 12c63380e7ff -r 7f038eb09d91 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Mon Apr 30 13:25:59 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Mon Apr 30 13:34:06 2012 +0200 @@ -46,6 +46,6 @@ @Override public void generate(LIRGeneratorTool gen) { - gen.emitCallToRuntime(CiRuntimeCall.UnwindException, false, gen.operand(exception())); + gen.emitCall(CiRuntimeCall.UnwindException, false, gen.operand(exception())); } } diff -r 12c63380e7ff -r 7f038eb09d91 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Mon Apr 30 13:25:59 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Mon Apr 30 13:34:06 2012 +0200 @@ -46,7 +46,7 @@ @Override public void generate(LIRGeneratorTool gen) { - gen.emitCallToRuntime(CiRuntimeCall.RegisterFinalizer, true, gen.operand(object())); + gen.emitCall(CiRuntimeCall.RegisterFinalizer, true, gen.operand(object())); } @Override diff -r 12c63380e7ff -r 7f038eb09d91 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Mon Apr 30 13:25:59 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Mon Apr 30 13:34:06 2012 +0200 @@ -81,7 +81,10 @@ public abstract void emitMembar(int barriers); public abstract void emitDeoptimizeOn(Condition cond, RiDeoptAction action, RiDeoptReason reason, Object deoptInfo); public abstract void emitDeoptimize(RiDeoptAction action, RiDeoptReason reason, Object deoptInfo, long leafGraphId); - public abstract CiValue emitCallToRuntime(CiRuntimeCall runtimeCall, boolean canTrap, CiValue... args); + public abstract CiValue emitCall(Object target, CiKind result, CiKind[] arguments, boolean canTrap, CiValue... args); + public final CiValue emitCall(CiRuntimeCall runtimeCall, boolean canTrap, CiValue... args) { + return emitCall(runtimeCall, runtimeCall.resultKind, runtimeCall.arguments, canTrap, args); + } public abstract void emitIf(IfNode i); public abstract void emitConditional(ConditionalNode i);