Skip to content

Commit 2b6cfff

Browse files
iamstoliselkorchi
authored andcommitted
ExportValueNode.doTruffleObject() should exclude SafeIntegers.
(cherry picked from commit 809ef77)
1 parent 0c22a18 commit 2b6cfff

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

graal-js/src/com.oracle.truffle.js/src/com/oracle/truffle/js/nodes/JSGuards.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import com.oracle.truffle.api.strings.TruffleString;
4747
import com.oracle.truffle.js.runtime.BigInt;
4848
import com.oracle.truffle.js.runtime.JSRuntime;
49+
import com.oracle.truffle.js.runtime.SafeInteger;
4950
import com.oracle.truffle.js.runtime.Strings;
5051
import com.oracle.truffle.js.runtime.Symbol;
5152
import com.oracle.truffle.js.runtime.builtins.JSAbstractArgumentsArray;
@@ -403,8 +404,13 @@ public static boolean isJavaPackage(Object target) {
403404
return JavaPackage.isJavaPackage(target);
404405
}
405406

407+
<<<<<<< HEAD
406408
public static boolean isJavaArray(Object value) {
407409
return value != null && value.getClass().isArray();
410+
=======
411+
public static boolean isSafeInteger(Object target) {
412+
return target instanceof SafeInteger;
413+
>>>>>>> 809ef7762e3 (ExportValueNode.doTruffleObject() should exclude SafeIntegers.)
408414
}
409415

410416
public static boolean isBigInt(Object target) {

graal-js/src/com.oracle.truffle.js/src/com/oracle/truffle/js/nodes/interop/ExportValueNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -155,7 +155,7 @@ protected static TruffleString doString(TruffleString value, @SuppressWarnings("
155155
return value;
156156
}
157157

158-
@Specialization(guards = {"!isJSFunction(value)"}, replaces = "doObject")
158+
@Specialization(guards = {"!isJSFunction(value)", "!isSafeInteger(value)"}, replaces = "doObject")
159159
protected static TruffleObject doTruffleObject(TruffleObject value, @SuppressWarnings("unused") Object thiz, @SuppressWarnings("unused") boolean bindFunctions) {
160160
return value;
161161
}

0 commit comments

Comments
 (0)