There is a 800ms pause time caused by the JSGC_FINALIZE_END callback whenever I close the browser during the benchmark: http://www.ro.me/ Maybe CC?
I notice a little bit of pinwheeling when I close a tab that has that, after running it for a while. I'm not sure what JSGC_FINALIZE_END is, but I can look into what the CC is doing on that demo.
CC does not run from JSGC_FINALIZE_END. Get a profile. We do other stuff there, such as destroying expired wrappers.
I just got another bad one yesterday. I had pandora playing in a tab and closed the laptop. After 10 minutes I opened the laptop again and FF was frozen: CC(T+19750.8) collected: 169681 (169681 waiting for GC), suspected: 5367, duration: 561 ms. GC(T+19780.6) Type:Glob, Total:28180.0, Wait:16.9, Mark:32.8, Sweep:749.0, FinObj:5.7, FinStr:615.0, FinScr:85.9, FinShp:35.5, DisCod:0.7, DisAnl:2.4, XPCnct:1.1, Destry:0.3, End:27382.2, +Chu:0, -Chu:0, Reason: API Is there a way to split up the work in the End callback?