aboutsummaryrefslogtreecommitdiff
path: root/emscripten.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-11-13 18:38:26 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-07 14:23:18 -0800
commit2e28a4acfa6af10b1661f16c8998e58ca2598143 (patch)
tree26564986a1128ca70658762d112e71793af795b4 /emscripten.py
parentb140e7ee7354afcc215e1fc3593ea385e15ae92a (diff)
remove irrelevant code from asm module
Diffstat (limited to 'emscripten.py')
-rwxr-xr-xemscripten.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/emscripten.py b/emscripten.py
index 10834314..3a0c6a8f 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -223,8 +223,22 @@ def emscript(infile, settings, outfile, libraries=[]):
if DEBUG: t = time.time()
funcs_js = ''.join([output[0] for output in outputs])
- if settings.get('ASM_JS'): # asm.js code must be indented
- funcs_js = ' ' + funcs_js.replace('\n', '\n ')
+ if settings.get('ASM_JS'):
+ funcs_js = '''
+var asm = (function(env, buffer) {
+ 'use asm';
+ var HEAP8 = new env.Int8Array(buffer);
+ var HEAP16 = new env.Int16Array(buffer);
+ var HEAP32 = new env.Int32Array(buffer);
+ var HEAPU8 = new env.Uint8Array(buffer);
+ var HEAPU16 = new env.Uint16Array(buffer);
+ var HEAPU32 = new env.Uint32Array(buffer);
+ var HEAPF32 = new env.Float32Array(buffer);
+ var HEAPF64 = new env.Float64Array(buffer);
+''' + funcs_js.replace('\n', '\n ') + '''
+ return {};
+})({}, buffer);
+'''
for func_js, curr_forwarded_data in outputs:
# merge forwarded data