OLD | NEW |
1 // Modified embenchen to direct to asm-wasm. | 1 // Modified embenchen to direct to asm-wasm. |
2 // Flags: --expose-wasm | 2 // Flags: --validate-asm --allow-natives-syntax |
3 | 3 |
4 var EXPECTED_OUTPUT = 'sum:8930\n'; | 4 var EXPECTED_OUTPUT = 'sum:8930\n'; |
5 var Module = { | 5 var Module = { |
6 arguments: [1], | 6 arguments: [1], |
7 print: function(x) {Module.printBuffer += x + '\n';}, | 7 print: function(x) {Module.printBuffer += x + '\n';}, |
8 preRun: [function() {Module.printBuffer = ''}], | 8 preRun: [function() {Module.printBuffer = ''}], |
9 postRun: [function() { | 9 postRun: [function() { |
10 assertEquals(EXPECTED_OUTPUT, Module.printBuffer); | 10 assertEquals(EXPECTED_OUTPUT, Module.printBuffer); |
11 }], | 11 }], |
12 }; | 12 }; |
(...skipping 5432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5445 | 5445 |
5446 | 5446 |
5447 var Math_min = Math.min; | 5447 var Math_min = Math.min; |
5448 function asmPrintInt(x, y) { | 5448 function asmPrintInt(x, y) { |
5449 Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack); | 5449 Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack); |
5450 } | 5450 } |
5451 function asmPrintFloat(x, y) { | 5451 function asmPrintFloat(x, y) { |
5452 Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack); | 5452 Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack); |
5453 } | 5453 } |
5454 // EMSCRIPTEN_START_ASM | 5454 // EMSCRIPTEN_START_ASM |
5455 var asm = Wasm.instantiateModuleFromAsm((function Module(global, env, buffer) { | 5455 var ModuleFunc; |
| 5456 var asm = (ModuleFunc = function(global, env, buffer) { |
5456 'use asm'; | 5457 'use asm'; |
5457 var HEAP8 = new global.Int8Array(buffer); | 5458 var HEAP8 = new global.Int8Array(buffer); |
5458 var HEAP16 = new global.Int16Array(buffer); | 5459 var HEAP16 = new global.Int16Array(buffer); |
5459 var HEAP32 = new global.Int32Array(buffer); | 5460 var HEAP32 = new global.Int32Array(buffer); |
5460 var HEAPU8 = new global.Uint8Array(buffer); | 5461 var HEAPU8 = new global.Uint8Array(buffer); |
5461 var HEAPU16 = new global.Uint16Array(buffer); | 5462 var HEAPU16 = new global.Uint16Array(buffer); |
5462 var HEAPU32 = new global.Uint32Array(buffer); | 5463 var HEAPU32 = new global.Uint32Array(buffer); |
5463 var HEAPF32 = new global.Float32Array(buffer); | 5464 var HEAPF32 = new global.Float32Array(buffer); |
5464 var HEAPF64 = new global.Float64Array(buffer); | 5465 var HEAPF64 = new global.Float64Array(buffer); |
5465 | 5466 |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5761 tempRet0 = i1; | 5762 tempRet0 = i1; |
5762 } | 5763 } |
5763 function stackSave() { | 5764 function stackSave() { |
5764 return STACKTOP | 0; | 5765 return STACKTOP | 0; |
5765 } | 5766 } |
5766 | 5767 |
5767 // EMSCRIPTEN_END_FUNCS | 5768 // EMSCRIPTEN_END_FUNCS |
5768 | 5769 |
5769 | 5770 |
5770 return { _strlen: _strlen, _memcpy: _memcpy, _main: _main, _memset: _memset, r
unPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRest
ore: stackRestore, setThrew: setThrew, setTempRet0: setTempRet0, setTempRet1: se
tTempRet1, setTempRet2: setTempRet2, setTempRet3: setTempRet3, setTempRet4: setT
empRet4, setTempRet5: setTempRet5, setTempRet6: setTempRet6, setTempRet7: setTem
pRet7, setTempRet8: setTempRet8, setTempRet9: setTempRet9 }; | 5771 return { _strlen: _strlen, _memcpy: _memcpy, _main: _main, _memset: _memset, r
unPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRest
ore: stackRestore, setThrew: setThrew, setTempRet0: setTempRet0, setTempRet1: se
tTempRet1, setTempRet2: setTempRet2, setTempRet3: setTempRet3, setTempRet4: setT
empRet4, setTempRet5: setTempRet5, setTempRet6: setTempRet6, setTempRet7: setTem
pRet7, setTempRet8: setTempRet8, setTempRet9: setTempRet9 }; |
5771 }).toString(), | 5772 }) |
5772 // EMSCRIPTEN_END_ASM | 5773 // EMSCRIPTEN_END_ASM |
5773 { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array":
Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array":
Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array}, {"abo
rt": abort, "assert": assert, "asmPrintInt": asmPrintInt, "asmPrintFloat": asmPr
intFloat, "min": Math_min, "_free": _free, "_emscripten_memcpy_big": _emscripten
_memcpy_big, "_printf": _printf, "_send": _send, "_pwrite": _pwrite, "__reallyNe
gative": __reallyNegative, "_fwrite": _fwrite, "_malloc": _malloc, "_mkport": _m
kport, "_fprintf": _fprintf, "___setErrNo": ___setErrNo, "__formatString": __for
matString, "_fileno": _fileno, "_fflush": _fflush, "_write": _write, "STACKTOP":
STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABOR
T, "NaN": NaN, "Infinity": Infinity }, buffer); | 5774 ({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array":
Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array"
: Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "
abort": abort, "assert": assert, "asmPrintInt": asmPrintInt, "asmPrintFloat": as
mPrintFloat, "min": Math_min, "_free": _free, "_emscripten_memcpy_big": _emscrip
ten_memcpy_big, "_printf": _printf, "_send": _send, "_pwrite": _pwrite, "__reall
yNegative": __reallyNegative, "_fwrite": _fwrite, "_malloc": _malloc, "_mkport":
_mkport, "_fprintf": _fprintf, "___setErrNo": ___setErrNo, "__formatString": __
formatString, "_fileno": _fileno, "_fflush": _fflush, "_write": _write, "STACKTO
P": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": A
BORT, "NaN": NaN, "Infinity": Infinity }, buffer); |
| 5775 assertTrue(%IsAsmWasmCode(ModuleFunc)); |
5774 var _strlen = Module["_strlen"] = asm["_strlen"]; | 5776 var _strlen = Module["_strlen"] = asm["_strlen"]; |
5775 var _memcpy = Module["_memcpy"] = asm["_memcpy"]; | 5777 var _memcpy = Module["_memcpy"] = asm["_memcpy"]; |
5776 var _main = Module["_main"] = asm["_main"]; | 5778 var _main = Module["_main"] = asm["_main"]; |
5777 var _memset = Module["_memset"] = asm["_memset"]; | 5779 var _memset = Module["_memset"] = asm["_memset"]; |
5778 var runPostSets = Module["runPostSets"] = asm["runPostSets"]; | 5780 var runPostSets = Module["runPostSets"] = asm["runPostSets"]; |
5779 | 5781 |
5780 Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; | 5782 Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; |
5781 Runtime.stackSave = function() { return asm['stackSave']() }; | 5783 Runtime.stackSave = function() { return asm['stackSave']() }; |
5782 Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; | 5784 Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; |
5783 | 5785 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5970 } | 5972 } |
5971 | 5973 |
5972 // shouldRunNow refers to calling main(), not run(). | 5974 // shouldRunNow refers to calling main(), not run(). |
5973 var shouldRunNow = true; | 5975 var shouldRunNow = true; |
5974 if (Module['noInitialRun']) { | 5976 if (Module['noInitialRun']) { |
5975 shouldRunNow = false; | 5977 shouldRunNow = false; |
5976 } | 5978 } |
5977 | 5979 |
5978 | 5980 |
5979 run([].concat(Module["arguments"])); | 5981 run([].concat(Module["arguments"])); |
OLD | NEW |