Closed Bug 1672105 Opened 4 years ago Closed 4 years ago

Centralize ParserAtoms instantiation

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
84 Branch
Tracking Status
firefox84 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

Attachments

(3 files)

bug 1671887 will add a mechanism to mark ParserAtoms that will be used while instantiation.
we can reuse the mechanism to eagerly instantiate ParserAtoms at the beginning of CompilationInfo::instantiateStencils.
This has the following merits:

  • code/memory locality
  • ParserAtoms to JSAtom conversion in later steps become infallible

Make the preparation step added by bug 1671887 required, and use the marked flag
to figure out which atom should be instantiated.

At the beginning of instantiation, instantiate all unresolved atoms,
and use the result in the later steps.

Depends on D94094

Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/750e72795070
Part 1: Convert ParserAtoms to JSAtom at once. r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/dfb6dc6260af
Part 2: Add ParserAtomEntry::toExistingJSAtom. r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/c9bd034d4f69
Part 3: Add comment about reserved size in ParserAtomEntry::resolve. r=tcampbell
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: