Mozilla 2/2008Q2 Goals

From MozillaWiki
< Mozilla 2
Revision as of 14:25, 7 April 2008 by Jorend (talk | contribs) (add my goals... *shudder*)
Jump to navigation Jump to search

These are the Mozilla 2 team goals for Q2 2008:

THIS IS A VERY ROUGH DRAFT.

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

  • Finish dehydra and deploy on debug+leak tinderboxes, linux and mac
  • Finish analysis passes needed for XPCOMGC
  • 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 property tree optimization into Tamarin Tracing (bug 427151).
  • Merge SpiderMonkey's JS_THREADSAFE handling of property accesses (see SpiderMonkey Internals: Thread Safety) into Tamarin (bug 427158).
  • Merge SpiderMonkey's string optimizations into Tamarin Tracing (bug 427154).
  • Finish GC API design.

XPCOMGC

  • Browser running mostly-correctly, and gather performance/memory statistics