diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-26 23:48:29 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-26 23:48:29 +0000 |
| commit | 410c7a1ab1b78cc906166942a679991eaf3e1525 (patch) | |
| tree | d89af7e1a942434fa7e4a845fa0e18f61fe9199d /src/main/java | |
| parent | 97d49104a1d63a4c65ec4c16f572995e843549b7 (diff) | |
Add TODO
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java | 7 |
1 files changed, 7 insertions, 0 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 c53f9779..6c3dec78 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java @@ -63,6 +63,13 @@ public enum WasmTarget { } public WasmValueType functionPointerType() { + // TODO: there's a problem here: wasm64 uses 32-bit function pointers, + // but C uses void* for all pointers, which will be 64-bit on wasm64. + // We could either: + // * Change the C definition of a closure to use a 32-bit int, and cast + // it to a void* on use, or + // * Change the Wasm backend to treat Patio function pointers as 64-bit, + // and convert from 32-bit to 64-bit when referencing table indices. return WasmValueType.I32; } |
