Closed Bug 1480233 Opened Last year Closed Last year

Define in AllocKinds.h which kinds support compacting

Categories

(Core :: JavaScript: GC, enhancement)

enhancement
Not set

Tracking

()

RESOLVED DUPLICATE of bug 1479937

People

(Reporter: tcampbell, Assigned: tcampbell)

Details

Attachments

(1 file, 1 obsolete file)

Currently, we define the AllocKind that support compacting in [1]. It might be nicer to track this info in the AllocKinds.h table instead. This makes it clearer what types *do not* support compacting.

[1] https://searchfox.org/mozilla-central/rev/d0a0ae30d534dc55e712bd3eedc1b4553ba56323/js/src/gc/GC.cpp#2173-2200
Move the AllocKindsToRelocate table into AllocKind macro-table instead.
Attachment #8996855 - Flags: review?(sphink)
Comment on attachment 8996855 [details] [diff] [review]
0001-Bug-1480233-Define-compacting-GC-support-in-AllocKin.patch

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

::: js/src/gc/GC.cpp
@@ +2482,5 @@
>      // Check that we did as much compaction as we should have. There
>      // should always be less than one arena's worth of free cells.
> +    for (auto kind : AllAllocKinds()) {
> +        if (!IsMovableKind(kind))
> +            continue;

Simplify this to
> for (auto kind : MovableAllocKinds()) {
What do you think of my attempt in bug 1479937? Too weird? Merge them?
Should have checked first..
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → DUPLICATE
Duplicate of bug: 1479937
Pushed by tcampbell@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1765ed67a90a
Define compacting GC support in AllocKind.h. r=sfink
I dun goofed. Review of this patch was done on Bug 1479937. Stamping here for posterity.

https://bugzilla.mozilla.org/show_bug.cgi?id=1479937#c5
Attachment #8996855 - Attachment is obsolete: true
Attachment #8996855 - Flags: review?(sphink)
Attachment #8997007 - Flags: review+
You need to log in before you can comment on or make changes to this bug.