Confirmed users
367
edits
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
* [https://docs.google.com/spreadsheets/d/1PFa3aDxY6mffT8uoflCaFitX9lKj_Y4_aZwtMApIRiI/edit#gid=0 SharedArrayBuffer, Atomics, Futex] | * [https://docs.google.com/spreadsheets/d/1PFa3aDxY6mffT8uoflCaFitX9lKj_Y4_aZwtMApIRiI/edit#gid=0 SharedArrayBuffer, Atomics, Futex] | ||
== | == Possible further load-time optimizations == | ||
* Move code generation off of parsing thread: {{bug|959263}} | * Move code generation off of parsing thread: {{bug|959263}} | ||
* PGAOT (Profile-Guided Ahead-of-Time Compilation): | * PGAOT (Profile-Guided Ahead-of-Time Compilation): | ||
** Create a baseline asm.js compiler: super-fast codegen but with full static type info | ** Create a baseline asm.js compiler: super-fast codegen but with full static type info | ||
** Allow individual functions in an asm.js module to choose full or baseline (via "use" pragma on individual functions) | ** Allow individual functions in an asm.js module to choose full or baseline (via "use" pragma on individual functions) | ||
** Allow Emscripten users to change default (full or baseline), hand-annotate, or do profiling to place pragmas. | ** Allow Emscripten users to change default (full or baseline), hand-annotate, or do profiling | ||
to place pragmas. | |||
* Parse and AOT compile while downloading: {{bug|1061886}} | * Parse and AOT compile while downloading: {{bug|1061886}} | ||
* Remove async-script requirement for asm.js caching: | * Remove async-script requirement for asm.js caching: | ||
Line 30: | Line 27: | ||
== Possible asm.js extensions that don't require new JS features == | == Possible asm.js extensions that don't require new JS features == | ||
* Zero-cost exception handling: {{bug|1065089}} | |||
* Extend asm.js to allow proper tail calls for all return types and do the tail-call optimization | * Extend asm.js to allow proper tail calls for all return types and do the tail-call optimization | ||
* 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 | ||
Line 46: | Line 44: | ||
* Print warning on out-of-bounds heap access: {{bug|879891}} | * Print warning on out-of-bounds heap access: {{bug|879891}} | ||
* Add about:config option to check for and emit warning on unaligned heap access | * Add about:config option to check for and emit warning on unaligned heap access | ||
* Fix asm.js caching browser interop ({{bug|1047098}}, {{bug|1047105}} | |||
== Current asm.js spec bugs == | == Current asm.js spec bugs == |