JIT code memory usage woes continue

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

JIT code memory usage woes continue

Boris Zbarsky
Here's what my about:memory looks like right now:

1,921.71 MB (100.0%) -- explicit
├──1,169.08 MB (60.84%) -- js
│  ├────495.26 MB (25.77%) -- compartment([System Principal], 0x1071b2e00)
│  │    ├──387.63 MB (20.17%) -- mjit-code
│  │    │  ├──234.86 MB (12.22%) -- method
│  │    │  ├──152.22 MB (07.92%) -- regexp

The extensions installed are about:telemetry, add-on compatibility
reporter, dom inspector, tab stats, and wallflower.

For comparison, the entire system compartment GC heap is about 74MB.
There are also 16MB of property tables and 25MB of something (can't tell
what, because trying to see about:memory?verbose dies with a malformed
XML error...)

In any case, that's a _lot_ of jitcode.  I thought we expire it
nowadays.... any reason there would be that much of it hanging around?

-Boris
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: JIT code memory usage woes continue

Brian William Hackett
I don't know about the regexp jitcode (which needs a discard strategy), but the chrome compartment mjit code discarding should be fixed once bug 685358 gets in (should be for Firefox 10).  I think the stock JM code discarding heuristics don't work well for chrome code --- from what I've seen there is normally chrome code on the stack when we GC, which inhibits collection of jitcode for that compartment.  Bug 685358 will discard stock JM code at the same frequency as JM+TI code (on every GC, whether the compartment has code on the stack or not).

Re: property tables, I want to start purging these soon, hopefully for Firefox 11.

Brian

----- Original Message -----

> Here's what my about:memory looks like right now:
>
> 1,921.71 MB (100.0%) -- explicit
> ├──1,169.08 MB (60.84%) -- js
> │ ├────495.26 MB (25.77%) -- compartment([System Principal],
> 0x1071b2e00)
> │ │ ├──387.63 MB (20.17%) -- mjit-code
> │ │ │ ├──234.86 MB (12.22%) -- method
> │ │ │ ├──152.22 MB (07.92%) -- regexp
>
> The extensions installed are about:telemetry, add-on compatibility
> reporter, dom inspector, tab stats, and wallflower.
>
> For comparison, the entire system compartment GC heap is about 74MB.
> There are also 16MB of property tables and 25MB of something (can't
> tell
> what, because trying to see about:memory?verbose dies with a malformed
> XML error...)
>
> In any case, that's a _lot_ of jitcode. I thought we expire it
> nowadays.... any reason there would be that much of it hanging around?
>
> -Boris
> _______________________________________________
> dev-tech-js-engine mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-tech-js-engine
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: JIT code memory usage woes continue

Boris Zbarsky
In reply to this post by Boris Zbarsky
On 10/3/11 12:05 AM, Brian William Hackett wrote:
> I don't know about the regexp jitcode (which needs a discard strategy)

Ah, right.  This is bug 673189, indeed.

> I think the stock JM code discarding heuristics don't work well for chrome code --- from what I've seen there is normally chrome code on the stack when we GC, which inhibits collection of jitcode for that compartment

Ugh.

And at the same time, we keep generating new chrome jitcode for whatever
reasons, I assume (e.g. because that code is tied to a particular global
and I actually open and close windows)?  So perhaps
compartment-per-global, if it happens sooner, will help here too...

I guess in the meantime I get to see whether I can change my work
patterns to not open/close windows.  :(

-Boris
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: JIT code memory usage woes continue

Nicholas Nethercote
In reply to this post by Boris Zbarsky
On Sun, Oct 2, 2011 at 9:25 PM, Boris Zbarsky <[hidden email]> wrote:
> (can't tell what,
> because trying to see about:memory?verbose dies with a malformed XML
> error...)

Can you give any more details about this?

Nick
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: JIT code memory usage woes continue

Andrew  McCreight
I think he means Bug 691226, which it looks like has since been resolved.

https://bugzilla.mozilla.org/show_bug.cgi?id=691226

----- Original Message -----

> On Sun, Oct 2, 2011 at 9:25 PM, Boris Zbarsky <[hidden email]>
> wrote:
> > (can't tell what,
> > because trying to see about:memory?verbose dies with a malformed XML
> > error...)
>
> Can you give any more details about this?
>
> Nick
> _______________________________________________
> dev-tech-js-engine mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-tech-js-engine
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: JIT code memory usage woes continue

Boris Zbarsky
In reply to this post by Boris Zbarsky
On 10/10/11 5:03 PM, Nicholas Nethercote wrote:
> On Sun, Oct 2, 2011 at 9:25 PM, Boris Zbarsky<[hidden email]>  wrote:
>> (can't tell what,
>> because trying to see about:memory?verbose dies with a malformed XML
>> error...)
>
> Can you give any more details about this?

Andrew is right; once I had details I filed
https://bugzilla.mozilla.org/show_bug.cgi?id=691226

-Boris
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine