Land some preliminary changes for bug 1689413
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox88 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(5 files)
Assignee | ||
Comment 1•4 years ago
|
||
js::EnumFlags will also be used for ObjectFlags later on.
Assignee | ||
Comment 2•4 years ago
|
||
This lets us avoid an ugly reinterpret_cast<GCPtrShape>()
when we move JSObject's
shape pointer to the cell header.
Depends on D106775
Comment 4•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/55161730da86
https://hg.mozilla.org/mozilla-central/rev/2149fe1086c5
Assignee | ||
Comment 5•4 years ago
|
||
I realized there's more I can split off.
Assignee | ||
Comment 6•4 years ago
|
||
The flag is equivalent to checking unowned_ != nullptr
so do that instead.
Unowned vs Owned BaseShapes will be removed soon but this simplifies the next patch
because now all flags stored in BaseShape are object flags (see OBJECT_FLAG_MASK).
Assignee | ||
Comment 7•4 years ago
|
||
This is equivalent to JSObject::hasAllFlags now that all objects have a shape again.
Move JSObject::hasAllFlags from JSObject-inl.h to JSObject.h to avoid dependency
issues.
Depends on D106899
Assignee | ||
Comment 8•4 years ago
|
||
Changes object flags to an enum class + js::EnumFlags. This improves type safety
and removes references to "base shape flags", so that we can more easily move this
from BaseShape to Shape later on.
Depends on D106900
Updated•4 years ago
|
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4ee0f13ba9ef
https://hg.mozilla.org/mozilla-central/rev/401217a0f9dd
https://hg.mozilla.org/mozilla-central/rev/76119db68744
Description
•