Javascript:SpiderMonkey:OdinMonkey: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
== Active ==
== Active ==
* Optimize asm.js->asm.js FFI calls: {{bug|982036}}
* Further optimize asm.js->Ion calls: {{bug|1000632}}
* Add inline fast implementation of sin/cos: {{bug|967709}}
* Implement SIMD proposal ({{bug|894105}}) and incorporate into asm.js ({{bug|992267}})
* Implement SIMD proposal ({{bug|894105}}) and incorporate into asm.js ({{bug|992267}})
* Continued SharedArrayBuffer prototyping in SpiderMonkey and Emscripten
* Continued SharedArrayBuffer prototyping in SpiderMonkey and Emscripten
* Optimize sin/cos: {{bug|967709}}


== Planned next projects ==
== Planned next projects ==
* Fully optimize calls into ({{bug|962641}}) and out of ({{bug|882399}} asm.js
* Move code generation into the parallel compilation tasks: {{bug|959263}}
* Move code generation into the parallel compilation tasks: {{bug|959263}}
* Heap resizing: {{bug|965880}}
* Add enough try/catch to asm.js to allow compilation of C++ exceptions using the zero-cost implementation strategy
* Optimize calls into ({{bug|962641}}), out of ({{bug|1000632}}), and between ({{bug|982036}}) asm.js modules.
* Remove async-script requirement for asm.js caching: {{bug|961057}}
* Remove async-script requirement for asm.js caching: {{bug|961057}}
== Usability improvements ==
* Print warning on out-of-bounds heap access: {{bug|879891}}
* Add about:config option to check for and emit warning on unaligned heap access


== Possible further optimization projects ==
== Possible further optimization projects ==
Line 36: Line 32:


== Possible asm.js extensions that don't require new JS features ==
== Possible asm.js extensions that don't require new JS features ==
* Heap resizing: {{bug|965880}}
* Effectively support 'goto' (even computed 'goto') by formalizing a pattern of while+switch that gets compiled as if it was goto
* Effectively support 'goto' (even computed 'goto') by formalizing a pattern of while+switch that gets compiled as if it was goto
* Extend asm.js to better support dynamically linking asm.js modules (a mutable, callable array argument to asm.js module, like the PLT)
* Extend asm.js to better support dynamically linking asm.js modules (a mutable, callable array argument to asm.js module, like the PLT)
* Add enough try/catch to asm.js to allow compilation of C++ exceptions using the zero-cost implementation strategy
* Add DataView to avoid the alignment mask on asm.js heap accesses (this is mostly a problem of DataView being slow in all browsers)
* Add DataView to avoid the alignment mask on asm.js heap accesses (this is mostly a problem of DataView being slow in all browsers)


Line 49: Line 43:
* FunctionPromise: {{bug|854627}}, or perhaps just make some functions (asm.js, no-free-variables) structured-cloneable
* FunctionPromise: {{bug|854627}}, or perhaps just make some functions (asm.js, no-free-variables) structured-cloneable
* Add way to programmatically observe whether asm.js validated: {{bug|952847}}
* Add way to programmatically observe whether asm.js validated: {{bug|952847}}
== Usability improvements ==
* Print warning on out-of-bounds heap access: {{bug|879891}}
* Add about:config option to check for and emit warning on unaligned heap access


== Current asm.js spec bugs ==
== Current asm.js spec bugs ==
Confirmed users
367

edits