Closed
Bug 747202
Opened 13 years ago
Closed 13 years ago
IonMonkey: Investigate memory usage
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla18
People
(Reporter: dvander, Assigned: n.nethercote)
References
Details
(Whiteboard: [ion:t][MemShrink:P2])
Attachments
(1 file)
32.14 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
IonMonkey is already hooked up to about:memory, its stats contribute to mjit code and data sizes. We just need to browse around (bug WebJsPerf is a good candidate) and see what our memory usage is like compared to a normal JM+TI browser.
![]() |
Reporter | |
Updated•13 years ago
|
Assignee: general → dvander
Status: NEW → ASSIGNED
![]() |
Reporter | |
Updated•13 years ago
|
Whiteboard: [ion:t]
![]() |
Assignee | |
Comment 1•13 years ago
|
||
Can Ion's mjit code/data stats be measured separately from JM's? I think it would be worth doing if it's not too hard.
![]() |
Reporter | |
Comment 2•13 years ago
|
||
(In reply to Nicholas Nethercote [:njn] from comment #1)
> Can Ion's mjit code/data stats be measured separately from JM's? I think it
> would be worth doing if it's not too hard.
Yup that should be pretty easy.
Updated•13 years ago
|
Whiteboard: [ion:t] → [ion:t][MemShrink]
![]() |
Assignee | |
Updated•13 years ago
|
Whiteboard: [ion:t][MemShrink] → [ion:t][MemShrink:P2]
![]() |
Assignee | |
Comment 3•13 years ago
|
||
This patch improves the memory reporting for IonMonkey.
- I've split Ion code and data from Jaeger code and data. I'm now using the
following prefixes: "jaeger-", "ion-" and "regexp-". I renamed a bunch of
variable and class members accordingly.
- I'm measuring IonCodes separately from scripts. There are so few IonCodes
that I couldn't get them to show up separately in about:memory; they
always end up aggregated into the "sundries" entries. This isn't a bad
thing :)
- I made the memory measurements follow the standard protocols:
- Use |mallocSizeOf| instead of computing sizes (less error prone and
includes slop bytes);
- Rename size() as sizeOfIncludingThis().
- I removed the bufferSize() measurement, which double-counted Ion code (and
also incorrectly attributed it to "mjit-data").
Preliminary browsing indicates that the amount of memory used by IonMonkey
is small, *much* less than JaegerMonkey. It seems to disappear pretty
quickly, too. Good news.
Attachment #662764 -
Flags: review?(dvander)
![]() |
Assignee | |
Updated•13 years ago
|
Assignee: dvander → n.nethercote
![]() |
Reporter | |
Comment 4•13 years ago
|
||
Comment on attachment 662764 [details] [diff] [review]
Separate and clean up JaegerMonkey's and IonMonkey's memory reporting.
Review of attachment 662764 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks for doing this!
Attachment #662764 -
Flags: review?(dvander) → review+
![]() |
Assignee | |
Comment 5•13 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/fc78ad051132
dvander, I'll let you decide if you want to close the bug based on this patch, or if you want to do some additional investigation first.
Comment 6•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
You need to log in
before you can comment on or make changes to this bug.
Description
•