Closed Bug 1695662 Opened 4 years ago Closed 4 years ago

Land some preliminary changes for bug 1689413

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(5 files)

No description provided.

js::EnumFlags will also be used for ObjectFlags later on.

This lets us avoid an ugly reinterpret_cast<GCPtrShape>() when we move JSObject's
shape pointer to the cell header.

Depends on D106775

Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/55161730da86 part 1 - Add js::EnumFlags base class based on ScriptFlagBase. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/2149fe1086c5 part 2 - Replace DictionaryShapeLink::prevPtr with prev/setPrev methods. r=tcampbell
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

I realized there's more I can split off.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---

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).

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

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

Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4ee0f13ba9ef part 3 - Remove BaseShape's OWNED_SHAPE flag. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/401217a0f9dd part 4 - Remove NativeObject::hasAllFlags. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/76119db68744 part 5 - Clean up object flags, use EnumFlags. r=tcampbell
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: