[BinAST} Remove unnecessary Variant on Context
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
Details
Attachments
(2 files)
In several cases the actual content of Context
variant is fixed to 1 type, and in some case 2.
we can specialize each code and remove Variant::match
invocation.
Assignee | ||
Comment 1•5 years ago
|
||
A half of Parser methods are using single context type, and remaining are using
2 context types. There are no place that uses 3 context types necessarily.
Part 1 modifies the code generator to collect context type information, and
reflect the information to Parser methods, to use single non-Variant type
if possible.
Also changed corresponding TokenReader methods to use single non-Variant type.
Assignee | ||
Comment 2•5 years ago
|
||
Part 2 addes smaller Variant types (FieldOrRootContext and FieldOrListContext),
and modifies the code generator to use smaller Variant instead of Context.
Depends on D48011
Pushed by arai_a@mac.com: https://hg.mozilla.org/integration/autoland/rev/a384b2a67709 Part 1: Remove unnecessary Variant wrap/match on context. r=Yoric https://hg.mozilla.org/integration/autoland/rev/8f3223ff55e2 Part 2: Use smaller Variant for context. r=Yoric
Comment 4•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a384b2a67709
https://hg.mozilla.org/mozilla-central/rev/8f3223ff55e2
Description
•