1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Reformulate some JS to work around a buggy/broken code transformation in one of the Emscripten-driven code optimizers.

FossilOrigin-Name: e1249369d5ec1c582c280b1f578b35d53637fdf1cbd97c16d5ed95b136b83e56
This commit is contained in:
stephan
2022-09-21 20:24:12 +00:00
parent 6110a5d0ab
commit f75c0c7036
4 changed files with 25 additions and 23 deletions

View File

@ -79,7 +79,7 @@ SQLITE_OPT = \
ifneq (,$(filter release,$(MAKECMDGOALS)))
emcc_opt ?= -Oz -g3 -flto
else
emcc_opt ?= -O0 -g
emcc_opt ?= -O0 -g3
# ^^^^ build times for -O levels higher than 0 are painful at
# dev-time.
endif
@ -414,18 +414,18 @@ push-fiddle: $(fiddle_files)
.PHONY: o0 o1 o2 o3 os oz
o-xtra :=
#o-xtra += -flto
o0:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-O0 $(o-xtra)" fiddle_opt=-O0
o1:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-O1 $(o-xtra)" fiddle_opt=-O1
o2:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-O2 $(o-xtra)" fiddle_opt=-O2
o3:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-O3 $(o-xtra)" fiddle_opt=-O3
os:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-Os $(o-xtra)" fiddle_opt=-Os
oz:
$(MAKE) clean; $(MAKE) -e "emcc_opt=-Oz $(o-xtra)" fiddle_opt=-Oz
o0: clean
$(MAKE) -e "emcc_opt=-O0 $(o-xtra)" fiddle_opt=-O0
o1: clean
$(MAKE) -e "emcc_opt=-O1 $(o-xtra)" fiddle_opt=-O1
o2: clean
$(MAKE) -e "emcc_opt=-O2 $(o-xtra)" fiddle_opt=-O2
o3: clean
$(MAKE) -e "emcc_opt=-O3 $(o-xtra)" fiddle_opt=-O3
os: clean
$(MAKE) -e "emcc_opt=-Os $(o-xtra)" fiddle_opt=-Os
oz: clean
$(MAKE) -e "emcc_opt=-Oz $(o-xtra)" fiddle_opt=-Oz
########################################################################
# Sub-makes...

View File

@ -179,8 +179,10 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
'openFlags', 'prepareFlags', 'resultCodes',
'syncFlags', 'udfFlags', 'version'
]){
for(const [k,v] of Object.entries(wasm.ctype[t])){
capi[k] = v;
for(const e of Object.entries(wasm.ctype[t])){
// ^^^ [k,v] there triggers a buggy code transormation via one
// of the Emscripten-driven optimizers.
capi[e[0]] = e[1];
}
}
/* Bind all registered C-side structs... */