author | Paul Bone <pbone@mozilla.com> |
Thu, 11 Jul 2019 02:32:43 +0000 | |
changeset 482333 | 0e662f79db6c8c33dc99714b15a0d6367693578f |
parent 482332 | 111838e2b22f9dcbf64f56e522360126ff16735c |
child 482334 | 89feefb6541ea7a4a18875c4153c8f03b8774b32 |
push id | 89701 |
push user | pbone@mozilla.com |
push date | Thu, 11 Jul 2019 04:30:54 +0000 |
treeherder | autoland@6cc26a5b9fe2 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jonco |
bugs | 1562550 |
milestone | 70.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/gc/Nursery.cpp +++ b/js/src/gc/Nursery.cpp @@ -1480,24 +1480,29 @@ void js::Nursery::shrinkAllocableSpace(s } MOZ_ASSERT(newCapacity < capacity_); unsigned newCount = JS_HOWMANY(newCapacity, ChunkSize); if (newCount < allocatedChunkCount()) { freeChunksFrom(newCount); } + size_t oldCapacity = capacity_; capacity_ = newCapacity; MOZ_ASSERT(capacity_ >= ArenaSize); setCurrentEnd(); if (isSubChunkMode()) { + MOZ_ASSERT(currentChunk_ == 0); + chunk(0).poisonRange(newCapacity, + Min(oldCapacity, NurseryChunkUsableSize) - newCapacity, + JS_SWEPT_NURSERY_PATTERN, MemCheckKind::MakeNoAccess); + AutoLockHelperThreadState lock; - MOZ_ASSERT(currentChunk_ == 0); decommitTask.queueRange(capacity_, chunk(0), lock); decommitTask.startOrRunIfIdle(lock); } } void js::Nursery::minimizeAllocableSpace() { shrinkAllocableSpace(tunables().gcMinNurseryBytes()); }