Skip to content

Commit 3981cac

Browse files
committed
Ensure that a truffle context is entered when a new symbol is being created.
1 parent 869e7f9 commit 3981cac

File tree

1 file changed

+11
-3
lines changed
  • graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/com/oracle/truffle/trufflenode

1 file changed

+11
-3
lines changed

graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/com/oracle/truffle/trufflenode/GraalJSAccess.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1584,10 +1584,18 @@ public void dateTimeConfigurationChangeNotification(int timeZoneDetection, Strin
15841584
}
15851585

15861586
public Object symbolNew(Object name) {
1587-
if (isAuxEngineCacheMode()) {
1588-
return getContextEngineCacheData(mainJSContext).createOrUseCachedSingleton((TruffleString) name);
1587+
Object prev = mainJSRealm.getTruffleContext().enter(null);
1588+
try {
1589+
Symbol symbol;
1590+
if (isAuxEngineCacheMode()) {
1591+
symbol = getContextEngineCacheData(mainJSContext).createOrUseCachedSingleton((TruffleString) name);
1592+
} else {
1593+
symbol = Symbol.create((TruffleString) name);
1594+
}
1595+
return symbol;
1596+
} finally {
1597+
mainJSRealm.getTruffleContext().leave(null, prev);
15891598
}
1590-
return Symbol.create((TruffleString) name);
15911599
}
15921600

15931601
public Object symbolName(Object symbol) {

0 commit comments

Comments
 (0)