Closed Bug 1085435 Opened 8 years ago Closed 8 years ago

Refactor definition of finalization phases

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(1 file)

At the moment the different finalization phases are partly defined by data arrays at the start of jsgc.cpp (e.g. FinalizePhases) and partly procedurally by methods like ArenaLists::queueScriptsForSweep(), and there is overlap between the two.

We should refactor this so that the arrays define everything and then use them everywhere.
Attachment #8508069 - Flags: review?(terrence)
Comment on attachment 8508069 [details] [diff] [review]
refactor-finalization

Review of attachment 8508069 [details] [diff] [review]:
-----------------------------------------------------------------

Great! It looks like this gives us a nice dichotomy: loops-without-initializer == incremental; loops-with-initializer == non-incremental.
Attachment #8508069 - Flags: review?(terrence) → review+
https://hg.mozilla.org/mozilla-central/rev/422fbd5721d0
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.