Monday, October 1, 2001

Spent some time poking around bug 100935, a crasher that appears to happen when you've got Java installed on Linux, somewhere down in the bowels of focus handling. Checked in a fix for 102534 provided by tingley@sundell.net for a minor regression from his typed node changes to RDF.

Spent the rest of the day batting around bug 102100 which is a regression that I caused when landing the fix for 97383. The problem is that the max-element-size now includes the width of the largest floater along a line's band with the max-element-size of the line itself. When doing an unconstrained reflow, a ``tall'' floater may intrude on the line below it, and get included in that lines max-element-size even though it couldn't possibly reach that far down during a constrained reflow.

Tuesday, October 2, 2001

Tried fixing 102100 by using the placeholder frames in the line to account for the floater's width; however, that didn't work in the case where the text contained a <br> element. So, I gave up, and futured the bug.

Poked around a couple new bugs that turned up which look like they might either have to do with my max-element-size changes to floats or attinasi's ongoing struggle with wrapping in table cells. Fixed a bug in the rdfliner code that was showing up when adding new accounts to mail. Spent some time poking around on Tuxia's website after a phone call where improvement of footprint to around 12MB was discussed. Couldn't find any of the good juice, but sent follow-on mail asking where I might find the magic patches.

Wednesday, October 3, 2001

Spent a few hours tracking down and fixing a re-entrancy bug in the good old template builder (content flavored!), and found the same bug existed in at least one place in the outliner builder, as well.

Thursday, October 4, 2001

Verified that the fix for bug 100952 will fix bug 73953. Yay! Spent the day trying to figure out why comboboxes that have a height style set will expand every time you choose a value. After much gnashing of teeth, I gave up, and gave the bug to rods.

Spent some time debugging 41521, which is a block-in-inline bug that I managed to regress a while ago. Turns out that I botched the implementation of GetIBContainingBlockFor: I returned the top-most frame in the split, not the block that contained it. Anyway, fixing that still doesn't appear to fix the bug, so there's something else going on here. I stepped through the StyleChange reflow in the debugger, and as far as I can tell, everything is working the way it should. (Actually, I really only verified that everything is working the way it should for the first line in the test case; after that, I just verified that the reflow reason looked correct. Need to look more carefully at what's happening.)

Friday, October 6, 2001

Static build broke again. Took me a while to get past the other build bustage that's crept in during debug builds. Once I did, it turned out to be a simple case of missing statuc build-fu declrataions.

Monday, October 8, 2001

Mmm, page load performance bug triage.

Tuesday, October 9, 2001

Spent the day pulling together heap bloat data collected with trace-malloc; XUL and JS are at the top of the heap (so to speak) in a ``normal'' mozilla build. Took a look at shaver's patch for brutally sharing attributes: this'll knock off about 6% of the heap usage (after we've got ten windows open, anyway). Helped pav get the MIPS xptcstubs stuff working.

Wednesday, October 10, 2001

Put together a test case for shaver; there are some problems with the sharing stuff in its current incarnation. Got the MIPS stuff running on its target platform; looks like it thrasheth greatly; we're going to need to get our RSS to about 16MB. Met with folks about performance analysis.

Thursday, October 11, 2001

Took the XUL attribute sharing bug back from shaver.

Friday, October 12, 2001

Continued to bang on XUL attribute sharing.

Saturday, October 13, 2001

Should we make nsINodeInfo be a ``normal'' C++ object instead of a COM object?

Monday, October 15, 2001

Put the wraps on XUL attribute sharing. This is ready to go. Prepare for s3kr1t meeting.

Tuesday, October 16, 2001

Filed a meta bug for XUL element reduction, as well as several easy tasks (some with patches, even). Checked in tingley's fix to speed up nsIRDFContainer::IndexOf. Continued collecting footprint stuff. Need to make embed tests link static. Need to work on some kind of ``why would anyone care to use XUL'' whitepaper.

Wednesday, October 17, 2001

Thought about keeping a look-aside map that would keep a reverse pointer from the prototype element to the lightweight element, so that we could get rid of the mParent and mChildren fields in nsXULElement. If we used a dhash, it might win over putting the fields in the lightweight: have to do the math to see. The fly in the ointment is the fact that we tend to clone nodes a lot for XBL, which would necessitate copying these fields. Anyway, it's a thought.

clayton's meeting, review s3kr1t presentation, collect footprint numbers, meet with rogc and grega for mail demo, rework XUL attribute sharing for shaver's nits. Check in changes to use nsCheapVoidArray for nsXULElement::mChildren. Decided moving mListenerManager into nsXULElement::Slots is not worth it. Checked in changes to eliminate nsXULElement::mContentID.

Thursday, October 18, 2001

Got TestGtkEmbed to link statically, also made trace-malloc work right with it. We're big. Real big. s3kr1t meeting. Checked in changes to move nsXULElement::mLazyState into the slots. Left the bug open, because I ought to share this with the low bits of a pointer field.

Friday, October 19, 2001

Tinkered with shaver's resident set viewer. Couldn't get it to work. Whined. Spent the rest of the day moving broadcaster support into nsXULDocument.

Saturday, October 20, 2001

Finished up work on the patch to move broadcaster support to nsXULDocument.