At the moment, wasm can only call functions that were passed as values of the import object which is passed to to one of the instantiation functions (e.g.…
That came from one of Lin's first posts about WebAssembly: https://hacks.mozilla.org/2017/02/a-crash-course-in-just-in-...
I wouldn't say this is "tied" to ES6, but rather intends to integrate nicely. If a developer has no interest in being called by or calling JS, they should be able to ignore the ES6 module aspect. For workers, it should…
The current plan (https://github.com/WebAssembly/design/blob/master/Web.md#imp...) is to integrate WebAssembly into the ES6 module system (so you could have a JS module import a WebAssembly module and vice versa). With…
https://bugs.webkit.org/show_bug.cgi?id=146064
asm.js now allows the heap to be resized (by replacing the heap's ArrayBuffer with a newer, bigger ArrayBuffer that was either copied or produced via ES7-proposed ArrayBuffer.transfer [1]). Heap resizing currently has…
On x64 in Firefox, at least, there are no bounds checks; the index is a uint32; the entire accessible 4GB range is mapped PROT_NONE with only the accessible region mapped PROT_READ|PROT_WRITE; out-of-bounds accesses…
For (1): You're right that an option is to compile the VM itself to asm.js (since the VM is usually written C/C++ code; JITs are an obvious exception since they generate machine code at runtime). This has already been…
The 'war on native' has multiple fronts and this post is just reporting on one of them. For many apps, I agree that the items you've mentioned are the most significant and progress is also being made on these fronts…
I've always thought that this ranked among the most obscure: typedef int F(int); class C { F f; }; int C::f(int i) { return i; } I've never seen it used in practice...
Agreed, I was just replying to the OP that, even on desktop using scalar ops, there are advantages to single vs. double precision ops.
Referring to http://agner.org/optimize, both Nehalem (Intel Core i7) and Jaguar (AMD Kabini) instruction tables: you are right that addss, subss show the same latency as addsd and subsd, resp. However, mulss and divss…
Hah, you beat me to it :)
(Luke Wagner from Mozilla here.) > This seems very much targeted at emscripten and not to cross-compilers that start with GC'ed languages like GWT, Dart, ClojureScript, et al. That's correct, although one could…
You're right, if they left out the + sign on the beta keyboard UI they probably forgot all the calls to free(), WebSockets, and maybe CSS. Outlook is bleak.
Paging isn't cheap; neither are cache misses.
Umm, the claim wasn't speculative, it was measured on an aurora release that you can test out right now: http://www.mozilla.com/en-US/firefox/channel.
Boot To Gecko is not a project to build an operation system. IIUC, Mozilla is planning to reuse Linux and core components of Android. If anything, I would think Boot To Gecko would be better thought of as a shell around…
Yeah, it seems to be a Linux thing; Andreas was explaining that the font-rendering is highly platform-dependent.
If the title was "Could Go be used instead of C for a great many applications?" then the author would stand a chance at making a point. However, asking whether Go can "replace" C shows a deep misunderstanding of why…
> That xulrunner/FF/thunderbird/etc are built form the same tree > ... running wc -l on the codebase These are your "bloat" indicators? That's about as primitive as using SLOC as an indicator for programmer…
Of course this is not new. I would have to assume that every value representation under the sun has already been invented and probably during the 60s. 61-bit integers would either require long long integer arithmetic on…
js-ctypes goes through the JSAPI, so the JS engine can still guard against rogue NaNs.
It is also used in WebKit's JSC. Using the NaN space goes back much further than LuaJIT. E.g., you can see it mention in this 1993 survey paper: http://lambda-the-ultimate.org/node/3912.
The VM controls the creation and manipulation of doubles, so beggars and nasties do not have the ability to create a non-canonical NaN.
At the moment, wasm can only call functions that were passed as values of the import object which is passed to to one of the instantiation functions (e.g.…
That came from one of Lin's first posts about WebAssembly: https://hacks.mozilla.org/2017/02/a-crash-course-in-just-in-...
I wouldn't say this is "tied" to ES6, but rather intends to integrate nicely. If a developer has no interest in being called by or calling JS, they should be able to ignore the ES6 module aspect. For workers, it should…
The current plan (https://github.com/WebAssembly/design/blob/master/Web.md#imp...) is to integrate WebAssembly into the ES6 module system (so you could have a JS module import a WebAssembly module and vice versa). With…
https://bugs.webkit.org/show_bug.cgi?id=146064
asm.js now allows the heap to be resized (by replacing the heap's ArrayBuffer with a newer, bigger ArrayBuffer that was either copied or produced via ES7-proposed ArrayBuffer.transfer [1]). Heap resizing currently has…
On x64 in Firefox, at least, there are no bounds checks; the index is a uint32; the entire accessible 4GB range is mapped PROT_NONE with only the accessible region mapped PROT_READ|PROT_WRITE; out-of-bounds accesses…
For (1): You're right that an option is to compile the VM itself to asm.js (since the VM is usually written C/C++ code; JITs are an obvious exception since they generate machine code at runtime). This has already been…
The 'war on native' has multiple fronts and this post is just reporting on one of them. For many apps, I agree that the items you've mentioned are the most significant and progress is also being made on these fronts…
I've always thought that this ranked among the most obscure: typedef int F(int); class C { F f; }; int C::f(int i) { return i; } I've never seen it used in practice...
Agreed, I was just replying to the OP that, even on desktop using scalar ops, there are advantages to single vs. double precision ops.
Referring to http://agner.org/optimize, both Nehalem (Intel Core i7) and Jaguar (AMD Kabini) instruction tables: you are right that addss, subss show the same latency as addsd and subsd, resp. However, mulss and divss…
Hah, you beat me to it :)
(Luke Wagner from Mozilla here.) > This seems very much targeted at emscripten and not to cross-compilers that start with GC'ed languages like GWT, Dart, ClojureScript, et al. That's correct, although one could…
You're right, if they left out the + sign on the beta keyboard UI they probably forgot all the calls to free(), WebSockets, and maybe CSS. Outlook is bleak.
Paging isn't cheap; neither are cache misses.
Umm, the claim wasn't speculative, it was measured on an aurora release that you can test out right now: http://www.mozilla.com/en-US/firefox/channel.
Boot To Gecko is not a project to build an operation system. IIUC, Mozilla is planning to reuse Linux and core components of Android. If anything, I would think Boot To Gecko would be better thought of as a shell around…
Yeah, it seems to be a Linux thing; Andreas was explaining that the font-rendering is highly platform-dependent.
If the title was "Could Go be used instead of C for a great many applications?" then the author would stand a chance at making a point. However, asking whether Go can "replace" C shows a deep misunderstanding of why…
> That xulrunner/FF/thunderbird/etc are built form the same tree > ... running wc -l on the codebase These are your "bloat" indicators? That's about as primitive as using SLOC as an indicator for programmer…
Of course this is not new. I would have to assume that every value representation under the sun has already been invented and probably during the 60s. 61-bit integers would either require long long integer arithmetic on…
js-ctypes goes through the JSAPI, so the JS engine can still guard against rogue NaNs.
It is also used in WebKit's JSC. Using the NaN space goes back much further than LuaJIT. E.g., you can see it mention in this 1993 survey paper: http://lambda-the-ultimate.org/node/3912.
The VM controls the creation and manipulation of doubles, so beggars and nasties do not have the ability to create a non-canonical NaN.