Platform/2010-03-30

From MozillaWiki
Jump to: navigation, search

« previous week | index | next week »

Notices / Schedule

Blocker Report

Browser / Front End

You can always see the state of Firefox projects on our tracking page.

Some recent work:

  • Tab Matches in Awesomebar landed. Woop!
    Tabs-in-awesomebar.png
  • EM API and UI work still in code review.
  • Looks like, for a quarter, we'll net about 44% of all i/o moved off main thread, with two bugs in review to bring us to > 75%. I'm looking at you, Novotny and Duell!
  • Glass turned on for Windows theme, but then turned off due to some nasty bugs (see, e.g., bug 450767 and follow up bugs)

If you want an RSS feed full of Firefox awesomeness like this, check out planet firefox.

GFX Update

  • Big OOPP news! Mac OS X can now run plugins out of process with some amount of success.
    • Some caveats: Flash works, but you have to have the Flash 10.1 beta.
      • (Flash 10.0 requires the Carbon plugin event model, which we don't (even try to) remote because doing so would be too complex.)
    • Tomorrow's nightly will have it preffed off, but compiled in. Enable dom.ipc.plugins.enabled in about:config to use OOPP.
    • Right now this is Core Graphics drawing model plugins. We don't yet remote Core Animation plugins, but we probably will soon.
  • Jeff has some performance regression issues from his Cairo update that he's trying to work out, but he's fixed all the bugs he found.
  • Joe proposed our Q2 goals - let us know if you like them!

Hardware Acceleration Update

  • Big OpenGL news! The OpenGL Layers implementation landed last night. Windows only for now; Mac/Linux need a bit more work to enable.
    • Next step is to get full-screen accelerated video going. Doing so should consist of just adding an attribute to the full-screen window; nsXULWindow will pass a flag when creating its widget, and layers should deal with everything else.
  • Core Animation drawing model plugin support landed too. This will not be hardware accelerated until we enable OpenGL layers on widgets.
  • roc still working on retained layers. It builds!
  • Had a meeting to plan out cross-process layer strategy for Fennec; we converged. Gecko:CrossProcessLayers

Layout Update

  • tnikkel making progress on displaying zoomed documents with unified chrome/content rendering
  • new intern Matt Woodrow working on adding a retained path API to cairo
    • both Quartz (Mac) and D2D (Windows) support native path objects
    • we expect performance improvements for SVG rendering (possibly huge improvements with D2D) by reusing native path objects when we draw the same shape many times (SVG)
  • dbaron's :visited patchset being reviewed by Boris
  • jfkthame submitted several patches to integrate Harfbuzz
    • in particular, switch text code to break up text into "script runs" before choosing a shaper (e.g. Uniscribe vs Harfbuzz), instead of having the shaper break the text up into script runs
    • this will let us use Harfbuzz for scripts we know it can handle (initially, Latin)
    • we should also eventually make font selection prefs be based on scripts instead of languages
  • roc landed redesign of frame property system

Content Update

  • CPOWs are in the e10s tree and in use by the content-chrome message passing code
  • Peterv's doing performance work that will lead to XPConnect being linked in with layout

Platform-specific Support Update

JS

  • big v8 benchmark wins on the TM tree
  • Waldo did a bunch of work, and finally figured out which js::AutoValueRooter changes are breaking N810 builds
  • dmandelin has PIC work started
  • JSD revamp underway, more soon here: https://wiki.mozilla.org/Platform/JSDebugv2

Electrolysis

  • [josh/benoit] Flash 10.1 and test plugins running out-of-process on Mac OS X.

Startup Performance


Estimated win Bug # Summary Owner Status Notes
~10% "Dirty Profile" Startup Reduction Constant startup relative to profile size Shawn Wilsher
significant bug 558200 Extension profiler platform api Steve Fink There is an easy way to provide feedback to extension developers to help them figure out why their extension is misbehaving. We need to implement that ASAP, so typical firefox installs(with lots of extensions) can be fast


Security

Breakpad

  • The new Breakpad sources are in Mozilla-Central.
  • x86 Linux now uses DWARF and -fomit-frame-pointer for a ~4% speedup on Dromaeo and SunSpider. {{bug
  • x86_64 Linux now has the crash reporter enabled.
  • ARM Linux's GCC hits an internal error (GCC's DWARF writer doesn't emitting debug info for our DWARF reader --- MORE than just coincidence? We think not!), so we are setting that aside for the moment. bug 555674
  • x86 and x86_64 Mac dumper patches in development work for DWARF debugging info and CFI; plugging in STABS reader today. bug 517832

Tree Management

  • OSX 10.6 64bit ref image done, builds signed off by josh; bug 519060
    • starting rollout to production
  • Talos:
    • new TScroll suite enabled. linux mozilla-central needs love bug 534819
    • new Dromaeo suite will be enabled this week during downtime bug 507738
  • Check out the pending builds display: http://build.mozilla.org/builds/pending/
  • changing where we run unittests bug 548768
    • unittest-on-build-OS: win2k3, osx10.5, centos5, maemo4
    • unittest-on-talos-OS: WinXP, Win7, osx10.5, osx10.6, fedora12, fedora12-64, maemo4, maemo5gtk, maemo5qt (with android and Win7x64 coming soon).
    • combined with opt/debug, thats means jump from 8x unittests per checkin to 18-22x unittests per checkin
    • asking project branch owners and shaver to find out what they *need*

Roundtable