Skip to content

Commit cd72398

Browse files
committed
[GR-22341] Mark the RootNode created by JavaScriptLanguage.parse() as not instrumentable.
PullRequest: js/1458
2 parents 7965c85 + e73d54b commit cd72398

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

graal-js/src/com.oracle.truffle.js/src/com/oracle/truffle/js/lang/JavaScriptLanguage.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,11 @@ public Object execute(VirtualFrame frame) {
220220
public boolean isInternal() {
221221
return true;
222222
}
223+
224+
@Override
225+
protected boolean isInstrumentable() {
226+
return false;
227+
}
223228
};
224229
return Truffle.getRuntime().createCallTarget(rootNode);
225230
} else {
@@ -296,6 +301,16 @@ private Object executeImpl(JSRealm realm, Object[] arguments) {
296301
Object function = program.run(realm);
297302
return JSRuntime.jsObjectToJavaObject(JSFunction.call(JSArguments.create(Undefined.instance, function, arguments)));
298303
}
304+
305+
@Override
306+
public boolean isInternal() {
307+
return true;
308+
}
309+
310+
@Override
311+
protected boolean isInstrumentable() {
312+
return false;
313+
}
299314
};
300315
}
301316

graal-js/src/com.oracle.truffle.js/src/com/oracle/truffle/js/runtime/JSAgent.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import org.graalvm.collections.EconomicSet;
5050
import org.graalvm.collections.Equivalence;
5151

52-
import com.oracle.truffle.api.CompilerDirectives;
5352
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5453
import com.oracle.truffle.api.object.DynamicObject;
5554
import com.oracle.truffle.js.runtime.JSAgentWaiterList.JSAgentWaiterListEntry;
@@ -201,9 +200,9 @@ public final boolean interopBoundaryExit() {
201200
return --interopCallStackDepth == 0;
202201
}
203202

203+
@TruffleBoundary
204204
public boolean addWeakRefTargetToSet(Object target) {
205205
if (weakRefTargets == null) {
206-
CompilerDirectives.transferToInterpreterAndInvalidate();
207206
weakRefTargets = EconomicSet.create(Equivalence.IDENTITY);
208207
}
209208
return weakRefTargets.add(target);

0 commit comments

Comments
 (0)