Mozilla 2/2008Q2 Goals: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(No longer a draft)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
These are the Mozilla 2 team goals for Q2 2008:
These are the Mozilla 2 team goals for Q2 2008:
THIS IS A VERY ROUGH DRAFT.


== Memory ==
== Memory ==
Line 14: Line 12:
* Extend dehydra to all C dialects ({{bug|421097}}).
* Extend dehydra to all C dialects ({{bug|421097}}).
* Finish dehydra and deploy on debug+leak tinderboxes, linux and mac ({{bug|425215}}, {{bug|421095}}, et al)
* Finish dehydra and deploy on debug+leak tinderboxes, linux and mac ({{bug|425215}}, {{bug|421095}}, et al)
* Finish analysis passes needed for XPCOMGC
* See OOM goal above
* See OOM goal above
* GCC summit presentation and continuing GCC community involvement
* GCC summit presentation and continuing GCC community involvement
Line 26: Line 23:
* Replace Tamarin Central with Tamarin Tracing in ActionMonkey ({{bug|425818}}).
* Replace Tamarin Central with Tamarin Tracing in ActionMonkey ({{bug|425818}}).
* Understand both SpiderMonkey and Tamarin-tracing object representation, including consequences for speed, memory usage, security, and host objects (embedding-defined object types—how they are defined, how they interact with the VM).  This is a tall order but seems like a prerequisite to the rest.
* Understand both SpiderMonkey and Tamarin-tracing object representation, including consequences for speed, memory usage, security, and host objects (embedding-defined object types—how they are defined, how they interact with the VM).  This is a tall order but seems like a prerequisite to the rest.
* Merge SpiderMonkey's property tree optimization into Tamarin Tracing ({{bug|427151}}).
* Merge SpiderMonkey's JS_THREADSAFE handling of property accesses (see [http://developer.mozilla.org/en/docs/SpiderMonkey_Internals:_Thread_Safety SpiderMonkey Internals: Thread Safety]) into Tamarin ({{bug|427158}}).
* Merge SpiderMonkey's string optimizations into Tamarin Tracing ({{bug|427154}}).
* Merge SpiderMonkey's string optimizations into Tamarin Tracing ({{bug|427154}}).
* <em>stretch goal:</em> Merge SpiderMonkey's property tree optimization into Tamarin Tracing ({{bug|427151}}).


== XPCOMGC ==
== XPCOMGC ==


* Finish analysis passes
** Finalizer safety
** pointer/storage annotations
* Browser running mostly-correctly, and gather performance/memory statistics
* Browser running mostly-correctly, and gather performance/memory statistics



Latest revision as of 20:10, 9 April 2008

These are the Mozilla 2 team goals for Q2 2008:

Memory

  • In jemalloc, implement no-fail OOM by default and a separate can-fail allocator API: see Mozilla 2/Memory
  • Implement the automatic-rewriting pass to get rid of null-checks for OOM. NOTE: this doesn't mean we will actually land the patch this quarter; that depends on identifying "large allocations" and exempting them from the normal rules
  • jemalloc+GC API design complete, see GC_API
  • In jemalloc, implement data structures and algorithms needed by the GC (bug 427231).

Automatic Rewriting/Analysis

  • Extend dehydra to all C dialects (bug 421097).
  • Finish dehydra and deploy on debug+leak tinderboxes, linux and mac (bug 425215, bug 421095, et al)
  • See OOM goal above
  • GCC summit presentation and continuing GCC community involvement
  • Release Dehydra 1.0 and Pork

ActionMonkey

  • Finish ActionMonkey Stage 2 by the end of April bug 411563. (The big wild card is the "no speed regression" requirement.)
  • Get the ActionMonkey tinderboxen green, and the browser functional in actionmonkey branch, and keep them that way.
  • Merge Tamarin Central's GC into Tamarin Tracing (bug 409021).
  • Replace Tamarin Central with Tamarin Tracing in ActionMonkey (bug 425818).
  • Understand both SpiderMonkey and Tamarin-tracing object representation, including consequences for speed, memory usage, security, and host objects (embedding-defined object types—how they are defined, how they interact with the VM). This is a tall order but seems like a prerequisite to the rest.
  • Merge SpiderMonkey's string optimizations into Tamarin Tracing (bug 427154).
  • stretch goal: Merge SpiderMonkey's property tree optimization into Tamarin Tracing (bug 427151).

XPCOMGC

  • Finish analysis passes
    • Finalizer safety
    • pointer/storage annotations
  • Browser running mostly-correctly, and gather performance/memory statistics

ES4 RI and Spec

These should be marked with ES4 ticket links as tickets are entered.

  • RI: Merge new type normalizer to trunk, track any changes to valleyscript
  • RI: Teach trunk to memoize type calculations, recovering some of the speed lost in previous step
  • RI: Complete and merge all feature-cut branches to trunk, tracking spec changes
  • RI: Transfer project hosting to hg
  • Spec/RI: key remainder task from Q1, determine and codify package/namespace relationship
  • Spec: reach consensus on the fate of decimal arithmetic
  • RI: Implement new concept of runtime strict mode
  • RI: Implement changes to const and object literals
  • RI: Implement changes to array/tuple types