mirror of
https://github.com/HeyPuter/gex.git
synced 2026-11-13 20:12:43 -10:00
unity-dotnet: the wasm JIT on by default (GEXMONO_WASM_JIT=0 for the interpreter only); embed keeps an interpreter-only leg
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_d2453757b8a84fdbb4ee7c9e093141df
This commit is contained in:
1 parent
082c7dece7
commit
d4a9389db0
2 files changed
+5
-4
No files matched your search
@@ -20,7 +20,8 @@ FW=$(dirname "$(dotnet --list-runtimes | awk '/Microsoft.NETCore.App 10\./ {v=$2
|
||||
cp "$OUT/lib/System.Private.CoreLib.dll" "$T/lib/"
|
||||
cp "$FW/System.Runtime.dll" "$FW/System.Collections.dll" "$FW/System.Runtime.InteropServices.dll" "$T/lib/"
|
||||
cd "$T"
|
||||
GEX_WASM_DLLS=libmonobdwgc-2.0.so="$OUT/provider/mono.wasm" timeout 300 "$GEXC" run --mem64 \
|
||||
# The interpreter only (the wasm JIT is on by default; GEXMONO_WASM_JIT=0).
|
||||
GEX_WASM_DLLS=libmonobdwgc-2.0.so="$OUT/provider/mono.wasm" timeout 300 "$GEXC" run --mem64 --env GEXMONO_WASM_JIT=0 \
|
||||
--env GEXMONO_ASSEMBLIES="$T/lib" ./embed ./libmonobdwgc-2.0.so "$T/asm/t.dll" | tee out.txt
|
||||
PATTERNS=("Compute(50) = 50002" "Hello = hello gex from t ptr=8"
|
||||
"Guest = twice 42; concat guest strings; mix 323.25; scale 2,4,6; big 11,25,52,3; caught from the guest"
|
||||
|
||||
@@ -326,12 +326,12 @@ preinit (void)
|
||||
if (done)
|
||||
return;
|
||||
done = 1;
|
||||
/* The fork's runtime wasm JIT (docs/unity-dotnet.md P5): GEXMONO_WASM_JIT=1 while it is brought up on
|
||||
* wasm64. Its slots come from the jiterpreter's JIT_CALL table, which the browser's TypeScript sizes and
|
||||
/* The fork's runtime wasm JIT (docs/unity-dotnet.md P5): on by default (user, 2026-10-07: normal runs
|
||||
* use the JIT, ejected builds .NET AOT); GEXMONO_WASM_JIT=0 runs the interpreter only. Its slots come from the jiterpreter's JIT_CALL table, which the browser's TypeScript sizes and
|
||||
* fills; here the host reserves the range in the process's function table (gex.provider_jit_reserve). The
|
||||
* rest of the jiterpreter (traces, interp_entry and jit_call wrappers) stays off. No inline TLAB
|
||||
* allocation: SGen runs Boehm-like under gex, without a nursery. */
|
||||
if (getenv ("GEXMONO_WASM_JIT") && atoi (getenv ("GEXMONO_WASM_JIT")) > 0) {
|
||||
if (!getenv ("GEXMONO_WASM_JIT") || atoi (getenv ("GEXMONO_WASM_JIT")) > 0) {
|
||||
static char *opts [] = { "--no-jiterpreter-traces-enabled", "--no-jiterpreter-interp-entry-enabled",
|
||||
"--no-jiterpreter-jit-call-enabled" };
|
||||
/* The wasm64 bring-up's feature set: the core tier only. Each of these is a fast path with pointer
|
||||
|
||||
Reference in new issue
Block a user