mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1555550 - Use decommitAllArenas which also updates bookkeeping r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33111 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
9f31585d17
commit
0e0ceca906
@ -789,6 +789,7 @@ struct Chunk {
|
||||
void recycleArena(Arena* arena, SortedArenaList& dest, size_t thingsPerArena);
|
||||
|
||||
MOZ_MUST_USE bool decommitOneFreeArena(JSRuntime* rt, AutoLockGC& lock);
|
||||
void decommitAllArenas();
|
||||
|
||||
// This will decommit each unused not-already decommitted arena. It performs a
|
||||
// system call for each arena but is only used during OOM.
|
||||
@ -798,8 +799,6 @@ struct Chunk {
|
||||
void init(JSRuntime* rt);
|
||||
|
||||
private:
|
||||
void decommitAllArenas();
|
||||
|
||||
/* Search for a decommitted arena to allocate. */
|
||||
unsigned findDecommittedArenaOffset();
|
||||
Arena* fetchNextDecommittedArena();
|
||||
|
@ -133,7 +133,7 @@ void js::NurseryDecommitChunksTask::run() {
|
||||
}
|
||||
|
||||
void js::NurseryDecommitChunksTask::decommitChunk(Chunk* chunk) {
|
||||
MarkPagesUnused(&chunk->arenas[0], ArenaSize * ArenasPerChunk);
|
||||
chunk->decommitAllArenas();
|
||||
{
|
||||
AutoLockGC lock(runtime());
|
||||
runtime()->gc.recycleChunk(chunk, lock);
|
||||
|
Loading…
Reference in New Issue
Block a user