mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 812393 - Sweep strings and scripts incrementally (r=jonco)
--HG-- extra : rebase_source : 301b3029444d378bcb90e7140b508f6f35187425
This commit is contained in:
parent
63feebb7e0
commit
6fd6b3f8f7
@ -213,6 +213,14 @@ const uint32_t Arena::FirstThingOffsets[] = {
|
||||
* Finalization order for incrementally swept things.
|
||||
*/
|
||||
|
||||
static const AllocKind FinalizePhaseStrings[] = {
|
||||
FINALIZE_EXTERNAL_STRING
|
||||
};
|
||||
|
||||
static const AllocKind FinalizePhaseScripts[] = {
|
||||
FINALIZE_SCRIPT
|
||||
};
|
||||
|
||||
static const AllocKind FinalizePhaseShapes[] = {
|
||||
FINALIZE_SHAPE,
|
||||
FINALIZE_BASE_SHAPE,
|
||||
@ -220,15 +228,21 @@ static const AllocKind FinalizePhaseShapes[] = {
|
||||
};
|
||||
|
||||
static const AllocKind* FinalizePhases[] = {
|
||||
FinalizePhaseStrings,
|
||||
FinalizePhaseScripts,
|
||||
FinalizePhaseShapes
|
||||
};
|
||||
static const int FinalizePhaseCount = sizeof(FinalizePhases) / sizeof(AllocKind*);
|
||||
|
||||
static const int FinalizePhaseLength[] = {
|
||||
sizeof(FinalizePhaseStrings) / sizeof(AllocKind),
|
||||
sizeof(FinalizePhaseScripts) / sizeof(AllocKind),
|
||||
sizeof(FinalizePhaseShapes) / sizeof(AllocKind)
|
||||
};
|
||||
|
||||
static const gcstats::Phase FinalizePhaseStatsPhase[] = {
|
||||
gcstats::PHASE_SWEEP_STRING,
|
||||
gcstats::PHASE_SWEEP_SCRIPT,
|
||||
gcstats::PHASE_SWEEP_SHAPE
|
||||
};
|
||||
|
||||
@ -1703,14 +1717,14 @@ ArenaLists::queueStringsForSweep(FreeOp *fop)
|
||||
queueForBackgroundSweep(fop, FINALIZE_SHORT_STRING);
|
||||
queueForBackgroundSweep(fop, FINALIZE_STRING);
|
||||
|
||||
finalizeNow(fop, FINALIZE_EXTERNAL_STRING);
|
||||
queueForForegroundSweep(fop, FINALIZE_EXTERNAL_STRING);
|
||||
}
|
||||
|
||||
void
|
||||
ArenaLists::queueScriptsForSweep(FreeOp *fop)
|
||||
{
|
||||
gcstats::AutoPhase ap(fop->runtime()->gcStats, gcstats::PHASE_SWEEP_SCRIPT);
|
||||
finalizeNow(fop, FINALIZE_SCRIPT);
|
||||
queueForForegroundSweep(fop, FINALIZE_SCRIPT);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user