On 12/14/14, 12:15 PM, jwmerr...@gmail.com wrote:
How would I find this out myself?
Set the "javascript.options.mem.log" preference to true in about:config
and then look at Tools > Web Developer > Browser Console (at least on
Mac; not sure where the devtools are in the menu structure on Windows,
but it would be in there).
You'll see a lot of GC-related messages, which look sort of like this:
GC(T+76711.3) Max Pause: 42.1ms, Total Time: 616.5ms, Zones Collected:
173, Total Zones: 173, Total Compartments: 770, Minor GCs: 18, Store
Buffer Overflows: 0, MMU (20ms): 0%, MMU (50ms): 3%, SCC Sweep Total:
21.6ms, SCC Sweep Max Pause: 7.3ms, Allocated: 318MB, +Chunks: 0, -Chunks: 0
Slice: 0, Pause: 37.6 (When: 0.0ms, Reason: CC_WAITING): Mark
Discard Code: 5.7ms, Purge: 1.8ms, Mark: 26.6ms, Mark Roots: 26.3ms,
Minor GC: 1.1ms
Slice: 1, Pause: 10.3 (When: 57.0ms, Reason: REFRESH_FRAME): Mark:
10.0ms
etc. Those give you the times each GC slice took, why the GC was
running, which parts took a long time, and so forth.
In fact, attaching the output you see on your non-synthetic testcase to
the bug would be quite helpful, because it contains information about
which parts of GC are taking a while.
-Boris
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals