This specification defines asm.js, a strict subset of JavaScript that can be used as a low-level, efficient target language for compilers. This sublanguage effectively describes a sandboxed virtual machine for memory-unsafe languages like C or C++. A combination of static and dynamic validation allows JavaScript engines to employ an ahead-of-time (AOT) optimizing compilation strategy for valid asm.js code.

This specification is working towards a candidate draft for asm.js version 1. Mozilla’s SpiderMonkey JavaScript engine provides an optimizing implementation of this draft.

©: asm.js.

Bringing asm.js to the Chakra JavaScript engine in Windows 10