diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/postamble.js | 21 | ||||
-rw-r--r-- | src/preamble.js | 23 |
2 files changed, 22 insertions, 22 deletions
diff --git a/src/postamble.js b/src/postamble.js index 88986dea..8f585b86 100644 --- a/src/postamble.js +++ b/src/postamble.js @@ -1,6 +1,27 @@ // === Auto-generated postamble setup entry stuff === +if (memoryInitializer) { + function applyData(data) { +#if USE_TYPED_ARRAYS == 2 + HEAPU8.set(data, STATIC_BASE); +#else + allocate(data, 'i8', ALLOC_NONE, STATIC_BASE); +#endif + } + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + applyData(Module['readBinary'](memoryInitializer)); + } else { + addRunDependency('memory initializer'); + Browser.asyncLoad(memoryInitializer, function(data) { + applyData(data); + removeRunDependency('memory initializer'); + }, function(data) { + throw 'could not load memory initializer ' + memoryInitializer; + }); + } +} + function ExitStatus(status) { this.name = "ExitStatus"; this.message = "Program terminated with exit(" + status + ")"; diff --git a/src/preamble.js b/src/preamble.js index 579e3065..02935f8f 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -1020,28 +1020,7 @@ __ATEXIT__.push({ func: function() { PGOMonitor.dump() } }); addOnPreRun(function() { addRunDependency('pgo') }); #endif -function loadMemoryInitializer(filename) { - function applyData(data) { -#if USE_TYPED_ARRAYS == 2 - HEAPU8.set(data, STATIC_BASE); -#else - allocate(data, 'i8', ALLOC_NONE, STATIC_BASE); -#endif - } - - // always do this asynchronously, to keep shell and web as similar as possible - addOnPreRun(function() { - if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { - applyData(Module['readBinary'](filename)); - } else { - Browser.asyncLoad(filename, function(data) { - applyData(data); - }, function(data) { - throw 'could not load memory initializer ' + filename; - }); - } - }); -} +var memoryInitializer = null; // === Body === |