diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-06-05 19:17:53 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-06-05 19:17:53 -0700 |
commit | e068f02137c1de07480886c0f6181150d77816dd (patch) | |
tree | ffc61c76fe4c0bf9fd58e6c7105c3c4378501698 /src/settings.js | |
parent | 5b2f181ab4662dca21f3605aeca8c2e0cd212b20 (diff) |
fix alignment issues with USE_TYPED_ARRAYS == 2
Diffstat (limited to 'src/settings.js')
-rw-r--r-- | src/settings.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/settings.js b/src/settings.js index cbdb6ac1..f2dd9065 100644 --- a/src/settings.js +++ b/src/settings.js @@ -39,6 +39,13 @@ INIT_HEAP = 0; // Whether to initialize memory anywhere other than the stack to OPTIMIZE = 0; // Optimize llvm operations into js commands RELOOP = 0; // Recreate js native loops from llvm data USE_TYPED_ARRAYS = 0; // Try to use typed arrays for the heap + // 1 has two heaps, IHEAP (int32) and FHEAP (double), + // and addresses there are a match for normal addresses. This wastes memory but can be fast. + // 2 is a single heap, accessible through views as int8, int32, etc. This saves memory but + // has more overhead of pointer calculations. It also is limited to storing doubles as floats, + // simply because double stores are not necessarily 64-bit aligned, and we can only access + // 64-bit aligned values with a 64-bit typed array. Likewise int64s are stored as int32's, + // which is potentially very dangerous! SKIP_STACK_IN_SMALL = 1; // When enabled, does not push/pop the stack at all in // functions that have no basic stack usage. But, they // may allocate stack later, and in a loop, this can be @@ -51,6 +58,8 @@ SAFE_HEAP = 0; // Check each write to the heap against a list of blocked address // SAFE_HEAP_LINES, checking only the specified lines. // If equal to 3, checking all *but* the specified lines. Note // that 3 is the option you usually want here. +SAFE_HEAP_LOG = 0; // Log out all SAFE_HEAP operations + LABEL_DEBUG = 0; // Print out labels and functions as we enter them EXCEPTION_DEBUG = 1; // Print out exceptions in emscriptened code EXECUTION_TIMEOUT = -1; // Throw an exception after X seconds - useful to debug infinite loops |