aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-26 21:58:01 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-26 21:58:01 +0000
commite40f80fe4ac6d4a96e02ce6fed26209242e4476a (patch)
tree7ad023653a19d00291bb23dd0d5139df9d1aeed6 /src/main/java/org
parent40c5d50a36ce1e38b299a779d16352fcfdc6844e (diff)
Support running wasm64 through node
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
index cee2e24b..b1805f5a 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
@@ -6,27 +6,44 @@ import org.shedlang.compiler.backends.wasm.structure.ast.types.WasmValueType;
import java.util.List;
public enum WasmTarget {
- WASM32("wasm32", WasmIndexType.I32, WasmValueType.I32, List.of(), List.of()),
- WASM64("wasm64", WasmIndexType.I64, WasmValueType.I64, List.of("-mwasm64"), List.of("--enable-memory64"));
+ WASM32(
+ "wasm32",
+ WasmIndexType.I32,
+ WasmValueType.I32,
+ List.of(),
+ List.of(),
+ List.of()
+ ),
+ WASM64(
+ "wasm64",
+ WasmIndexType.I64,
+ WasmValueType.I64,
+ List.of("-mwasm64"),
+ List.of("--enable-memory64"),
+ List.of("--experimental-wasm-memory64")
+ );
private final String targetName;
private final WasmIndexType indexType;
private final WasmValueType sizeT;
private final List<String> linkerFlags;
private final List<String> wabtFlags;
+ private final List<String> nodeFlags;
WasmTarget(
String name,
WasmIndexType indexType,
WasmValueType sizeT,
List<String> linkerFlags,
- List<String> wabtFlags
+ List<String> wabtFlags,
+ List<String> nodeFlags
) {
this.targetName = name;
this.indexType = indexType;
this.sizeT = sizeT;
this.linkerFlags = linkerFlags;
this.wabtFlags = wabtFlags;
+ this.nodeFlags = nodeFlags;
}
public String targetName() {
@@ -60,4 +77,8 @@ public enum WasmTarget {
public List<String> wabtFlags() {
return wabtFlags;
}
+
+ public List<String> nodeFlags() {
+ return this.nodeFlags;
+ }
}