Skip to content

Commit 43f18a8

Browse files
committed
Fix: guard some code that shoud not be pulled in during compilation
1 parent 70df221 commit 43f18a8

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

truffle/src/com.oracle.truffle.api.bytecode.test/src/com/oracle/truffle/api/bytecode/test/examples/BuiltinTutorial.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ static final class JavaBuiltin extends AbstractBuiltin {
316316
@Override
317317
CallTarget getOrCreateCallTarget() {
318318
if (cachedTarget == null) {
319+
CompilerDirectives.transferToInterpreterAndInvalidate();
319320
cachedTarget = parse(LanguageWithBuiltins.get(), (b) -> {
320321
b.beginRoot();
321322
b.beginInlineBuiltin(this);
@@ -431,6 +432,7 @@ static final class BuilderBuiltin extends AbstractBuiltin {
431432
@Override
432433
CallTarget getOrCreateCallTarget() {
433434
if (cachedTarget == null) {
435+
CompilerDirectives.transferToInterpreterAndInvalidate();
434436
cachedTarget = parse(LanguageWithBuiltins.get(), parser).getCallTarget();
435437
}
436438
return cachedTarget;
@@ -469,6 +471,7 @@ static final class SerializedBuiltin extends AbstractBuiltin {
469471
@Override
470472
CallTarget getOrCreateCallTarget() {
471473
if (cachedTarget == null) {
474+
CompilerDirectives.transferToInterpreterAndInvalidate();
472475
cachedTarget = deserialize(getBytes.get()).getCallTarget();
473476
}
474477
return cachedTarget;

truffle/src/com.oracle.truffle.sl/src/com/oracle/truffle/sl/bytecode/SLBytecodeRootNode.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import com.oracle.truffle.api.CompilerDirectives;
4545
import com.oracle.truffle.api.RootCallTarget;
4646
import com.oracle.truffle.api.TruffleStackTraceElement;
47+
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
4748
import com.oracle.truffle.api.bytecode.BytecodeNode;
4849
import com.oracle.truffle.api.bytecode.BytecodeRootNode;
4950
import com.oracle.truffle.api.bytecode.ConstantOperand;
@@ -140,6 +141,7 @@ public SLExpressionNode getBodyNode() {
140141
return null;
141142
}
142143

144+
@TruffleBoundary
143145
public final Object[] getArgumentNames() {
144146
Object[] names = new Object[parameterCount];
145147
int index = 0;

0 commit comments

Comments
 (0)