On 11/15/2013 05:37 PM, Gregory Szorc wrote: > On 11/15/13, 12:26 PM, Terrence Cole wrote: >> The problem this mess is solving, at least in the GC, is that gecko >> needs to be able to inline barriers, UnmarkGray, and misc other stuff. >> Whenever we accidentally out-of-line anything in these paths we see a >> tremendous slowdown on dromaeo_dom and dromaeo_css, so we do have strong >> evidence that this optimization is critical. We hide as many of the >> internal GC details as possible behind magic number offsets, void*, and >> shadow structs, but this still -- particularly combined with templates >> -- leaves us with a tremendous amount of code in headers. >> >> I think our best hope for improving compilation time with these >> limitations is C++ modules. It wouldn't really improve the code layout >> mess, but would at least mean we only have to compile the massive pile >> of inlined code once. > > Could you compile parts of SpiderMonkey in unified mode?
Would be very useful for me, but I don't think I'm the common case for SpiderMonkey hackers. I actually had great results playing with clang's pre-compiled headers: 30+% speedup on compilation of jsgc.cpp. Getting it production ready looked like it would be a major headache though, so I didn't push forward with it. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform