Bug 1353758 followup - Also purge external string cache after compacting GC. r=orange

--HG--
extra : rebase_source : 1459afd15f56909ab90796a40e0dc4a1b6ed8247
This commit is contained in:
Jan de Mooij 2017-04-07 13:03:53 +02:00
parent e2e7641412
commit abc4d2f389
2 changed files with 8 additions and 0 deletions

View File

@ -0,0 +1,6 @@
startgc(1, "shrinking");
for (var i=0; i<100; i++) {
gcslice(100000);
var s = "abcdefghi0";
assertEq(newMaybeExternalString(s), s);
}

View File

@ -2534,6 +2534,8 @@ GCRuntime::updateZonePointersToRelocatedCells(Zone* zone, AutoLockForExclusiveAc
for (CompartmentsInZoneIter comp(zone); !comp.done(); comp.next())
comp->fixupAfterMovingGC();
zone->externalStringCache().purge();
// Iterate through all cells that can contain relocatable pointers to update
// them. Since updating each cell is independent we try to parallelize this
// as much as possible.