aboutsummaryrefslogtreecommitdiff
path: root/src/settings.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-16 12:49:07 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-11-16 12:49:07 -0800
commitf240c68de7fc6399af7b7ea08a42d9ee7c8d2748 (patch)
tree696507c4fe88bd65f0ef3f0cdd58c00e43a5acb9 /src/settings.js
parent1e3a60f206041ec004ef9755a673103c62e3c213 (diff)
initial support for unaligned reads/writes in t2
Diffstat (limited to 'src/settings.js')
-rw-r--r--src/settings.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/settings.js b/src/settings.js
index 092822e9..7e076288 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -56,6 +56,13 @@ I64_MODE = 0; // How to implement 64-bit integers:
// use doubles for addition etc., like mode 0. This mode is slower than
// mode 0, so its only benefit is proper support for 64 bit bitops.
// TODO: Full bignum support
+EMULATE_UNALIGNED_ACCESSES = 1; // If set, the compiler will 'emulate' loads and stores that are not known to
+ // be sufficiently aligned, by working on individual bytes. This can be
+ // important in USE_TYPED_ARRAYS == 2, where unaligned accesses do not work,
+ // specifically in the case where unsafe LLVM optimizations have generated possibly
+ // unaligned code. (Without unsafe LLVM optimizations, there should be no
+ // need for this option.)
+ // Currently this only works for integers, not doubles and floats.
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