# HG changeset patch # User Andreas Woess # Date 1437353337 -7200 # Node ID 6670754e4bf3f9a8c243f14e2d61a0f0406cd7ce # Parent aebb7c58725d3ff0e41fb96dadeb11624907c08a Truffle: fix PE regression involving missing exception edges diff -r aebb7c58725d -r 6670754e4bf3 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Fri Jul 17 23:54:06 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Mon Jul 20 02:48:57 2015 +0200 @@ -243,8 +243,10 @@ @Override public InlineInfo shouldInlineInvoke(GraphBuilderContext builder, ResolvedJavaMethod original, ValueNode[] arguments, JavaType returnType) { - if (invocationPlugins.lookupInvocation(original) != null || loopExplosionPlugin.shouldExplodeLoops(original)) { + if (invocationPlugins.lookupInvocation(original) != null) { return InlineInfo.DO_NOT_INLINE_NO_EXCEPTION; + } else if (loopExplosionPlugin.shouldExplodeLoops(original)) { + return InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION; } TruffleBoundary truffleBoundary = original.getAnnotation(TruffleBoundary.class); if (truffleBoundary != null) { @@ -255,7 +257,7 @@ } if (original.equals(callSiteProxyMethod) || original.equals(callDirectMethod)) { - return InlineInfo.DO_NOT_INLINE_NO_EXCEPTION; + return InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION; } if (hasMethodHandleArgument(arguments)) { /*