diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-12-06 14:29:10 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-12-07 14:23:24 -0800 |
commit | 9fcc17f1565c9470d6c9eebe451d0c820784ca96 (patch) | |
tree | 4f5c3bb908fa1a0e20c5671158b1bb25d218bde9 /emscripten.py | |
parent | 82a95c63d46429dccb31b0718bc69e008cee5744 (diff) |
asm glue for tempRet*
Diffstat (limited to 'emscripten.py')
-rwxr-xr-x | emscripten.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/emscripten.py b/emscripten.py index 450bc49b..8bf750ac 100755 --- a/emscripten.py +++ b/emscripten.py @@ -302,7 +302,7 @@ var i64Math_multiply = function(a, b, c, d) { i64Math.multiply(a, b, c, d) }; var i64Math_divide = function(a, b, c, d, e) { i64Math.divide(a, b, c, d, e) }; var i64Math_modulo = function(a, b, c, d, e) { i64Math.modulo(a, b, c, d, e) }; ''' - asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore'] + asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore'] + ['setTempRet%d' % i for i in range(10)] # function tables function_tables = ['dynCall_' + table for table in last_forwarded_json['Functions']['tables']] function_tables_impls = [] @@ -360,7 +360,13 @@ var asmPre = (function(env, buffer) { top = top|0; STACKTOP = top; } -''' + funcs_js.replace('\n', '\n ') + ''' +''' + ''.join([''' + var tempRet%d = 0; + function setTempRet%d(value) { + value = value|0; + tempRet%d = value; + } +''' % (i, i, i) for i in range(10)]) + funcs_js.replace('\n', '\n ') + ''' %s |