aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemscripten.py18
-rw-r--r--src/postamble.js5
-rw-r--r--src/preamble.js13
3 files changed, 16 insertions, 20 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
diff --git a/src/postamble.js b/src/postamble.js
index 25232879..144b5af9 100644
--- a/src/postamble.js
+++ b/src/postamble.js
@@ -1,9 +1,4 @@
-#if ASM_JS
- return {};
-})({}, buffer);
-#endif
-
// === Auto-generated postamble setup entry stuff ===
Module.callMain = function callMain(args) {
diff --git a/src/preamble.js b/src/preamble.js
index a27c9890..9342bf2b 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -889,16 +889,3 @@ Module["preloadedAudios"] = {}; // maps url to audio data
// === Body ===
-#if ASM_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);
-#endif
-