Closed
Bug 887929
Opened 12 years ago
Closed 8 years ago
GC: decommit unused chunks in the background
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: terrence, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [MemShrink:P3][js4b2g])
Currently, when a Chunk becomes empty, it gets added to a list of free chunks and only freed if it does not get re-used within the next two GC's. On memory constrained systems such as android and B2G, keeping this memory alive and committed can result in OOM through C allocations that cannot use our GC heap. We should simply decommit any chunks that are waiting in this list so that their backing physical memory can be re-used by other allocations in the system.
This should be a less costly, but more complex, solution to the problem that Bug 887652 also solves.
Updated•12 years ago
|
Whiteboard: [MemShrink]
Updated•12 years ago
|
Whiteboard: [MemShrink] → [MemShrink][js4b2g]
![]() |
||
Updated•12 years ago
|
Whiteboard: [MemShrink][js4b2g] → [MemShrink:P3][js4b2g]
Assignee | ||
Updated•11 years ago
|
Assignee: general → nobody
Reporter | ||
Comment 1•8 years ago
|
||
This happened either when we moved everything to ChunkPool or during the decommit-on-the-background: I don't remember. In any case, we assert that it is true in every GC:
http://searchfox.org/mozilla-central/rev/064025c802c22cd5ad122746733cbd34ea47393c/js/src/jsgc.cpp#3117-3119
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•