diff options
author | Alon Zakai <azakai@mozilla.com> | 2010-11-28 13:00:41 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2010-11-28 13:00:41 -0800 |
commit | 999e3c466bbe9743528af97579b13846b97b296a (patch) | |
tree | 2c4f3bd6251aca2f03dc84e705c1a9d42522be1d /src | |
parent | 6fbe4e7bc8a8ca7f601cae1fe43851dcb8728125 (diff) |
paranoid memory initialization in typed arrays, lua demo update (with missing files)
Diffstat (limited to 'src')
-rw-r--r-- | src/preamble.js | 1 | ||||
-rw-r--r-- | src/runtime.js | 18 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/preamble.js b/src/preamble.js index 83dac618..f959e89f 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -196,6 +196,7 @@ function __initializeRuntime__() { for (var i = 0; i < HEAP.length; i++) { IHEAP[i] = HEAP[i]; } + HEAP = IHEAP; FHEAP = new Float64Array(TOTAL_MEMORY); } else { IHEAP = HEAP; // fallback diff --git a/src/runtime.js b/src/runtime.js index 3b5b22d8..0f9ef80a 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -8,10 +8,11 @@ RuntimeGenerator = { if (GUARD_MEMORY) { ret += '; assert(' + size + ' > 0)'; } - var initMemory = 'for (var i = 0; i < ' + size + '; i++) HEAP[' + type + 'TOP+i] = 0'; - if (USE_TYPED_ARRAYS) { // No need for typed arrays - per the spec, initialized to 0 anyhow XXX - but reusing memory, don't we need that? - initMemory = 'if (!HAS_TYPED_ARRAYS) { ' + initMemory + '}'; - } + var initMemory = 'for (var i = 0; i < ' + size + '; i++) ' + ( + USE_TYPED_ARRAYS ? + 'IHEAP[' + type + 'TOP+i] = FHEAP[' + type + 'TOP+i] = 0' : + 'HEAP[' + type + 'TOP+i] = 0' + ); ret += '; ' + initMemory; ret += '; ' + type + 'TOP += ' + size; if (QUANTUM_SIZE > 1) { @@ -38,10 +39,11 @@ RuntimeGenerator = { if (GUARD_MEMORY) { ret += '; assert(STACKTOP < STACK_MAX)'; } - var initMemory = 'for (var i = __stackBase__; i < STACKTOP; i++) HEAP[i] = 0'; - if (USE_TYPED_ARRAYS) { // No need for typed arrays - per the spec, initialized to 0 anyhow XXX - but reusing memory, don't we need that? - initMemory = 'if (!HAS_TYPED_ARRAYS) { ' + initMemory + '}'; - } + var initMemory = 'for (var i = __stackBase__; i < STACKTOP; i++) ' + ( + USE_TYPED_ARRAYS ? + 'IHEAP[i] = FHEAP[i] = 0' : + 'HEAP[i] = 0' + ); ret += '; ' + initMemory; return ret; }, |