JavaScript:Home Page: Difference between revisions
Jump to navigation
Jump to search
Nnethercote (talk | contribs) |
m (→Active Projects: Replace bugzilla link by project page.) |
||
Line 26: | Line 26: | ||
*[http://bugzilla.mozilla.org/show_bug.cgi?id=608741 Type Inference]: perform hybrid dynamic/static analysis of JavaScript code to provide better type/invariant information to the JIT compiler | *[http://bugzilla.mozilla.org/show_bug.cgi?id=608741 Type Inference]: perform hybrid dynamic/static analysis of JavaScript code to provide better type/invariant information to the JIT compiler | ||
*[[Javascript:SpiderMonkey:BaselineCompiler|Baseline Compiler]]: New Baseline JIT to replace Interperter+JM. | *[[Javascript:SpiderMonkey:BaselineCompiler|Baseline Compiler]]: New Baseline JIT to replace Interperter+JM. | ||
*[ | *[[IonMonkey|IonMonkey]]: upgrade current JIT compiler with classic SSA-based compiler techniques to allow better optimization of JIT code | ||
*[[JavaScript:SpiderMonkey:RegExp API|Expose ECMA 262 Regular Expression API]] to C/C++ clients. | *[[JavaScript:SpiderMonkey:RegExp API|Expose ECMA 262 Regular Expression API]] to C/C++ clients. | ||
*A [[JavaScript:SpiderMonkey:Parser API|new SpiderMonkey API]] for building and inspecting parse trees. | *A [[JavaScript:SpiderMonkey:Parser API|new SpiderMonkey API]] for building and inspecting parse trees. |
Revision as of 16:42, 16 May 2013
JavaScript language and implementation plans go here. For background, see:
- "So you're new to SpiderMonkey" is a guide for new contributors to the JavaScript engine.
- The Mozilla JS language page.
- The ECMAScript (ES) language site.
- SpiderMonkey pages at the Mozilla Developer Network.
- JavaScript pages at the Mozilla Developer Network.
Hackers
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.
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
- Expose ECMA 262 Regular Expression API to C/C++ clients.
- A new SpiderMonkey API for building and inspecting parse trees.
- Narcissus (source code).
- JS engine modularization: incremental long-term project to modularize JS engine source code.
- 2013 Projects: Projects for the year 2013
Previous Active Projects
- TraceMonkey, the addition of native-code compilation to SpiderMonkey
- JägerMonkey, a new baseline JIT compiler for SpiderMonkey
- Tamarin, the new virtual machine for ActionScript that's already in Flash.
- Context-thread the SpiderMonkey interpreter.
- Make mostly-dense arrays blazingly fast. Latest bug: type-specialized Arrays.
- Rhino documentation at MDC. Rhino is an implementation of JavaScript in Java.
Blue Sky
- JS3 Requirements, or what lies beyond JS2/ES4.
Benchmarks
Coding Style Guidelines
- SpiderMonkey code guidelines
- How to write unit tests for use by jsDriver.pl.
References
- "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 references.
- Several conferences where most memory management papers go: ISMM, PLDI, OOPSLA, VEE.