Skip to content

Commit ad460e2

Browse files
committed
Avoid createCallTarget() in GraalWasm.
1 parent 9dcf122 commit ad460e2

File tree

4 files changed

+11
-18
lines changed

4 files changed

+11
-18
lines changed

wasm/src/org.graalvm.wasm.test/src/org/graalvm/wasm/test/WasmJsApiSuite.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@
7878
import org.graalvm.wasm.utils.Assert;
7979
import org.junit.Test;
8080

81-
import com.oracle.truffle.api.Truffle;
8281
import com.oracle.truffle.api.exception.AbstractTruffleException;
8382
import com.oracle.truffle.api.frame.VirtualFrame;
8483
import com.oracle.truffle.api.interop.ArityException;
@@ -203,12 +202,12 @@ public void testInstantiateWithImportTable() throws IOException {
203202
}),
204203
});
205204
WebAssembly.tableWrite(table, 0, new WasmFunctionInstance(context, null,
206-
Truffle.getRuntime().createCallTarget(new RootNode(context.language()) {
205+
new RootNode(context.language()) {
207206
@Override
208207
public Object execute(VirtualFrame frame) {
209208
return 210;
210209
}
211-
})));
210+
}.getCallTarget()));
212211
final WasmInstance instance = moduleInstantiate(wasm, binaryWithTableImport, importObject);
213212
try {
214213
final Object callFirst = WebAssembly.instanceExport(instance, "callFirst");
@@ -355,12 +354,12 @@ public void testExportTableTwice() throws IOException, InterruptedException {
355354
final InteropLibrary lib = InteropLibrary.getUncached();
356355
try {
357356
final Object f = new WasmFunctionInstance(context, null,
358-
Truffle.getRuntime().createCallTarget(new RootNode(context.language()) {
357+
new RootNode(context.language()) {
359358
@Override
360359
public Object execute(VirtualFrame frame) {
361360
return 42;
362361
}
363-
}));
362+
}.getCallTarget());
364363
final Object writeTable = wasm.readMember("table_write");
365364
final Object readTable = wasm.readMember("table_read");
366365
final Object a = WebAssembly.instanceExport(instance, "a");
@@ -641,12 +640,12 @@ public void testTableInstanceOutOfBoundsSet() throws IOException {
641640
final WasmFunctionInstance functionInstance = new WasmFunctionInstance(
642641
null,
643642
null,
644-
Truffle.getRuntime().createCallTarget(new RootNode(WasmContext.get(null).language()) {
643+
new RootNode(WasmContext.get(null).language()) {
645644
@Override
646645
public Object execute(VirtualFrame frame) {
647646
return 42;
648647
}
649-
}));
648+
}.getCallTarget());
650649

651650
// We should be able to set element 1.
652651
try {

wasm/src/org.graalvm.wasm/src/org/graalvm/wasm/WasmInstantiator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
package org.graalvm.wasm;
4343

4444
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
45-
import com.oracle.truffle.api.RootCallTarget;
4645
import com.oracle.truffle.api.Truffle;
4746
import com.oracle.truffle.api.nodes.Node;
4847
import org.graalvm.wasm.exception.Failure;
@@ -61,7 +60,7 @@
6160
import java.util.List;
6261

6362
/**
64-
* Creates wasm instances by converting parser nodes into truffle nodes.
63+
* Creates wasm instances by converting parser nodes into Truffle nodes.
6564
*/
6665
public class WasmInstantiator {
6766
private static final int MIN_DEFAULT_STACK_SIZE = 1_000_000;
@@ -145,8 +144,7 @@ private void instantiateCodeEntry(WasmInstance instance, CodeEntry codeEntry) {
145144
* nodes {@see TruffleRuntime#createDirectCallNode} during translation.
146145
*/
147146
WasmRootNode rootNode = new WasmRootNode(language, instance, wasmCodeEntry);
148-
RootCallTarget callTarget = Truffle.getRuntime().createCallTarget(rootNode);
149-
instance.setTarget(codeEntry.getFunctionIndex(), callTarget);
147+
instance.setTarget(codeEntry.getFunctionIndex(), rootNode.getCallTarget());
150148
/*
151149
* Set the code entry local variables (which contain the parameters and the locals).
152150
*/

wasm/src/org.graalvm.wasm/src/org/graalvm/wasm/WasmLanguage.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import org.graalvm.wasm.memory.WasmMemory;
4949

5050
import com.oracle.truffle.api.CallTarget;
51-
import com.oracle.truffle.api.Truffle;
5251
import com.oracle.truffle.api.TruffleLanguage;
5352
import com.oracle.truffle.api.frame.VirtualFrame;
5453
import com.oracle.truffle.api.nodes.Node;
@@ -83,12 +82,12 @@ protected CallTarget parse(ParsingRequest request) {
8382
final byte[] data = source.getBytes().toByteArray();
8483
final WasmModule module = WasmContext.readModule(moduleName, data, null, source);
8584
final WasmInstance instance = context.readInstance(module);
86-
return Truffle.getRuntime().createCallTarget(new RootNode(this) {
85+
return new RootNode(this) {
8786
@Override
8887
public WasmInstance execute(VirtualFrame frame) {
8988
return instance;
9089
}
91-
});
90+
}.getCallTarget();
9291
}
9392

9493
@Override

wasm/src/org.graalvm.wasm/src/org/graalvm/wasm/predefined/BuiltinModule.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@
4141
package org.graalvm.wasm.predefined;
4242

4343
import com.oracle.truffle.api.CompilerAsserts;
44-
import com.oracle.truffle.api.RootCallTarget;
45-
import com.oracle.truffle.api.Truffle;
4644
import com.oracle.truffle.api.nodes.RootNode;
4745
import org.graalvm.wasm.Assert;
4846
import org.graalvm.wasm.ReferenceTypes;
@@ -99,8 +97,7 @@ protected void defineFunction(WasmInstance instance, String name, byte[] paramTy
9997
// since predefined modules have a relatively small size.
10098
final int typeIdx = instance.symbolTable().allocateFunctionType(paramTypes, retTypes);
10199
final WasmFunction function = instance.symbolTable().declareExportedFunction(typeIdx, name);
102-
RootCallTarget callTarget = Truffle.getRuntime().createCallTarget(rootNode);
103-
instance.setTarget(function.index(), callTarget);
100+
instance.setTarget(function.index(), rootNode.getCallTarget());
104101
}
105102

106103
protected int defineExternalGlobal(WasmInstance instance, String globalName, WasmGlobal global) {

0 commit comments

Comments
 (0)