summaryrefslogtreecommitdiff
path: root/src/js/post.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/post.js')
-rw-r--r--src/js/post.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/js/post.js b/src/js/post.js
index 72cd836ba..e64774c3c 100644
--- a/src/js/post.js
+++ b/src/js/post.js
@@ -22,7 +22,9 @@ function integrateWasmJS(Module) {
var oldBuffer = Module['buffer'];
var newBuffer = instance.memory;
assert(newBuffer.byteLength >= oldBuffer.byteLength, 'we might fail if we allocated more than TOTAL_MEMORY');
- (new Int8Array(newBuffer)).set(new Int8Array(oldBuffer));
+ // the wasm module does write out the memory initialization, in range STATIC_BASE..STATIC_BUMP, so avoid that
+ (new Int8Array(newBuffer).subarray(0, STATIC_BASE)).set(new Int8Array(oldBuffer).subarray(0, STATIC_BASE));
+ (new Int8Array(newBuffer).subarray(STATIC_BASE + STATIC_BUMP)).set(new Int8Array(oldBuffer).subarray(STATIC_BASE + STATIC_BUMP));
updateGlobalBuffer(newBuffer);
updateGlobalBufferViews();
Module['reallocBuffer'] = function(size) {