JavaScript:Projects: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Start-up Cache: Update Start-up Cache description and link)
(mark obsolete)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{OutdatedSpiderMonkey}}
This list of active JS projects was compiled from older lists of [https://wiki.mozilla.org/JavaScript:Home_Page#Tracked_Projects tracked projects] and [https://wiki.mozilla.org/Javascript:SpiderMonkey:2013Projects 2013 projects].
This list of active JS projects was compiled from older lists of [https://wiki.mozilla.org/JavaScript:Home_Page#Tracked_Projects tracked projects] and [https://wiki.mozilla.org/Javascript:SpiderMonkey:2013Projects 2013 projects].


Line 60: Line 62:
* '''Tracking bug:''' GGC {{bug|619558}} and Exact Stack Rooting {{bug|753203}}
* '''Tracking bug:''' GGC {{bug|619558}} and Exact Stack Rooting {{bug|753203}}
* '''More info:''' https://wiki.mozilla.org/Javascript:SpiderMonkey:ProjectGenerationGarbageCollection and [https://people.mozilla.org/~sfink/analysis/ rooting hazard burndown chart]
* '''More info:''' https://wiki.mozilla.org/Javascript:SpiderMonkey:ProjectGenerationGarbageCollection and [https://people.mozilla.org/~sfink/analysis/ 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 ==
== Future ==
* Incremental Browser Marking
* Compacting GC
* Compacting GC
* Incremental Browser Marking
* Nursery allocation of JSStrings
* Nursery allocation of JSStrings
* G1: The Good Parts {{bug|902174}}
* G1: The Good Parts {{bug|902174}}
Line 88: Line 96:
** Visual Studio integration with Emscripten - Naveed waiting on contractor SOW
** Visual Studio integration with Emscripten - Naveed waiting on contractor SOW


== Browsermark 2.0 ==
== Web Browser Grand Prix ==
* '''Goal:''' Run Browsermark 2.0 benchmark in-house.
* '''Goal:''' Beat Chrome on Tom's Hardware's Web Browser Grand Prix (WBGP). Run Peacekeeper, Browsermark, and JSBench benchmarks in-house.
* '''Team:''' Naveed
* '''Team:''' Naveed
* '''Tracking bug:''' {{bug|915281}}
* '''Tracking bug:''' {{bug|499198}}, {{bug|851699}}
* '''More info:''' http://browsermark.rightware.com/
* '''More info:''' http://browsermark.rightware.com/


Line 110: Line 118:
== jsdbg2 ==
== jsdbg2 ==
* '''Goal:''' Add profiling API ({{bug|797876}}) and JIT stack debugging ({{bug|716647}}) jsdbg2, then remove JSD1 ({{bug|800200}}).
* '''Goal:''' Add profiling API ({{bug|797876}}) and JIT stack debugging ({{bug|716647}}) jsdbg2, then remove JSD1 ({{bug|800200}}).
* '''Team:''' jimb?
* '''Team:''' TBD
* '''Tracking bug:''' {{bug|800200}}
* '''Tracking bug:''' {{bug|800200}}
* '''More info:'''  
* '''More info:'''
 
== Heap Profiling ==
* '''Goal:''' Add integrated tools for tracking memory use, finding leaks, and so on.
* '''Team:''' jimb?
* '''Tracking bug:''' {{bug|}}
* '''More info:''' https://wiki.mozilla.org/Javascript:SpiderMonkey:HeapProfiling
 
== Stack Snapshots ==
* '''Goal:''' Add lightweight records of where errors occurred, where event handlers were registered, and so on.
* '''Team:''' jimb?
* '''Tracking bug:''' {{bug|}}
* '''More info:''' https://wiki.mozilla.org/Javascript:SpiderMonkey:StackSnapshots


= Technical Debt =
= Technical Debt =

Latest revision as of 22:09, 27 April 2021

Ambox outdated.png THIS PAGE IS OBSOLETE
This article is in parts, or in its entirety, outdated. Hence, the information presented on this page may be incorrect, and should be treated with due caution. Visit SpiderMonkey.dev for more up to date information.

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

Test262

ES6

Classes

Modules

Symbols

Typed Objects


GC

Generational GC

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

OdinMonkey

Web Browser Grand Prix

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

Dev Tools

jsdbg2

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

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