temporary workaround for pathological 40x slower linking issue
Make memory initializer allocation aware of whether running in a pthread.
Implement volatile loads and stores to use Atomics.load and store to guarantee that SpiderMonkey will not optimize those instructions out when executing, and to offer x86-like strong memory consistency across code that uses such constructs.
Add support for LLVM atomics.
Implement Atomic compare-and-exchange support.
Implement Atomic fence support