@@ -2225,10 +2225,11 @@ def emscript_wasm_backend(infile, outfile, memfile, compiler_engine,
2225
2225
2226
2226
asm_consts , asm_const_funcs = create_asm_consts_wasm (forwarded_json , metadata )
2227
2227
em_js_funcs = create_em_js (forwarded_json , metadata )
2228
+ asm_const_pairs = ['%s: %s' % (key , value ) for key , value in asm_consts ]
2229
+ asm_const_map = 'var ASM_CONSTS = {\n ' + ', \n ' .join (asm_const_pairs ) + '\n };\n '
2228
2230
pre = pre .replace (
2229
2231
'// === Body ===' ,
2230
- ('// === Body ===\n \n var ASM_CONSTS = [' +
2231
- ',\n ' .join (asm_consts ) + '];\n ' +
2232
+ ('// === Body ===\n \n ' + asm_const_map +
2232
2233
asstr ('\n ' .join (asm_const_funcs )) +
2233
2234
'\n ' .join (em_js_funcs ) + '\n ' ))
2234
2235
pre = apply_table (pre )
@@ -2342,7 +2343,7 @@ def debug_copy(src, dst):
2342
2343
2343
2344
2344
2345
def create_asm_consts_wasm (forwarded_json , metadata ):
2345
- asm_consts = [ 0 ] * len ( metadata [ 'asmConsts' ])
2346
+ asm_consts = {}
2346
2347
all_sigs = []
2347
2348
for k , v in metadata ['asmConsts' ].items ():
2348
2349
const , sigs , call_types = v
@@ -2417,6 +2418,8 @@ def create_asm_consts_wasm(forwarded_json, metadata):
2417
2418
var args = readAsmConstArgs(sigPtr, argbuf);
2418
2419
return ASM_CONSTS[code].apply(null, args);
2419
2420
}''' % (const_name , preamble ))
2421
+ asm_consts = [(key , value ) for key , value in asm_consts .items ()]
2422
+ asm_consts .sort ()
2420
2423
return asm_consts , asm_const_funcs
2421
2424
2422
2425
0 commit comments