Closed
Bug 561286
Opened 15 years ago
Closed 15 years ago
Investigate imacro_asm regexpPool malloc/free thrashing
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: cdleary, Assigned: cdleary)
References
Details
Attachments
(1 file)
(deleted),
text/plain
|
Details |
A lot of one- or two-count arena frees occur in rapid succession while the current arena is only about ~40% utilization. This happens as part of our normal build procedure, and relates to bug 558971.
Assignee | ||
Comment 1•15 years ago
|
||
The fundamental difficulty here is that thrashing can occur at any stride -- if you account for a n-arena-allocation followed by n-arena-deallocation pattern, you are always foiled by the regexp that requires n+1 arenas each execution.
Because of this, you can use time locality to let the arenas sit and age until the next garbage collection. For imacro_asm, this seems particularly useful in regular expression evaluation.
For our arena implementation we can add a "soft release" mechanism that sets the |avail| pointers back to their base values. I'm also going to go nuts and say we can spring for a |prev| pointer in the arena structure to facilitate this, especially given that we're going for page-sized arena chunks nowadays.
Assignee | ||
Comment 2•15 years ago
|
||
Resolving with a dependency on bug 564060.
You need to log in
before you can comment on or make changes to this bug.
Description
•