Home
» Glossary
Load-Store Consistency (LSC), is the requirement that after a value with a specific type is written to a memory location, loads from that memory location will be of the same type. So if a variable contains a 32-bit floating point number, then both loads and stores to that variable will be of 32-bit floating point values, and not 16-bit unsigned integers or anything else.
Note
This definition is taken from Emscripten: An LLVM-to-JavaScript Compiler (section 2.1.1). There is additional detail in that paper.
Typed Arrays Mode 2 is the name of the approach used for the current Emscripten memory representation. This is the only memory model supported by the (current) Fastcomp compiler and is the default memory model for the old compiler.
The original compiler supported a number of other memory models and compilation modes (see Code Generation Modes) but Typed Arrays Mode 2 proved to have, among other benefits, the greatest support for arbitrary code.
GitHub is a Git repository web-based hosting service that also offers project-based collaboration features including wikis, task management, and bug tracking.
The Emscripten project is hosted on Github.
JavaScript (ECMAScript) is a programming language that is primarily used as part of a web browser, providing programmatic access to objects within a host environment. With node.js, it is also being used in server-side network programming.
The asm.js subset of JavaScript is Emscripten’s target output language.
The LLVM interpreter (LLI) executes programs from LLVM bitcode. This tool is not maintained and has odd errors and crashes.
Emscripten provides an alternative tool, the LLVM Nativizer.
The LLVM Nativizer (tools/nativize_llvm.py) compiles LLVM bitcode to a native executable. This links to the host libraries, so comparisons of output with Emscripten builds will not necessarily be identical.
It performs a similar role to the LLVM Interpreter.
Note
Sometimes the output of the this tool will crash or fail. This tool is intended for developers fixing bugs in Emscripten.
vs-tool is a Visual Studio 2010 plugin for integrating MinGW, Clang and Emscripten into the VS IDE. The plugin is automatically added by the Windows NSIS Installer Emscripten SDK if Visual Studio 2010 is present on the target system.
Note
At time of writing this only supports Visual Studio 2010 (check here to see if VS 2012 support has been added).
The following terms are used when referring to the SDK and Emscripten SDK (emsdk):
A set of tools. For example, sdk-1.5.6-32bit is an SDK consisting of the tools: clang-3.2-32bit, node-0.10.17-32bit, python-2.7.5.1-32bit and emscripten-1.5.6.
There are a number of different Emscripten SDK packages, including the Portable Emscripten SDK and Windows NSIS Installer Emscripten SDK. SDKs can be downloaded from here.