hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java
changeset 46509 b32d3928ad6a
parent 46459 7d4e637d3f21
child 46536 79d8dffda212
--- 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);