hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java
--- a/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java Tue May 30 15:41:23 2017 -0700
+++ b/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java Wed May 31 18:20:20 2017 -0700
@@ -521,7 +521,9 @@
* anything because the usages of the frameState are not available yet. So we need
* to call it again.
*/
- InliningUtil.handleMissingAfterExceptionFrameState(frameState);
+ PEMethodScope peMethodScope = (PEMethodScope) methodScope;
+ Invoke invoke = peMethodScope.invokeData != null ? peMethodScope.invokeData.invoke : null;
+ InliningUtil.handleMissingAfterExceptionFrameState(frameState, invoke, null, true);
/*
* The frameState must be gone now, because it is not a valid deoptimization point.
@@ -1168,8 +1170,8 @@
*/
invokeArgsList = Arrays.asList(methodScope.arguments);
}
- return InliningUtil.processFrameState(frameState, methodScope.invokeData.invoke, methodScope.method, methodScope.exceptionState, methodScope.outerState, true, methodScope.method,
- invokeArgsList);
+ return InliningUtil.processFrameState(frameState, methodScope.invokeData.invoke, null, methodScope.method, methodScope.exceptionState, methodScope.outerState, true,
+ methodScope.method, invokeArgsList);
} else if (node instanceof MonitorIdNode) {
ensureOuterStateDecoded(methodScope);