Bug 1111361 - Allow for lower latency GC on elm micro-benchmark; r=jonco

--HG--
extra : rebase_source : 205068401b975345f79610581cd08afb754bf870
This commit is contained in:
Terrence Cole 2015-01-16 09:44:20 -08:00
Родитель 64b2cf34d6
Коммит d6eea80650
2 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -1741,6 +1741,12 @@ GCMarker::processMarkStackTop(SliceBudget &budget)
scan_value_array:
MOZ_ASSERT(vp <= end);
while (vp != end) {
budget.step();
if (budget.isOverBudget()) {
pushValueArray(obj, vp, end);
return;
}
const Value &v = *vp++;
if (v.isString()) {
markAndScanString(obj, v.toString());

Просмотреть файл

@ -3190,7 +3190,7 @@ GCRuntime::maybeAllocTriggerZoneGC(Zone *zone, const AutoLockGC &lock)
// The threshold has been surpassed, immediately trigger a GC,
// which will be done non-incrementally.
triggerZoneGC(zone, JS::gcreason::ALLOC_TRIGGER);
} else if (usedBytes >= igcThresholdBytes) {
} else if (usedBytes >= igcThresholdBytes && interFrameGC) {
// Reduce the delay to the start of the next incremental slice.
if (zone->gcDelayBytes < ArenaSize)
zone->gcDelayBytes = 0;