Touching TokenStream.h forces far, far too many files to be recompiled
Categories
(Core :: JavaScript Engine, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: Waldo, Assigned: Waldo)
Details
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
A number of headers directly or indirectly #include "frontend/TokenStream.h"
when they need none or almost none of it. By carefully modifying a few of those headers, it's possible to significantly reduce the number of *.cpp files that require recompilation.
I've been touching TokenStream.h
enough lately, for small changes, that this is seriously biting me. Let's reduce the dependency graph a bit.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
...TokenStream.h. r=tcampbell
Depends on D30574
Assignee | ||
Comment 3•5 years ago
|
||
Depends on D30575
Assignee | ||
Comment 4•5 years ago
|
||
Depends on D30576
Assignee | ||
Comment 5•5 years ago
|
||
Depends on D30577
Assignee | ||
Comment 6•5 years ago
|
||
Depends on D30578
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/dc57399bbbe3 Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/59f2744f50c5 Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell https://hg.mozilla.org/integration/autoland/rev/5fd47cd91b82 Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/1b35028d64e4 Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell https://hg.mozilla.org/integration/autoland/rev/b435e9bb58cc Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell https://hg.mozilla.org/integration/autoland/rev/f1a3220fc10b Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Comment 8•5 years ago
|
||
Backed out 6 changesets (Bug 1550616) for causing build bustages in MacroAssembler-arm64.h
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=f1a3220fc10b57240e57bde4bfeba9745013dffe
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=245998300&repo=autoland&lineNumber=6812
Backout: https://hg.mozilla.org/integration/autoland/rev/464bde42a1588d89f7822d175f86db7f93d211ea
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/703783d5484d Move GeneralTokenStreamChars::setFunctionStart to GeneralParser::setFunctionStartAtCurrentToken in Parser.cpp, eliminating one reason SharedContext.h depends on TokenStream.h. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/c706eab3c639 Make FunctionBox::setEnd take the actual uint32_t end, not TokenStreamAnyChars&, and add ParserBase::setFunctionEndFromCurrentToken that calls it passing the correct value, to eliminate another SharedContext.h dependency on... r=tcampbell https://hg.mozilla.org/integration/autoland/rev/78749757be96 Make SharedContext.h not #include TokenStream.h now that it doesn't depend on it. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/0e910372a956 Move Token-related types to a new frontend/Token.h header so needing something like TokenPos doesn't demand a dependency on TokenStream.h. (ParseNode.h is a notable instance of this.) r=tcampbell https://hg.mozilla.org/integration/autoland/rev/0fde18f5d16f Move ModuleBuilder into its own header so that module object-related data structures don't depend on EitherParser.h (and therefore all of parsing and tokenizing). r=tcampbell https://hg.mozilla.org/integration/autoland/rev/cb00aa26b348 Don't #include EitherParser.h in BytecodeCompilation.h when a simple forward-declaration will do. r=tcampbell
Comment 10•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/703783d5484d
https://hg.mozilla.org/mozilla-central/rev/c706eab3c639
https://hg.mozilla.org/mozilla-central/rev/78749757be96
https://hg.mozilla.org/mozilla-central/rev/0e910372a956
https://hg.mozilla.org/mozilla-central/rev/0fde18f5d16f
https://hg.mozilla.org/mozilla-central/rev/cb00aa26b348
Updated•5 years ago
|
Description
•