diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-10 12:18:03 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-10 12:18:03 -0800 |
commit | 88bb4669368998a3ec86bd24c3b9f3b716475413 (patch) | |
tree | 6f32eed767c54234ba1ab8c4d08b682fda54cf4c /src | |
parent | f5b94a26214939e52a304e30b0404a2c584fdc62 (diff) |
add HEAPF64, useful sometimes for manually optimized code
Diffstat (limited to 'src')
-rw-r--r-- | src/preamble.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/preamble.js b/src/preamble.js index 98d12a43..afae5ea7 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -594,7 +594,7 @@ var FHEAP; #endif #endif #if USE_TYPED_ARRAYS == 2 -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; #endif var STACK_ROOT, STACKTOP, STACK_MAX; @@ -631,6 +631,7 @@ function enlargeMemory() { HEAPU16 = new Uint16Array(buffer); HEAPU32 = new Uint32Array(buffer); HEAPF32 = new Float32Array(buffer); + HEAPF64 = new Float64Array(buffer); HEAP8.set(oldHEAP8); #endif } @@ -662,6 +663,7 @@ var FAST_MEMORY = Module['FAST_MEMORY'] || {{{ FAST_MEMORY }}}; HEAPU16 = new Uint16Array(buffer); HEAPU32 = new Uint32Array(buffer); HEAPF32 = new Float32Array(buffer); + HEAPF64 = new Float64Array(buffer); // Endianness check (note: assumes compiler arch was little-endian) HEAP32[0] = 255; @@ -697,6 +699,7 @@ Module['HEAPU8'] = HEAPU8; Module['HEAPU16'] = HEAPU16; Module['HEAPU32'] = HEAPU32; Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; #endif STACK_ROOT = STACKTOP = Runtime.alignMemory(STATICTOP); @@ -707,7 +710,7 @@ var tempDoublePtr = Runtime.alignMemory(STACK_MAX, 8); var tempDoubleI8 = HEAP8.subarray(tempDoublePtr); var tempDoubleI32 = HEAP32.subarray(tempDoublePtr >> 2); var tempDoubleF32 = HEAPF32.subarray(tempDoublePtr >> 2); -var tempDoubleF64 = new Float64Array(HEAP8.buffer).subarray(tempDoublePtr >> 3); +var tempDoubleF64 = HEAPF64.subarray(tempDoublePtr >> 3); function copyTempFloat(ptr) { // functions, because inlining this code is increases code size too much tempDoubleI8[0] = HEAP8[ptr]; tempDoubleI8[1] = HEAP8[ptr+1]; |