Closed Bug 1396931 Opened 2 years ago Closed 2 years ago

Simplify sweeping nursery allocated dictionary mode objects

Categories

(Core :: JavaScript: GC, enhancement)

55 Branch
enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(1 file)

Here's a small simplification to the sweeping of dictionary mode objects allocated in the nursery.  Rather than test each object we tenure to see if it's in dictionary mode we can use the list of dictionary mode objects we already have.
Attachment #8904652 - Flags: review?(sphink)
Comment on attachment 8904652 [details] [diff] [review]
simplify-dictionary-mode-sweep

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

Nice!

::: js/src/gc/Marking.cpp
@@ -2979,5 @@
> -        // happen for dictionaries, which are native objects.
> -        if (&nsrc->shape_ == ndst->shape_->listp) {
> -            MOZ_ASSERT(nsrc->shape_->inDictionary());
> -            ndst->shape_->listp = &ndst->shape_;
> -        }

Would it be worth leaving behind some comment, like

// The only potential nursery pointer in a shape, a dictionary object shape's list head, is updated in sweepDictionaryModeObjects().

?
Attachment #8904652 - Flags: review?(sphink) → review+
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/eb00a7039454
Simplify sweeping of dictionary mode objects allocated in the nursery r=sfink
https://hg.mozilla.org/mozilla-central/rev/eb00a7039454
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.