JavaScript:Home Page: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Moved some links)
Line 1: Line 1:
JavaScript language and implementation plans go here.  For background, see:
JavaScript language and implementation plans go here.  For background, see:
* [[JavaScript:New to SpiderMonkey|"So you're new to SpiderMonkey"]] is a guide for new contributors to the JavaScript engine.
* The [http://www.mozilla.org/js/language Mozilla JS language] page.
* The [http://www.ecmascript.org/ ECMAScript (ES) language] site.
* [http://developer.mozilla.org/en/docs/SpiderMonkey SpiderMonkey pages] at the [http://developer.mozilla.org Mozilla Developer Network].
* [http://developer.mozilla.org/en/docs/JavaScript JavaScript pages] at the [http://developer.mozilla.org Mozilla Developer Network].
== Hackers ==
* [[JavaScript:Hackers|JavaScript engine hackers and areas of expertise]]
== Guidelines ==
* [[JavaScript:SpiderMonkey:Coding_Style|SpiderMonkey coding style guide]]
* [[JavaScript:Bug Triage Tags|Bug Triage Tags]]
== Benchmarks ==
* [[Benchmark Intro]]
* [[Sunspider Info]]
* [[V8bench Info]]
* [[Kraken Info]]


== Tracked Projects  ==
== Tracked Projects  ==
Line 34: Line 12:
*[[Javascript:SpiderMonkey:HeapProfiling|Heap Profiling]]: Integrated tools for tracking memory use, finding leaks, and so on.
*[[Javascript:SpiderMonkey:HeapProfiling|Heap Profiling]]: Integrated tools for tracking memory use, finding leaks, and so on.
*[[Javascript:SpiderMonkey:StartupCache|Start-up Cache]]: Improve start-up time JavaScript for Gaia applications.
*[[Javascript:SpiderMonkey:StartupCache|Start-up Cache]]: Improve start-up time JavaScript for Gaia applications.
*[[Web Browser Grand Prix]]: Optimize for Tom's Hardware Guide's "Web Browser Grand Prix" (WBGP) benchmarks.


== Active Projects  ==
== Active Projects  ==
Line 57: Line 36:
* [http://developer.mozilla.org/en/docs/Rhino Rhino documentation at MDC]. Rhino is an implementation of JavaScript in Java.
* [http://developer.mozilla.org/en/docs/Rhino Rhino documentation at MDC]. Rhino is an implementation of JavaScript in Java.


== Blue Sky ==
== Benchmarks ==


* [[JavaScript:JS3 Requirements|JS3 Requirements]]
* [[Benchmark Intro]]
* [[Sunspider Info]]
* [[V8bench Info]]
* [[Kraken Info]]


== References ==
== References ==


* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Language_Resources ECMAScript language specifications]
* "[http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html Garbage Collection: algorithms for automatic dynamic memory management]", by Richard Jones, is a comprehensive reference book about different garbage collection algorithms.
* "[http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html Garbage Collection: algorithms for automatic dynamic memory management]", by Richard Jones, is a comprehensive reference book about different garbage collection algorithms.
* Also Richard Jones's webpage has a collection of [http://www.cs.kent.ac.uk/people/staff/rej/gc.html references].
* Also Richard Jones's webpage has a collection of [http://www.cs.kent.ac.uk/people/staff/rej/gc.html references].
* Several conferences where most memory management papers go: [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES858&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 ISMM], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES363&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 PLDI], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES318&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 OOPSLA], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES11259&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574, VEE].
* Several conferences where most memory management papers go: [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES858&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 ISMM], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES363&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 PLDI], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES318&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574 OOPSLA], [http://portal.acm.org/browse_dl.cfm?linked=1&part=series&idx=SERIES11259&coll=portal&dl=ACM&CFID=43281450&CFTOKEN=59448574, VEE].
* [[JavaScript:Bug Triage Tags|Bug Triage Tags]]

Revision as of 03:37, 14 November 2013

JavaScript language and implementation plans go here. For background, see:

Tracked Projects

Projects here have a project plan with milestones, tasks, and owners.

  • Generational Garbage Collection: General Garbage Collection project plan and milestone.
  • OdinMonkey: OdinMonkey project plan and milestone.
  • Property Element Storage: Property and Element Storage project plan and milestone.
  • Debugging: Debugging JavaScript, in web content (both desktop and mobile) and in chrome (add-ons and Firefox itself)
  • Stack Snapshots: Lightweight records of where errors occurred, where event handlers were registered, and so on.
  • Heap Profiling: Integrated tools for tracking memory use, finding leaks, and so on.
  • Start-up Cache: Improve start-up time JavaScript for Gaia applications.
  • Web Browser Grand Prix: Optimize for Tom's Hardware Guide's "Web Browser Grand Prix" (WBGP) benchmarks.

Active Projects

  • Exact Stack Rooting: Conservative rooting has a number of well known downsides.
  • Type Inference: perform hybrid dynamic/static analysis of JavaScript code to provide better type/invariant information to the JIT compiler
  • Baseline Compiler: New Baseline JIT to replace Interperter+JM.
  • IonMonkey: upgrade current JIT compiler with classic SSA-based compiler techniques to allow better optimization of JIT code
  • JS engine modularization: incremental long-term project to modularize JS engine source code.

Retired Projects

Benchmarks

References