Minor WASM build cleanups. Enable custom Module.instantiateWasm() when not in WASMFS mode (where it doesn't work). Add sqlite3.debugModule URL param to enable some module-init-time debugging output.

FossilOrigin-Name: 50f678846a2b3c3d0818f0bae89f2ee86252a2e6a9c7029ebaae3953ca0fa14c
This commit is contained in:
stephan 2022-10-30 09:47:33 +00:00
parent af9cee12c1
commit 1fc6ffccc5
9 changed files with 73 additions and 48 deletions

View File

@ -106,7 +106,7 @@ endif
cflags.common := -I. -I.. -I$(dir.top) cflags.common := -I. -I.. -I$(dir.top)
CLEAN_FILES += *~ $(dir.jacc)/*~ $(dir.api)/*~ $(dir.common)/*~ CLEAN_FILES += *~ $(dir.jacc)/*~ $(dir.api)/*~ $(dir.common)/*~
emcc_enable_bigint ?= 1 emcc.WASM_BIGINT ?= 1
sqlite3.c := $(dir.top)/sqlite3.c sqlite3.c := $(dir.top)/sqlite3.c
sqlite3.h := $(dir.top)/sqlite3.h sqlite3.h := $(dir.top)/sqlite3.h
SQLITE_OPT = \ SQLITE_OPT = \
@ -295,7 +295,11 @@ define call-make-pre-js
pre-post-$(1).flags ?= pre-post-$(1).flags ?=
$$(dir.tmp)/pre-js-$(1).js: $$(pre-js.js) $$(MAKEFILE) $$(dir.tmp)/pre-js-$(1).js: $$(pre-js.js) $$(MAKEFILE)
cp $$(pre-js.js) $$@ cp $$(pre-js.js) $$@
echo "Module[xInstantiateWasm].uri = '$(1).wasm';" >> $$@ @if [ sqlite3-wasmfs = $(1) ]; then \
echo "delete Module[xNameOfInstantiateWasm] /*for WASMFS build*/;"; \
elif [ sqlite3 != $(1) ]; then \
echo "Module[xNameOfInstantiateWasm].uri = '$(1).wasm';"; \
fi >> $$@
pre-post-$(1).deps := $$(pre-post-jses.deps) $$(dir.tmp)/pre-js-$(1).js pre-post-$(1).deps := $$(pre-post-jses.deps) $$(dir.tmp)/pre-js-$(1).js
pre-post-$(1).flags += --pre-js=$$(dir.tmp)/pre-js-$(1).js pre-post-$(1).flags += --pre-js=$$(dir.tmp)/pre-js-$(1).js
endef endef
@ -388,14 +392,16 @@ emcc.jsflags += -sLLD_REPORT_UNDEFINED
#emcc.jsflags += --unresolved-symbols=import-dynamic --experimental-pic #emcc.jsflags += --unresolved-symbols=import-dynamic --experimental-pic
#emcc.jsflags += --experimental-pic --unresolved-symbols=ingore-all --import-undefined #emcc.jsflags += --experimental-pic --unresolved-symbols=ingore-all --import-undefined
#emcc.jsflags += --unresolved-symbols=ignore-all #emcc.jsflags += --unresolved-symbols=ignore-all
emcc.jsflags += -sWASM_BIGINT=$(emcc_enable_bigint) emcc.jsflags += -sWASM_BIGINT=$(emcc.WASM_BIGINT)
# ^^^^ MEMORY64=1 fails to load, erroring with:
########################################################################
# -sMEMORY64=1 fails to load, erroring with:
# invalid memory limits flags 0x5 # invalid memory limits flags 0x5
# (enable via --experimental-wasm-memory64) # (enable via --experimental-wasm-memory64)
# #
# ^^^^ MEMORY64=2 builds and loads but dies when we do things like: # ^^^^ MEMORY64=2 builds and loads but dies when we do things like:
# #
# new Uint8Array(heapWrappers().HEAP8U.buffer, ptr, n) # new Uint8Array(wasm.heap8u().buffer, ptr, n)
# #
# because ptr is now a BigInt, so is invalid for passing to arguments # because ptr is now a BigInt, so is invalid for passing to arguments
# which have strict must-be-a-Number requirements. # which have strict must-be-a-Number requirements.
@ -405,10 +411,10 @@ emcc.jsflags += -sWASM_BIGINT=$(emcc_enable_bigint)
######################################################################## ########################################################################
# -sSINGLE_FILE: # -sSINGLE_FILE:
# https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L1704 # https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L1704
# -sSINGLE_FILE=1 would be really nice but we have to build with -g # -sSINGLE_FILE=1 would be really nice but we have to build with -g3
# for -O2 and higher to work (else minification breaks the code) and # for -O2 and higher to work (else minification breaks the code) and
# cannot wasm-strip the binary before it gets encoded into the JS # cannot wasm-strip the binary before it gets encoded into the JS
# file. The result is that the generated JS file is, because of the -g # file. The result is that the generated JS file is, because of the -g3
# debugging info, _huge_. # debugging info, _huge_.
######################################################################## ########################################################################
@ -468,11 +474,12 @@ all: batch
speedtest1-common.eflags := $(emcc_opt_full) speedtest1-common.eflags := $(emcc_opt_full)
speedtest1.eflags := speedtest1.eflags :=
speedtest1.eflags += -sENVIRONMENT=web speedtest1.eflags += -sENVIRONMENT=web
speedtest1.eflags += -sALLOW_MEMORY_GROWTH
speedtest1.eflags += -sINITIAL_MEMORY=$(emcc.INITIAL_MEMORY.$(emcc.INITIAL_MEMORY))
speedtest1-common.eflags += -sINVOKE_RUN=0 speedtest1-common.eflags += -sINVOKE_RUN=0
speedtest1-common.eflags += --no-entry speedtest1-common.eflags += --no-entry
#speedtest1-common.eflags += -flto #speedtest1-common.eflags += -flto
speedtest1-common.eflags += -sABORTING_MALLOC speedtest1-common.eflags += -sABORTING_MALLOC
speedtest1-common.eflags += -sINITIAL_MEMORY=128450560
speedtest1-common.eflags += -sSTRICT_JS speedtest1-common.eflags += -sSTRICT_JS
speedtest1-common.eflags += -sMODULARIZE speedtest1-common.eflags += -sMODULARIZE
speedtest1-common.eflags += -Wno-limited-postlink-optimizations speedtest1-common.eflags += -Wno-limited-postlink-optimizations
@ -483,7 +490,7 @@ speedtest1-common.eflags += -sALLOW_TABLE_GROWTH
speedtest1-common.eflags += -sDYNAMIC_EXECUTION=0 speedtest1-common.eflags += -sDYNAMIC_EXECUTION=0
speedtest1-common.eflags += --minify 0 speedtest1-common.eflags += --minify 0
speedtest1-common.eflags += -sEXPORT_NAME=$(sqlite3.js.init-func) speedtest1-common.eflags += -sEXPORT_NAME=$(sqlite3.js.init-func)
speedtest1-common.eflags += -sWASM_BIGINT=$(emcc_enable_bigint) speedtest1-common.eflags += -sWASM_BIGINT=$(emcc.WASM_BIGINT)
speedtest1-common.eflags += $(pre-post-common.flags) speedtest1-common.eflags += $(pre-post-common.flags)
speedtest1.exit-runtime0 := -sEXIT_RUNTIME=0 speedtest1.exit-runtime0 := -sEXIT_RUNTIME=0
speedtest1.exit-runtime1 := -sEXIT_RUNTIME=1 speedtest1.exit-runtime1 := -sEXIT_RUNTIME=1

View File

@ -36,6 +36,11 @@
location: self.location, location: self.location,
urlParams: new URL(self.location.href).searchParams urlParams: new URL(self.location.href).searchParams
}); });
initModuleState.debugModule =
(new URL(self.location.href).searchParams).has('sqlite3.debugModule')
? (...args)=>console.warn('sqlite3.debugModule:',...args)
: ()=>{};
if(initModuleState.urlParams.has('sqlite3.dir')){ if(initModuleState.urlParams.has('sqlite3.dir')){
initModuleState.sqlite3Dir = initModuleState.urlParams.get('sqlite3.dir') +'/'; initModuleState.sqlite3Dir = initModuleState.urlParams.get('sqlite3.dir') +'/';
}else if(initModuleState.moduleScript){ }else if(initModuleState.moduleScript){
@ -43,7 +48,6 @@
li.pop(); li.pop();
initModuleState.sqlite3Dir = li.join('/') + '/'; initModuleState.sqlite3Dir = li.join('/') + '/';
} }
//console.warn("initModuleState =",initModuleState);
self.sqlite3InitModule = (...args)=>{ self.sqlite3InitModule = (...args)=>{
//console.warn("Using replaced sqlite3InitModule()",self.location); //console.warn("Using replaced sqlite3InitModule()",self.location);
@ -79,6 +83,7 @@
src.pop(); src.pop();
sim.scriptDir = src.join('/') + '/'; sim.scriptDir = src.join('/') + '/';
} }
initModuleState.debugModule('sqlite3InitModuleState =',initModuleState);
if(0){ if(0){
console.warn("Replaced sqlite3InitModule()"); console.warn("Replaced sqlite3InitModule()");
console.warn("self.location.href =",self.location.href); console.warn("self.location.href =",self.location.href);

View File

@ -5,7 +5,7 @@
environment must have been set up already but it will not have environment must have been set up already but it will not have
loaded its WASM when the code in this file is run. The function it loaded its WASM when the code in this file is run. The function it
installs will be run after the WASM module is loaded, at which installs will be run after the WASM module is loaded, at which
point the sqlite3 WASM API bits will be set up. point the sqlite3 JS API bits will get set up.
*/ */
if(!Module.postRun) Module.postRun = []; if(!Module.postRun) Module.postRun = [];
Module.postRun.push(function(Module/*the Emscripten-style module object*/){ Module.postRun.push(function(Module/*the Emscripten-style module object*/){

View File

@ -8,6 +8,7 @@
// See notes in extern-post-js.js // See notes in extern-post-js.js
const sqlite3InitModuleState = self.sqlite3InitModuleState || Object.create(null); const sqlite3InitModuleState = self.sqlite3InitModuleState || Object.create(null);
delete self.sqlite3InitModuleState; delete self.sqlite3InitModuleState;
sqlite3InitModuleState.debugModule('self.location =',self.location);
/** /**
This custom locateFile() tries to figure out where to load `path` This custom locateFile() tries to figure out where to load `path`
@ -30,12 +31,6 @@ delete self.sqlite3InitModuleState;
Module['locateFile'] = function(path, prefix) { Module['locateFile'] = function(path, prefix) {
let theFile; let theFile;
const up = this.urlParams; const up = this.urlParams;
if(0){
console.warn("locateFile(",arguments[0], ',', arguments[1],")",
'self.location =',self.location,
'sqlite3InitModuleState.scriptDir =',this.scriptDir,
'up.entries() =',Array.from(up.entries()));
}
if(up.has(path)){ if(up.has(path)){
theFile = up.get(path); theFile = up.get(path);
}else if(this.sqlite3Dir){ }else if(this.sqlite3Dir){
@ -45,22 +40,37 @@ Module['locateFile'] = function(path, prefix) {
}else{ }else{
theFile = prefix + path; theFile = prefix + path;
} }
sqlite3InitModuleState.debugModule(
"locateFile(",arguments[0], ',', arguments[1],")",
'sqlite3InitModuleState.scriptDir =',this.scriptDir,
'up.entries() =',Array.from(up.entries()),
"result =", theFile
);
return theFile; return theFile;
}.bind(sqlite3InitModuleState); }.bind(sqlite3InitModuleState);
/** /**
Bug warning: this xInstantiateWasm bit must remain disabled Bug warning: a custom Module.instantiateWasm() does not work
until this bug is resolved or wasmfs won't work: in WASMFS builds:
https://github.com/emscripten-core/emscripten/issues/17951 https://github.com/emscripten-core/emscripten/issues/17951
In such builds we must disable this.
*/ */
const xInstantiateWasm = 1 const xNameOfInstantiateWasm = true
? 'emscripten-bug-17951' ? 'instantiateWasm'
: 'instantiateWasm'; : 'emscripten-bug-17951';
Module[xInstantiateWasm] = function callee(imports,onSuccess){ Module[xNameOfInstantiateWasm] = function callee(imports,onSuccess){
imports.env.foo = function(){}; imports.env.foo = function(){};
console.warn("instantiateWasm() uri =",callee.uri, self.location.href); const uri = Module.locateFile(
const wfetch = ()=>fetch(callee.uri, {credentials: 'same-origin'}); callee.uri, (
('undefined'===typeof scriptDirectory/*var defined by Emscripten glue*/)
? '' : scriptDirectory)
);
sqlite3InitModuleState.debugModule(
"instantiateWasm() uri =", uri
);
const wfetch = ()=>fetch(uri, {credentials: 'same-origin'});
const loadWasm = WebAssembly.instantiateStreaming const loadWasm = WebAssembly.instantiateStreaming
? async ()=>{ ? async ()=>{
return WebAssembly.instantiateStreaming(wfetch(), imports) return WebAssembly.instantiateStreaming(wfetch(), imports)
@ -79,10 +89,12 @@ Module[xInstantiateWasm] = function callee(imports,onSuccess){
It is literally impossible to reliably get the name of _this_ script It is literally impossible to reliably get the name of _this_ script
at runtime, so impossible to derive X.wasm from script name at runtime, so impossible to derive X.wasm from script name
X.js. Thus we need, at build-time, to redefine X.js. Thus we need, at build-time, to redefine
Module[xInstantiateWasm].uri by appending it to a build-specific Module[xNameOfInstantiateWasm].uri by appending it to a build-specific
copy of this file with the name of the wasm file. This is apparently copy of this file with the name of the wasm file. This is apparently
why Emscripten hard-codes the name of the wasm file into their glue why Emscripten hard-codes the name of the wasm file into their glue
scripts. scripts.
*/ */
Module[xInstantiateWasm].uri = 'sqlite3.wasm'; Module[xNameOfInstantiateWasm].uri = 'sqlite3.wasm';
/* END FILE: api/pre-js.js */ /* END FILE: api/pre-js.js, noting that the build process may add a
line after this one to change the above .uri to a build-specific
one. */

View File

@ -1028,7 +1028,7 @@ int sqlite3_wasm_init_wasmfs(const char *zMountPoint){
#else #else
SQLITE_WASM_KEEP SQLITE_WASM_KEEP
int sqlite3_wasm_init_wasmfs(const char *zUnused){ int sqlite3_wasm_init_wasmfs(const char *zUnused){
emscripten_console_warn("WASMFS OPFS is not compiled in."); //emscripten_console_warn("WASMFS OPFS is not compiled in.");
if(zUnused){/*unused*/} if(zUnused){/*unused*/}
return SQLITE_NOTFOUND; return SQLITE_NOTFOUND;
} }

View File

@ -33,7 +33,7 @@ fiddle.emcc-flags = \
-sENVIRONMENT=web,worker \ -sENVIRONMENT=web,worker \
-sMODULARIZE \ -sMODULARIZE \
-sDYNAMIC_EXECUTION=0 \ -sDYNAMIC_EXECUTION=0 \
-sWASM_BIGINT=$(emcc_enable_bigint) \ -sWASM_BIGINT=$(emcc.WASM_BIGINT) \
-sEXPORT_NAME=$(sqlite3.js.init-func) \ -sEXPORT_NAME=$(sqlite3.js.init-func) \
-Wno-limited-postlink-optimizations \ -Wno-limited-postlink-optimizations \
$(sqlite3.js.flags.--post-js) \ $(sqlite3.js.flags.--post-js) \

View File

@ -11,7 +11,8 @@ MAKEFILE.wasmfs := $(lastword $(MAKEFILE_LIST))
# subdirectory because loading of the auxiliary # subdirectory because loading of the auxiliary
# sqlite3-wasmfs.worker.js file it creates fails if sqlite3-wasmfs.js # sqlite3-wasmfs.worker.js file it creates fails if sqlite3-wasmfs.js
# is loaded from any directory other than the one in which the # is loaded from any directory other than the one in which the
# containing HTML lives. # containing HTML lives. Similarly, they cannot be loaded from a
# Worker to an Emscripten quirk regarding loading nested Workers.
dir.wasmfs := $(dir.wasm) dir.wasmfs := $(dir.wasm)
sqlite3-wasmfs.js := $(dir.wasmfs)/sqlite3-wasmfs.js sqlite3-wasmfs.js := $(dir.wasmfs)/sqlite3-wasmfs.js
sqlite3-wasmfs.wasm := $(dir.wasmfs)/sqlite3-wasmfs.wasm sqlite3-wasmfs.wasm := $(dir.wasmfs)/sqlite3-wasmfs.wasm
@ -65,7 +66,7 @@ sqlite3-wasmfs.jsflags += $(sqlite3-wasmfs.fsflags)
#^^^ using ALLOW_MEMORY_GROWTH produces a warning from emcc: #^^^ using ALLOW_MEMORY_GROWTH produces a warning from emcc:
# USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, # USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly,
# see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth] # see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
sqlite3-wasmfs.jsflags += -sWASM_BIGINT=$(emcc_enable_bigint) sqlite3-wasmfs.jsflags += -sWASM_BIGINT=$(emcc.WASM_BIGINT)
$(eval $(call call-make-pre-js,sqlite3-wasmfs)) $(eval $(call call-make-pre-js,sqlite3-wasmfs))
sqlite3-wasmfs.jsflags += $(pre-post-common.flags) $(pre-post-sqlite3-wasmfs.flags) sqlite3-wasmfs.jsflags += $(pre-post-common.flags) $(pre-post-sqlite3-wasmfs.flags)
$(sqlite3-wasmfs.js): $(sqlite3-wasm.c) \ $(sqlite3-wasmfs.js): $(sqlite3-wasm.c) \
@ -83,13 +84,13 @@ wasmfs: $(sqlite3-wasmfs.js)
all: wasmfs all: wasmfs
######################################################################## ########################################################################
# speedtest1 for wasmfs. Re. sqlite3-wasm.o vs sqlite3-wasm.c: # speedtest1 for wasmfs.
# building against the latter (predictably) results in a slightly
# faster binary.
speedtest1-wasmfs.js := $(dir.wasmfs)/speedtest1-wasmfs.js speedtest1-wasmfs.js := $(dir.wasmfs)/speedtest1-wasmfs.js
speedtest1-wasmfs.wasm := $(subst .js,.wasm,$(speedtest1-wasmfs.js)) speedtest1-wasmfs.wasm := $(subst .js,.wasm,$(speedtest1-wasmfs.js))
speedtest1-wasmfs.eflags := $(sqlite3-wasmfs.fsflags) speedtest1-wasmfs.eflags := $(sqlite3-wasmfs.fsflags)
speedtest1-wasmfs.eflags += $(SQLITE_OPT) -DSQLITE_WASM_WASMFS speedtest1-wasmfs.eflags += $(SQLITE_OPT) -DSQLITE_WASM_WASMFS
speedtest1-wasmfs.eflags += -sALLOW_MEMORY_GROWTH=0
speedtest1-wasmfs.eflags += -sINITIAL_MEMORY=$(emcc.INITIAL_MEMORY.128)
$(eval $(call call-make-pre-js,speedtest1-wasmfs)) $(eval $(call call-make-pre-js,speedtest1-wasmfs))
$(speedtest1-wasmfs.js): $(speedtest1.cses) $(sqlite3-wasmfs.js) \ $(speedtest1-wasmfs.js): $(speedtest1.cses) $(sqlite3-wasmfs.js) \
$(MAKEFILE) $(MAKEFILE.wasmfs) \ $(MAKEFILE) $(MAKEFILE.wasmfs) \

View File

@ -1,5 +1,5 @@
C Reduce\swasm\smodule's\sstarting\smemory\sfrom\s128mb\sto\s16mb.\sThe\slatter\svalue\sis\sneeded\sonly\sfor\sWASMFS-based\sbatch-runner.js,\sas\sWASMFS\sbuilds\scannot\sbe\sconfigured\sfor\sdynamic\smemory\sgrowth\swithout\sa\stremendous\sperformance\shit. C Minor\sWASM\sbuild\scleanups.\sEnable\scustom\sModule.instantiateWasm()\swhen\snot\sin\sWASMFS\smode\s(where\sit\sdoesn't\swork).\sAdd\ssqlite3.debugModule\sURL\sparam\sto\senable\ssome\smodule-init-time\sdebugging\soutput.
D 2022-10-30T08:39:18.647 D 2022-10-30T09:47:33.723
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -487,17 +487,17 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
F ext/wasm/GNUmakefile 63d6b799daa7dff24378370642170a69872bdd225d4d40e8557b07bcdab0fb22 F ext/wasm/GNUmakefile 49dbcffa0195d47b89b61f52795f7ed3af97ad0e1f765ff20be16d3e63e6f52b
F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20 F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20
F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9 F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 9120c2f8f51fa85f46dcf4dcb6b12f4a807d428f6089b99cdb08d8ddfcfd88b2 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 9120c2f8f51fa85f46dcf4dcb6b12f4a807d428f6089b99cdb08d8ddfcfd88b2
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
F ext/wasm/api/README.md 1350088aee90e959ad9a94fab1bb6bcb5e99d4d27f976db389050f54f2640c78 F ext/wasm/api/README.md 1350088aee90e959ad9a94fab1bb6bcb5e99d4d27f976db389050f54f2640c78
F ext/wasm/api/extern-post-js.js 926d192b72fa808378e5e7843721dc7ba3908c163a0260e06d8aa501c12f5469 F ext/wasm/api/extern-post-js.js f3dc4219a2a1f183d98452dcbd55a0c5351b759eccca75480a92473974d8b047
F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41 F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41
F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08902f15c34720ee4a1 F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08902f15c34720ee4a1
F ext/wasm/api/post-js-header.js 2e5c886398013ba2af88028ecbced1e4b22dc96a86467f1ecc5ba9e64ef90a8b F ext/wasm/api/post-js-header.js d6ab3dfef4a06960d28a7eaa338d4e2a1a5981e9b38718168bbde8fdb2a439b8
F ext/wasm/api/pre-js.js 151e0616614a49f3db19ed544fa13b38c87c108959fbcd4029ea8399a562d94f F ext/wasm/api/pre-js.js 287e462f969342b032c03900e668099fa1471d852df7a472de5bc349161d9c04
F ext/wasm/api/sqlite3-api-cleanup.js ecdc69dbfccfe26146f04799fcfd4a6f5790d46e7e3b9b6e9b0491f92ed8ae34 F ext/wasm/api/sqlite3-api-cleanup.js ecdc69dbfccfe26146f04799fcfd4a6f5790d46e7e3b9b6e9b0491f92ed8ae34
F ext/wasm/api/sqlite3-api-glue.js b87543534821ecfa56fc0d0cd153a115fa974e70d6217964baf6e93ef8d25fb1 F ext/wasm/api/sqlite3-api-glue.js b87543534821ecfa56fc0d0cd153a115fa974e70d6217964baf6e93ef8d25fb1
F ext/wasm/api/sqlite3-api-oo1.js 612063da9838286310712c5411f97b8b20759b1e31e75a9b25b6381541db79a8 F ext/wasm/api/sqlite3-api-oo1.js 612063da9838286310712c5411f97b8b20759b1e31e75a9b25b6381541db79a8
@ -507,7 +507,7 @@ F ext/wasm/api/sqlite3-api-worker1.js efdca1b42299d80b54f366d15a8fc5343f3b3e9e36
F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3 F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
F ext/wasm/api/sqlite3-opfs-async-proxy.js f04cb1eb483c92bc61fe02749f7afcf17ec803968171aedd7d96faf428c26bcb F ext/wasm/api/sqlite3-opfs-async-proxy.js f04cb1eb483c92bc61fe02749f7afcf17ec803968171aedd7d96faf428c26bcb
F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9 F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9
F ext/wasm/api/sqlite3-wasm.c 940d576bda7068ba60492e206d06a3567b8a89a3770700aa88690a6e246a0c78 F ext/wasm/api/sqlite3-wasm.c 14ac9c03f6585332f882703f3427f11ffe8ffe8b6c0e252be2c518f7aac6ab6a
F ext/wasm/api/sqlite3-worker1-promiser.js 0c7a9826dbf82a5ed4e4f7bf7816e825a52aff253afbf3350431f5773faf0e4b F ext/wasm/api/sqlite3-worker1-promiser.js 0c7a9826dbf82a5ed4e4f7bf7816e825a52aff253afbf3350431f5773faf0e4b
F ext/wasm/api/sqlite3-worker1.js 1e54ea3d540161bcfb2100368a2fc0cad871a207b8336afee1c445715851ec54 F ext/wasm/api/sqlite3-worker1.js 1e54ea3d540161bcfb2100368a2fc0cad871a207b8336afee1c445715851ec54
F ext/wasm/batch-runner.html 4deeed44fe41496dc6898d9fb17938ea3291f40f4bfb977e29d0cef96fbbe4c8 F ext/wasm/batch-runner.html 4deeed44fe41496dc6898d9fb17938ea3291f40f4bfb977e29d0cef96fbbe4c8
@ -526,7 +526,7 @@ F ext/wasm/demo-worker1-promiser.js f68ffbbe1c6086e18ce7961b8fc2b40dd88db174f590
F ext/wasm/demo-worker1.html 2c178c1890a2beb5a5fecb1453e796d067a4b8d3d2a04d65ca2eb1ab2c68ef5d F ext/wasm/demo-worker1.html 2c178c1890a2beb5a5fecb1453e796d067a4b8d3d2a04d65ca2eb1ab2c68ef5d
F ext/wasm/demo-worker1.js 8ba51d94c4601fa5c313d9e59b63b238f5305b5d5739ad21f4782a0161e6682e F ext/wasm/demo-worker1.js 8ba51d94c4601fa5c313d9e59b63b238f5305b5d5739ad21f4782a0161e6682e
F ext/wasm/dist.make 481289899a07958439d07ee4302ff86235fa0fbb72f17ea05db2be90a94abf90 F ext/wasm/dist.make 481289899a07958439d07ee4302ff86235fa0fbb72f17ea05db2be90a94abf90
F ext/wasm/fiddle.make 68abe5dcfdd6fdf8dc1b715b94b96fae771b5b28bc1843997b9b1ec79407f2c9 F ext/wasm/fiddle.make e570ec1bfc7d803507a2e514fe32f673fe001b2114b85c73c3964a462ba8bcfc
F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
F ext/wasm/fiddle/fiddle-worker.js b4a0c8ab6c0983218543ca771c45f6075449f63a1dcf290ae5a681b2cba8800d F ext/wasm/fiddle/fiddle-worker.js b4a0c8ab6c0983218543ca771c45f6075449f63a1dcf290ae5a681b2cba8800d
F ext/wasm/fiddle/fiddle.js 974b995119ac443685d7d94d3b3c58c6a36540e9eb3fed7069d5653284071715 F ext/wasm/fiddle/fiddle.js 974b995119ac443685d7d94d3b3c58c6a36540e9eb3fed7069d5653284071715
@ -551,7 +551,7 @@ F ext/wasm/tester1-worker.html d02b9d38876b023854cf8955e77a40912f7e516956b4dbe1e
F ext/wasm/tester1.html c6c47e5a8071eb09cb1301104435c8e44fbb5719c92411f5b2384a461f9793c5 F ext/wasm/tester1.html c6c47e5a8071eb09cb1301104435c8e44fbb5719c92411f5b2384a461f9793c5
F ext/wasm/tester1.js 679013b874152427d302e56f78bf542c47a090a85c8ca010bb4002859431cf61 F ext/wasm/tester1.js 679013b874152427d302e56f78bf542c47a090a85c8ca010bb4002859431cf61
F ext/wasm/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd72273503ae7d5 F ext/wasm/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd72273503ae7d5
F ext/wasm/wasmfs.make 86177d02df29cb0eb03c3cc48f07783148834a4c659889908f82625666148fce F ext/wasm/wasmfs.make fb2d3c4a298b12cf1ec994ad1d0f1d027ae297449b364cde43d2eb807d68048f
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
@ -2054,8 +2054,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P b42f56205fa8e06431fb1a45c48257d93605fea0ed95bd766f71e27292d1af33 P ed9d93c48752ba6e18edc1238a8ccdbf6bb65c74fb52a89d515f8b0ab6bea13a
R fee21034df3950eed20c15397fa0e46a R 152da8e4d58aa2b6c53dba6c132052cb
U stephan U stephan
Z 5acb90fd6218fca4312e02f1c60a0679 Z 872cdab51141e46959dbd774870191f4
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
ed9d93c48752ba6e18edc1238a8ccdbf6bb65c74fb52a89d515f8b0ab6bea13a 50f678846a2b3c3d0818f0bae89f2ee86252a2e6a9c7029ebaae3953ca0fa14c