I would like to find a way in any desktop browser to determine which objects hosted in JavaScript are freed from the garbage collection. Please note that I am not trying to track leaks. Leaks are objects that are not freed.
In Firefox, the web application Iโm browsing sometimes stutters (stops responding to keystrokes for> 1 second); profiling shows that during this time the browser performs a long GC. Over the previous few seconds, a significant amount of memory has been added (in small pieces, not all at once). When the GC occurs, almost all of this memory is freed.
What I'm trying to understand is: what are all these short objects? I would like to know their values, their types or where in JS they were highlighted.
The web application demonstrates the same distribution patterns in all browsers (although only Firefox seems to suffer from a long-running GC); therefore, I would gladly use any browser (Mac or Windows) to debug it.
I figured out how to use Chrome dev tools to view leaked objects, but as I mentioned above, leaks do not bother me. I cannot figure out how to find out which objects were selected and then released.
source share