File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 41
41
package com .oracle .graal .python .runtime ;
42
42
43
43
import com .oracle .graal .python .PythonLanguage ;
44
+ import com .oracle .graal .python .nodes .call .InvokeNode ;
44
45
import com .oracle .truffle .api .Assumption ;
45
46
import com .oracle .truffle .api .CompilerDirectives ;
46
47
import com .oracle .truffle .api .CompilerDirectives .CompilationFinal ;
@@ -103,6 +104,10 @@ public void setCalleeNeedsExceptionState() {
103
104
public static boolean setEncapsulatingNeedsToPassCallerFrame (final Node callNode ) {
104
105
Node pythonCallNode = callNode ;
105
106
while (pythonCallNode != null ) {
107
+ if (pythonCallNode instanceof InvokeNode ) {
108
+ // see GR-50465
109
+ return true ;
110
+ }
106
111
IndirectCallData data = PythonLanguage .lookupIndirectCallData (pythonCallNode );
107
112
if (data != null ) {
108
113
data .setCalleeNeedsCallerFrame ();
@@ -116,6 +121,10 @@ public static boolean setEncapsulatingNeedsToPassCallerFrame(final Node callNode
116
121
public static void setEncapsulatingNeedsToPassExceptionState (Node callNode ) {
117
122
Node pythonCallNode = callNode ;
118
123
while (pythonCallNode != null ) {
124
+ if (pythonCallNode instanceof InvokeNode ) {
125
+ // see GR-50465
126
+ break ;
127
+ }
119
128
IndirectCallData data = PythonLanguage .lookupIndirectCallData (pythonCallNode );
120
129
if (data != null ) {
121
130
data .setCalleeNeedsExceptionState ();
You can’t perform that action at this time.
0 commit comments