Closed
Bug 1659595
Opened 4 years ago
Closed 4 years ago
Avoid creating atoms for BigInt property names
Categories
(Core :: JavaScript Engine, task, P1)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
82 Branch
Tracking | Status | |
---|---|---|
firefox82 | --- | fixed |
People
(Reporter: tcampbell, Assigned: mgaudet)
References
Details
Attachments
(1 file)
BigInt property keys need to be normalized to strings during parsing. This is currently done by allocating both a BigInt
and a JSString
. Instead we need something compatible with ParserAtom
type.
This is a silly syntax and likely will rarely be used. We can do a naive normalization into a ParserAtom
and that is probably good enough.
Assignee | ||
Updated•4 years ago
|
Summary: Rewrite GeneralParser::bigIntAtom() to avoid GC → Avoid creating atoms for BigInts
Assignee | ||
Comment 1•4 years ago
|
||
This parses numeric property names as if they were computed, which means we don't end up neeeding to atomize
them.
This does mean that numeric property names take a slower path on construction, meaning that it is possible
to measure a slowdown on executing the construction of a huge literal with thousands of numeric properties.
Reporter | ||
Updated•4 years ago
|
Assignee: tcampbell → mgaudet
Reporter | ||
Updated•4 years ago
|
Summary: Avoid creating atoms for BigInts → Avoid creating atoms for BigInt property names
Updated•4 years ago
|
Attachment #9170993 -
Attachment description: Bug 1659595 - Avoid creating atoms for BigInts (and numeric types) when parsing r?jorendorff!,tcampbell!,jandem! → Bug 1659595 - Avoid creating atoms for BigInts when parsing r?jorendorff!,tcampbell!,jandem!
Pushed by mgaudet@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bea475748ad2 Avoid creating atoms for BigInts when parsing r=jorendorff,tcampbell,jandem
Comment 3•4 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 4 years ago
status-firefox82:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•