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:
Paul Bone 2019-05-31 01:18:33 +00:00
parent 9f31585d17
commit 0e0ceca906
2 changed files with 2 additions and 3 deletions

View File

@ -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();

View File

@ -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);