Mercurial > hg > graal-compiler
changeset 15340:3994ff31091d
Merge.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Wed, 23 Apr 2014 20:49:59 +0200 |
parents | 265c47be2308 (diff) 5e544920ad9f (current diff) |
children | 5b29e4b54f2e |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/LIRGenLowerable.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/LIRGenResLowerable.java graal/com.oracle.graal.test/src/com/oracle/graal/test/GraalLongUnitTest.java graal/com.oracle.graal.test/src/com/oracle/graal/test/LongTest.java test/baseline_whitelist.txt |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Wed Apr 23 13:18:58 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Wed Apr 23 20:49:59 2014 +0200 @@ -241,7 +241,6 @@ if (inliningPerformed) { return; } - inliningPerformed = true; TruffleInliningHandler handler = new TruffleInliningHandler(new DefaultInliningPolicy()); TruffleInliningResult result = handler.decideInlining(this, 0); performInlining(result); @@ -249,6 +248,10 @@ } private static void performInlining(TruffleInliningResult result) { + if (result.getCallTarget().inliningPerformed) { + return; + } + result.getCallTarget().inliningPerformed = true; for (TruffleInliningProfile profile : result) { profile.getCallNode().inline(); TruffleInliningResult recursiveResult = profile.getRecursiveResult();
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningHandler.java Wed Apr 23 13:18:58 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningHandler.java Wed Apr 23 20:49:59 2014 +0200 @@ -94,7 +94,7 @@ int deepNodeCount; TruffleInliningResult recursiveResult; boolean recursiveCall = false; - if (depth > MAXIMUM_RECURSIVE_DEPTH) { + if (target.inliningPerformed || depth > MAXIMUM_RECURSIVE_DEPTH) { deepNodeCount = OptimizedCallUtils.countNonTrivialNodes(target, true); recursiveResult = null; } else {