diff options
Diffstat (limited to 'src/preamble.js')
-rw-r--r-- | src/preamble.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/preamble.js b/src/preamble.js index faf7aa72..ec9e672e 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -89,7 +89,9 @@ function SAFE_HEAP_STORE(dest, value, type, ignore) { #if USE_TYPED_ARRAYS == 1 if (type === null) { IHEAP[dest] = value; +#if USE_FHEAP FHEAP[dest] = value; +#endif } else if (type in Runtime.FLOAT_TYPES) { FHEAP[dest] = value; } else { @@ -516,7 +518,10 @@ function alignMemoryPage(x) { var HEAP; #if USE_TYPED_ARRAYS == 1 -var IHEAP, FHEAP; +var IHEAP; +#if USE_FHEAP +var FHEAP; +#endif #endif #if USE_TYPED_ARRAYS == 2 var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32; @@ -539,8 +544,10 @@ try { if (HAS_TYPED_ARRAYS) { #if USE_TYPED_ARRAYS == 1 HEAP = IHEAP = new Int32Array(TOTAL_MEMORY); +#if USE_FHEAP FHEAP = new Float64Array(TOTAL_MEMORY); #endif +#endif #if USE_TYPED_ARRAYS == 2 var buffer = new ArrayBuffer(TOTAL_MEMORY); HEAP8 = new Int8Array(buffer); @@ -564,7 +571,10 @@ if (HAS_TYPED_ARRAYS) { HEAP[i] = 0; // XXX We do *not* use {{| makeSetValue(0, 'i', 0, 'null') |}} here, since this is done just to optimize runtime speed } #if USE_TYPED_ARRAYS == 1 - IHEAP = FHEAP = HEAP; + IHEAP = HEAP; +#if USE_FHEAP + FHEAP = HEAP; +#endif #endif #if USE_TYPED_ARRAYS == 2 abort('Cannot fallback to non-typed array case in USE_TYPED_ARRAYS == 2: Code is too specialized'); @@ -580,8 +590,10 @@ for (var i = 0; i < base.length; i++) { Module['HEAP'] = HEAP; #if USE_TYPED_ARRAYS == 1 Module['IHEAP'] = IHEAP; +#if USE_FHEAP Module['FHEAP'] = FHEAP; #endif +#endif #if USE_TYPED_ARRAYS == 2 Module['HEAP8'] = HEAP8; Module['HEAP16'] = HEAP16; |