OLD | NEW |
---|---|
1 // Modified embenchen to direct to asm-wasm. | |
2 // Flags: --expose-wasm | |
3 // TODO(mtrofin): Drop when verifier is fixed. | |
4 // Flags: --noturbo-verify-allocation | |
5 | |
1 var EXPECTED_OUTPUT = 'sum:8930\n'; | 6 var EXPECTED_OUTPUT = 'sum:8930\n'; |
2 var Module = { | 7 var Module = { |
3 arguments: [1], | 8 arguments: [1], |
4 print: function(x) {Module.printBuffer += x + '\n';}, | 9 print: function(x) {Module.printBuffer += x + '\n';}, |
5 preRun: [function() {Module.printBuffer = ''}], | 10 preRun: [function() {Module.printBuffer = ''}], |
6 postRun: [function() { | 11 postRun: [function() { |
7 assertEquals(EXPECTED_OUTPUT, Module.printBuffer); | 12 assertEquals(EXPECTED_OUTPUT, Module.printBuffer); |
8 }], | 13 }], |
9 }; | 14 }; |
10 // The Module object: Our interface to the outside world. We import | 15 // The Module object: Our interface to the outside world. We import |
(...skipping 5431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5442 | 5447 |
5443 | 5448 |
5444 var Math_min = Math.min; | 5449 var Math_min = Math.min; |
5445 function asmPrintInt(x, y) { | 5450 function asmPrintInt(x, y) { |
5446 Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack); | 5451 Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack); |
5447 } | 5452 } |
5448 function asmPrintFloat(x, y) { | 5453 function asmPrintFloat(x, y) { |
5449 Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack); | 5454 Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack); |
5450 } | 5455 } |
5451 // EMSCRIPTEN_START_ASM | 5456 // EMSCRIPTEN_START_ASM |
5452 var asm = (function(global, env, buffer) { | 5457 var asm = _WASMEXP_.instantiateModuleFromAsm((function Module(global, env, buffe r) { |
5453 'use asm'; | 5458 'use asm'; |
5454 var HEAP8 = new global.Int8Array(buffer); | 5459 var HEAP8 = new global.Int8Array(buffer); |
5455 var HEAP16 = new global.Int16Array(buffer); | 5460 var HEAP16 = new global.Int16Array(buffer); |
5456 var HEAP32 = new global.Int32Array(buffer); | 5461 var HEAP32 = new global.Int32Array(buffer); |
5457 var HEAPU8 = new global.Uint8Array(buffer); | 5462 var HEAPU8 = new global.Uint8Array(buffer); |
5458 var HEAPU16 = new global.Uint16Array(buffer); | 5463 var HEAPU16 = new global.Uint16Array(buffer); |
5459 var HEAPU32 = new global.Uint32Array(buffer); | 5464 var HEAPU32 = new global.Uint32Array(buffer); |
5460 var HEAPF32 = new global.Float32Array(buffer); | 5465 var HEAPF32 = new global.Float32Array(buffer); |
5461 var HEAPF64 = new global.Float64Array(buffer); | 5466 var HEAPF64 = new global.Float64Array(buffer); |
5462 | 5467 |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5758 tempRet0 = i1; | 5763 tempRet0 = i1; |
5759 } | 5764 } |
5760 function stackSave() { | 5765 function stackSave() { |
5761 return STACKTOP | 0; | 5766 return STACKTOP | 0; |
5762 } | 5767 } |
5763 | 5768 |
5764 // EMSCRIPTEN_END_FUNCS | 5769 // EMSCRIPTEN_END_FUNCS |
5765 | 5770 |
5766 | 5771 |
5767 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 }; | 5772 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 }; |
5768 }) | 5773 }).toString(), |
5769 // EMSCRIPTEN_END_ASM | 5774 // EMSCRIPTEN_END_ASM |
5770 ({ "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 { "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": asmPrin tFloat, "min": Math_min, "_free": _free, "_emscripten_memcpy_big": _emscripten_m emcpy_big, "_printf": _printf, "_send": _send, "_pwrite": _pwrite, "__reallyNega tive": __reallyNegative, "_fwrite": _fwrite, "_malloc": _malloc, "_mkport": _mkp ort, "_fprintf": _fprintf, "___setErrNo": ___setErrNo, "__formatString": __forma tString, "_fileno": _fileno, "_fflush": _fflush, "_write": _write, "STACKTOP": S TACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "NaN": NaN, "Infinity": Infinity }, buffer); |
aseemgarg
2016/02/22 22:28:41
why are we passing stdlib stuff as ffi?
bradn
2016/02/23 05:56:02
Some of this is temporary, some is a quirk of embe
| |
5776 asm.__init__(); | |
5771 var _strlen = Module["_strlen"] = asm["_strlen"]; | 5777 var _strlen = Module["_strlen"] = asm["_strlen"]; |
5772 var _memcpy = Module["_memcpy"] = asm["_memcpy"]; | 5778 var _memcpy = Module["_memcpy"] = asm["_memcpy"]; |
5773 var _main = Module["_main"] = asm["_main"]; | 5779 var _main = Module["_main"] = asm["_main"]; |
5774 var _memset = Module["_memset"] = asm["_memset"]; | 5780 var _memset = Module["_memset"] = asm["_memset"]; |
5775 var runPostSets = Module["runPostSets"] = asm["runPostSets"]; | 5781 var runPostSets = Module["runPostSets"] = asm["runPostSets"]; |
5776 | 5782 |
5777 Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; | 5783 Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; |
5778 Runtime.stackSave = function() { return asm['stackSave']() }; | 5784 Runtime.stackSave = function() { return asm['stackSave']() }; |
5779 Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; | 5785 Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; |
5780 | 5786 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5967 } | 5973 } |
5968 | 5974 |
5969 // shouldRunNow refers to calling main(), not run(). | 5975 // shouldRunNow refers to calling main(), not run(). |
5970 var shouldRunNow = true; | 5976 var shouldRunNow = true; |
5971 if (Module['noInitialRun']) { | 5977 if (Module['noInitialRun']) { |
5972 shouldRunNow = false; | 5978 shouldRunNow = false; |
5973 } | 5979 } |
5974 | 5980 |
5975 | 5981 |
5976 run([].concat(Module["arguments"])); | 5982 run([].concat(Module["arguments"])); |
OLD | NEW |