# HG changeset patch # User Lukas Stadler # Date 1370423408 -7200 # Node ID acba1a273f9b2ef12851e93f73e5efe31ccfd0ef # Parent c65bad5126b035c4b66d5cd11fea514cad599e02 LIRGenerator.emitForeignCall uses linkage to determine if a state is needed diff -r c65bad5126b0 -r acba1a273f9b 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 Wed Jun 05 11:09:33 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Wed Jun 05 11:10:08 2013 +0200 @@ -660,7 +660,7 @@ @Override public Variable emitForeignCall(ForeignCallLinkage linkage, DeoptimizingNode info, Value... args) { - LIRFrameState state = info != null ? state(info) : null; + LIRFrameState state = !linkage.canDeoptimize() ? null : stateFor(info.getDeoptimizationState(), info.getDeoptimizationReason()); // move the arguments into the correct location CallingConvention linkageCc = linkage.getCallingConvention();