File tree 3 files changed +15
-5
lines changed
src/com.oracle.svm.hosted.webimage/src/com/oracle/svm/hosted/webimage/codegen/phase
3 files changed +15
-5
lines changed Original file line number Diff line number Diff line change 33
33
"name" : "graal-nodejs" ,
34
34
"subdir" : True ,
35
35
"dynamic" : True ,
36
- "version" : "59e25d376c8bb2803be3e0c1ba19d70819d3e1da " ,
36
+ "version" : "20cf920b900b643c6e8ab05cd0a5e66e2ba4e687 " ,
37
37
"urls" : [
38
38
{"url" : "https://github.com/graalvm/graaljs.git" , "kind" : "git" },
39
39
]
42
42
"name" : "graal-js" ,
43
43
"subdir" : True ,
44
44
"dynamic" : True ,
45
- "version" : "59e25d376c8bb2803be3e0c1ba19d70819d3e1da " ,
45
+ "version" : "20cf920b900b643c6e8ab05cd0a5e66e2ba4e687 " ,
46
46
"urls" : [
47
47
{"url" : "https://github.com/graalvm/graaljs.git" , "kind" : "git" },
48
48
]
Original file line number Diff line number Diff line change 16
16
"name" : "graal-nodejs" ,
17
17
"subdir" : True ,
18
18
"dynamic" : True ,
19
- "version" : "cffe4d4e341425200ec28f079eb6dca0c098d04b " ,
19
+ "version" : "20cf920b900b643c6e8ab05cd0a5e66e2ba4e687 " ,
20
20
"urls" : [
21
21
{"url" : "https://github.com/graalvm/graaljs.git" , "kind" : "git" },
22
22
],
25
25
"name" : "graal-js" ,
26
26
"subdir" : True ,
27
27
"dynamic" : True ,
28
- "version" : "cffe4d4e341425200ec28f079eb6dca0c098d04b " ,
28
+ "version" : "20cf920b900b643c6e8ab05cd0a5e66e2ba4e687 " ,
29
29
"urls" : [
30
30
{"url" : "https://github.com/graalvm/graaljs.git" , "kind" : "git" },
31
31
],
Original file line number Diff line number Diff line change 28
28
import java .util .ArrayList ;
29
29
import java .util .List ;
30
30
31
- import com .oracle .svm .webimage .functionintrinsics .ImplicitExceptions ;
32
31
import com .oracle .svm .core .graal .nodes .ThrowBytecodeExceptionNode ;
32
+ import com .oracle .svm .webimage .functionintrinsics .ImplicitExceptions ;
33
33
34
34
import jdk .graal .compiler .core .common .spi .ForeignCallDescriptor ;
35
35
import jdk .graal .compiler .graph .Node ;
@@ -203,6 +203,16 @@ private static class ArrayBoundCheckPattern extends Pattern {
203
203
*/
204
204
@ Override
205
205
void replace (CoreProviders providers ) {
206
+ if (ifNode .isDeleted ()) {
207
+ /*
208
+ * This case can happen when both branches of an if node throw a bytecode exception;
209
+ * e.g. if (array == null) where the true successor throws a NullPointerException,
210
+ * and the other throws an ArrayIndexOutOfBoundsException, which is then replaced
211
+ * with checkNullPointer(array) followed by ThrowBytecodeException(OUT_OF_BOUNDS).
212
+ */
213
+ return ;
214
+ }
215
+
206
216
StructuredGraph graph = ifNode .graph ();
207
217
208
218
/*
You can’t perform that action at this time.
0 commit comments