Hide more operation behind ParserAtomsTable
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
(Blocks 2 open bugs)
Details
Attachments
(31 files, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
There are a little more places that retrieves ParserAtom
from ParserAtomsTable
(or CompilationStencil
) and operate on it.
if we want to add TaggedParserAtomIndex
without entry, those operation needs to be hidden behind ParserAtomsTable
.
Some operations that needs to be performed without entry instance:
ParserAtomEntry::isPrivateName
[1]StringBuffer::append
[2][3]ParserAtomEntry::toNumber
[4]ParserAtomEntry::isIndex
[5][6][7]ParserAtomEntry::concatAtoms
[8][9]- this needs
InflatedChar16Sequence
andSpecificParserAtomLookup
to be rewritten
- this needs
QuoteString
[10]- several dump operations in ParseNode.cpp
IsExtendedUnclonedSelfHostedFunctionName
[11]ParserAtomToNewUTF8CharsZ
[12]CompilationStencil::getParserAtomAt
+toJSAtom
[13]
toJSAtom
/equalsJSAtom
calls [14][15][16] will be removed by bug 1660275
ReservedWordTokenKind
/IsKeyword
calls [17][18][19] will be removed by bug 1687634
[1] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/BytecodeEmitter.cpp#1768
[2] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/BytecodeEmitter.cpp#9305-9309
[3] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#7440-7442
[4] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/FoldConstants.cpp#468-472
[5] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/FoldConstants.cpp#1096-1099
[6] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#8205-8206
[7] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#10828-10831
[8] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/FoldConstants.cpp#1220-1257
[9] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#2434-2445
[10] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/ParseContext.cpp#183-185
[11] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#2952-2953
[12] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/wasm/AsmJS.cpp#1040-1044
[13] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Stencil.cpp#219-221
[14] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/EmitterScope.cpp#343-346
[15] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/ParseContext.cpp#432-435
[16] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#1517-1529
[17] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#408-410
[18] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#4821-4824
[19] https://searchfox.org/mozilla-central/rev/0a489e67575540f5aeb968208ae03ff17eb71e94/js/src/frontend/Parser.cpp#10223-10232
Assignee | ||
Comment 1•4 years ago
|
||
one toJSAtom
call will be kept in bug 1660275, that can be converted to equalsJSAtom
, and that way we still can hide the entry instance
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D103927
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D104014
Assignee | ||
Comment 4•4 years ago
|
||
Also made ParserAtom::isPrivateName not to return true for '#' atom.
Depends on D104015
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D104016
Assignee | ||
Comment 6•4 years ago
|
||
Depends on D104017
Assignee | ||
Comment 7•4 years ago
|
||
Depends on D104018
Assignee | ||
Comment 8•4 years ago
|
||
Depends on D104019
Assignee | ||
Comment 9•4 years ago
|
||
Depends on D104020
Assignee | ||
Comment 10•4 years ago
|
||
Depends on D104021
Assignee | ||
Comment 11•4 years ago
|
||
Latin1/2-byte info in the parse
shell function output is added for debugging
BinAST.
To reduce the access to raw ParserAtom, remove the info.
Depends on D104022
Assignee | ||
Comment 12•4 years ago
|
||
Depends on D104023
Assignee | ||
Comment 13•4 years ago
|
||
Depends on D104024
Assignee | ||
Comment 14•4 years ago
|
||
Depends on D104025
Assignee | ||
Comment 15•4 years ago
|
||
Depends on D104026
Assignee | ||
Comment 16•4 years ago
|
||
Depends on D104027
Assignee | ||
Comment 17•4 years ago
|
||
Depends on D104028
Assignee | ||
Comment 18•4 years ago
|
||
Depends on D104029
Assignee | ||
Comment 19•4 years ago
|
||
Depends on D104030
Assignee | ||
Comment 20•4 years ago
|
||
Also removed ParserAtom variant of IsIdentifierNameOrPrivateName.
Depends on D104031
Assignee | ||
Comment 21•4 years ago
|
||
Depends on D104032
Assignee | ||
Comment 22•4 years ago
|
||
Depends on D104033
Assignee | ||
Comment 23•4 years ago
|
||
Depends on D104034
Assignee | ||
Comment 24•4 years ago
|
||
Depends on D104035
Assignee | ||
Comment 25•4 years ago
|
||
Depends on D104036
Assignee | ||
Comment 26•4 years ago
|
||
Depends on D104037
Assignee | ||
Comment 27•4 years ago
|
||
Depends on D104038
Assignee | ||
Comment 28•4 years ago
|
||
Depends on D104039
Assignee | ||
Comment 29•4 years ago
|
||
Depends on D104040
Assignee | ||
Comment 30•4 years ago
|
||
Depends on D104041
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 31•4 years ago
|
||
Depends on D104042
Comment 32•4 years ago
|
||
Please add a set of dump methods to the table as well. I'm finding it tough to work on the Parser with tagged-indices. A "parserAtoms()" method on the ParserSharedBase would be great too.
Comment 33•4 years ago
|
||
A similar "parserAtoms()" method on BCE and on CompilationStencil using a consistent name would be useful while debugging too.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 34•4 years ago
|
||
Depends on D104187
Assignee | ||
Comment 35•4 years ago
|
||
Depends on D104372
Assignee | ||
Comment 36•4 years ago
|
||
Added parserAtoms()
to Parser and BCE, in Part 5.
also added ParserAtomsTable::dump
in new Part 30.
unfortunately CompilationStencil
cannot have parserAtoms()
, so instead added dumpAtom
to ParserSharedBase
, BytecodeEmitter
, and BaseCompilationStencil
, for consistent debugging experience.
Also, given stencil is const during instantiation, made dump methods const in Part 31.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 37•4 years ago
|
||
Comment 38•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/85c9a010945c
https://hg.mozilla.org/mozilla-central/rev/f9e2666bf301
https://hg.mozilla.org/mozilla-central/rev/d1cbd27747f8
https://hg.mozilla.org/mozilla-central/rev/639ee602864a
https://hg.mozilla.org/mozilla-central/rev/c29f32d422eb
https://hg.mozilla.org/mozilla-central/rev/8e8144338c6d
https://hg.mozilla.org/mozilla-central/rev/ef285bd6c1fc
https://hg.mozilla.org/mozilla-central/rev/34f3ecca3809
https://hg.mozilla.org/mozilla-central/rev/bba0db1041fb
https://hg.mozilla.org/mozilla-central/rev/7bc8b48a1c9d
https://hg.mozilla.org/mozilla-central/rev/266e6140dd1e
https://hg.mozilla.org/mozilla-central/rev/ccf63c1fdec7
https://hg.mozilla.org/mozilla-central/rev/ec14d7f6213a
https://hg.mozilla.org/mozilla-central/rev/1c79beeead63
https://hg.mozilla.org/mozilla-central/rev/4ab154f38cf0
https://hg.mozilla.org/mozilla-central/rev/95a4c4eea098
https://hg.mozilla.org/mozilla-central/rev/f1eb1fc30f5b
https://hg.mozilla.org/mozilla-central/rev/ed6cc4612b9b
https://hg.mozilla.org/mozilla-central/rev/013508ca9b54
https://hg.mozilla.org/mozilla-central/rev/9b5d0ca4ed9d
https://hg.mozilla.org/mozilla-central/rev/fbececd93707
https://hg.mozilla.org/mozilla-central/rev/c21f885017e1
https://hg.mozilla.org/mozilla-central/rev/95001c13ec10
https://hg.mozilla.org/mozilla-central/rev/76359ef43eff
https://hg.mozilla.org/mozilla-central/rev/458d73fd5570
https://hg.mozilla.org/mozilla-central/rev/4d70abf61922
https://hg.mozilla.org/mozilla-central/rev/c2b234ffef9a
https://hg.mozilla.org/mozilla-central/rev/66dd73e65cfe
https://hg.mozilla.org/mozilla-central/rev/1f98bd3f866b
https://hg.mozilla.org/mozilla-central/rev/0400fd2ce99d
https://hg.mozilla.org/mozilla-central/rev/c23b6266f08d
Description
•