Mercurial > hg > graal-compiler
changeset 22243:6670754e4bf3
Truffle: fix PE regression involving missing exception edges
author | Andreas Woess <andreas.woess@oracle.com> |
---|---|
date | Mon, 20 Jul 2015 02:48:57 +0200 |
parents | aebb7c58725d |
children | 92e1be818769 |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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)) { /*