JavaScript:Projects
From MozillaWiki
This list of active JS projects was compiled from older lists of tracked projects and 2013 projects.
JavaScript Language
Parallel JS
- Goal: Expose finer-grain parallelism to JavaScript.
- Team: sstangl, luke, niko, shu?
- Tracking bug: bug 891877
- More info: Work includes a parallel subset of JS (bug 891877), RiverTrail/ParallelArray (bug 801869), and prototyping Shared ArrayBuffers.
ECMA-402 i18n
- Goal: Implement ECMA-402, the ECMAScript Internationalization API.
- Developer: jwalden
- Tracking bug: bug 837963
- More info: https://wiki.mozilla.org/User:Waldo/Internationalization_API
Test262
- Goal: Integrate test262, ECMA's ECMAScript conformance test suite, into Mozilla's tests (bug 496923) and fix failures (bug 652780).
- Developer: jwalden
- Tracking bug: bug 496923
- More info: https://wiki.mozilla.org/User:Waldo/ES6_testing and http://test262.ecmascript.org/
ES6
- Goal: Implement ES6 language support.
- Team:
- Tracking bug: bug 694100
- More info: https://wiki.mozilla.org/ES6_plans
Classes
- Goal: Implement classes.
- Team:
- Tracking bug: bug 837314
- More info: http://wiki.ecmascript.org/doku.php?id=harmony:classes
Modules
- Goal: Implement modules.
- Team: Eddy and Jason?
- Tracking bug: bug 568953
- More info: http://wiki.ecmascript.org/doku.php?id=harmony:modules
Symbols
- Goal: Implement symbols (formerly private name objects).
- Team: Eddy
- Tracking bug: bug 645416
- More info: http://wiki.ecmascript.org/doku.php?id=harmony:private_name_objects
Typed Objects
- Goal: Implement typed objects (formerly binary objects) for efficient, structured access to contiguously allocated data.
- Team: Nikhil, Niko?
- Tracking bug: bug 578700
- More info: http://wiki.ecmascript.org/doku.php?id=harmony:typed_objects
GC
Generational GC
- Goal: Implement generational garbage collector (GGC) and exactly root Firefox.
- Team: terrence, sfink, jonco
- Tracking bug: GGC bug 619558 and Exact Stack Rooting bug 753203
- More info: https://wiki.mozilla.org/Javascript:SpiderMonkey:ProjectGenerationGarbageCollection and rooting hazard burndown chart
Memory-dependent GC Configuration
- Goal:
- Team: TBD
- Tracking bug: TBD
- More info: Currently the GC settings are configured for Unagi devices with 256 MB, and even if this is our current target in terms of Market, but we would need to generalize our GC settings to perform best on all devices (see Bug 898556). Even with GGC, we might still have frequenct GCs if we overflow the nursery before the next minor GC.
Future
- Incremental Browser Marking
- Compacting GC
- Nursery allocation of JSStrings
- G1: The Good Parts bug 902174
- Concurrent GC
Performance
ARM/B2G
- Goal: Optimize ARM performance for Firefox OS and Android.
- Team: dcrosher, jcoppeard, mrosenberg
- Tracking bug: bug
- More info:
AWFY
- Goal: Optimize AWFY benchmarks.
- Team:
- Tracking bug: bug
- More info: http://arewefastyet.com/
OdinMonkey
- Goal: Optimize OdinMonkey and Emscripten.
- Team: luke, alon
- More info: https://wiki.mozilla.org/Javascript:SpiderMonkey:OdinMonkey
- Visual Studio integration with Emscripten - Naveed waiting on contractor SOW
Web Browser Grand Prix
- Goal: Beat Chrome on Tom's Hardware's Web Browser Grand Prix (WBGP). Run Peacekeeper, Browsermark, and JSBench benchmarks in-house.
- Team: Naveed
- Tracking bug: bug 499198, bug 851699
- More info: http://browsermark.rightware.com/
Selenium Browser Benchmark
- Goal: Create a test framework to browse real websites using Selenium scripts and measure performance regressions.
- Team: jmaher, bclary, luke
- Tracking bug: bug
- More info: The A-Team is implementing this test framework with input from Luke. https://etherpad.mozilla.org/js-benchmarking
Start-up Cache
- Goal: Cache JS bytecode as "extra data" for B2G apps. The target would be to land with support of packaged app for B2G 1.4 / 1.5 (Gecko 30 / 32).
- Team: npierron
- Tracking bug: bug 900784
- More info: https://wiki.mozilla.org/Javascript:SpiderMonkey:StartupCache
Dev Tools
jsdbg2
- Goal: Add profiling API (bug 797876) and JIT stack debugging (bug 716647) jsdbg2, then remove JSD1 (bug 800200).
- Team: TBD
- Tracking bug: bug 800200
- More info:
Technical Debt
Run TBPL Tests On All Platforms
- Goal: Get our existing test suites running on TBPL in all combinations of the shell and browser on both desktop and ARM.
- Team:
- Tracking bug: bug
- More info:
Minimize Header Dependencies
- Goal: Reduce header dependencies of jsapi.h and friends to improve rebuild times.
- Team: njn
- Tracking bug: bug 908050
- More info: bug 785103 tracks header minimization for all of Gecko.
Refactor MOP
- Goal: Update meta-object protocol to be more ES5/ES6-like.
- Team: jwalden
- Tracking bug: MOP bug 637378 and property/element bug 586842
- More info: https://wiki.mozilla.org/Javascript:SpiderMonkey:PropertyElementStorage
Remove JSContext
- Goal: The single-threaded JSRuntime makes JSContext unnecessary, but most of the work is to make Gecko stop depending on them (bug 767938).
- Team:
- Tracking bug: JSContext bug 650361 and Gecko bug 767938
- More info:
Research
Shumway
- Goal: Add built-in SWF support to Firefox with Shumway.
- Team: mbebenita, shu, till, tobeytailor, ydelendik
- Tracking bug: bug 904346
- More info: http://www.areweflashyet.com/