[Issue 17887] Add WebAssembly reserved version identifier

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Oct 12 19:46:19 UTC 2017


https://issues.dlang.org/show_bug.cgi?id=17887

--- Comment #3 from github-bugzilla at puremagic.com ---
Commit pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/8cd923389443cb018feadb1b0b91598cf6b9cc53
Fix issue 17887 - Add AsmJS, Emscripten and WebAssembly version identifiers

WebAssembly (http://webassembly.org/) is a is a low-level binary format
for in-browser client-side scripting (though support for non-browser
execution environments is also planned) and also a JavaScript API. See
https://github.com/WebAssembly/design/blob/master/Portability.md
for more information on the characteristics of this virtual ISA.
All major browser vendors have reached consensus on the WebAssembly API
and binary format, so growth opportunity for D in this area is huge.

The current feature set and toolchain is based on asm.js
(http://asmjs.org/spec/latest/) and Emscripten
(http://kripken.github.io/emscripten-site/).
Emscripten is a toolchain for converting  LLVM IR to JavaScript/asm.js.
Emscripten uses the musl (http://www.musl-libc.org/) libc library,
which potentially requires improving the `version (CRuntime_Musl)`
support in druntime and phobos.

In a couple of years asm.js may be phased-out in favour of WebAssembly,
but for now it is necessary as WebAssembly is not mature enough.

--


More information about the Digitalmars-d-bugs mailing list