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)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
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
InflatedChar16SequenceandSpecificParserAtomLookupto 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
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
•