Remove more unused Ion code
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox87 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
Details
Attachments
(23 files)
|
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 | |
|
Bug 1689990 - Part 21: Tracked inline script trees are always present when Warp-compiling. r=jandem!
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Remove more unused code under js/src/jit.
| Assignee | ||
Comment 1•4 years ago
|
||
Also move LNode tracking under TRACK_SNAPSHOTS, so the compiler can more
easily optimise this code away when TRACK_SNAPSHOTS isn't set.
| Assignee | ||
Comment 2•4 years ago
|
||
Use LInstruction* instead of LNode* for clarity and to match the method
name of LElementVisitor::instruction().
Depends on D103637
| Assignee | ||
Comment 3•4 years ago
|
||
This method isn't used anymore after part 1.
Depends on D103638
| Assignee | ||
Comment 4•4 years ago
|
||
Both methods are only used within a single assertion in CodeGeneratorShared::addOutOfLineCode().
Depends on D103639
| Assignee | ||
Comment 5•4 years ago
|
||
Another unused method.
Depends on D103640
| Assignee | ||
Comment 6•4 years ago
|
||
Currently never overridden in any sub-classes, so we can it remove again.
Depends on D103641
| Assignee | ||
Comment 7•4 years ago
|
||
Depends on D103642
| Assignee | ||
Comment 8•4 years ago
|
||
Depends on D103643
| Assignee | ||
Comment 9•4 years ago
|
||
Depends on D103644
| Assignee | ||
Comment 10•4 years ago
|
||
Int64 wasn't allowed because typesets couldn't represent this type.
Depends on D103645
| Assignee | ||
Comment 11•4 years ago
|
||
MToInt64 seems to allow Int64 inputs based on the comments in
LIRGenerator::visitToInt64().
Also remove MIRType::String from the list of non-throwing types, because
ToBigInt(string) can actually throw a SyntaxError. This change can't be
tested, because we currently create neither MToBigInt nor MToInt64 in a
context where the input is a string and the result isn't observed.
Depends on D103646
| Assignee | ||
Comment 12•4 years ago
|
||
The copy constructors call MNode(const MNode&) which copies over the
blockAndKind_ member, so the block information is actually copied, too.
Depends on D103647
| Assignee | ||
Comment 13•4 years ago
|
||
Both methods are no longer used. Also move the comment from updateTrackedSite()
to trackedSite_.
Depends on D103648
| Assignee | ||
Comment 14•4 years ago
|
||
MBasicBlock::pc_ is initialised with MBasicBlock::trackedSite_'s pc and
after the last part MBasicBlock::trackedSite_ is never changed after the
constructor, so we can replace pc_ with trackedSite_->pc().
Depends on D103650
| Assignee | ||
Comment 15•4 years ago
|
||
After part 13, MBasicBlock::trackedSite_ is never modified outside of the
constructor. And because all call-sites pass a non-nullptr, we can assert this
and remove the nullptr check in trackedTree().
Depends on D103651
| Assignee | ||
Comment 16•4 years ago
|
||
These assertions should hold even when profiling isn't enabled.
Depends on D103652
| Assignee | ||
Comment 17•4 years ago
|
||
This method is never called.
Depends on D103653
| Assignee | ||
Comment 18•4 years ago
|
||
Add a separate MDefinition::setInstructionBlock() method which also sets the
tracked bytecode site. setTrackedSite() is now only called from within
MDefinition, so its visibility can be changed to private.
With this change it's easier to see that all definitions attached to a block
also have a tracked bytecode site. We will use this property in the next parts.
Depends on D103654
| Assignee | ||
Comment 19•4 years ago
|
||
Remove MDefinition::tracked{Tree, Pc}() in preparation for the next parts.
Depends on D103655
| Assignee | ||
Comment 20•4 years ago
|
||
Part 18 ensured each definition which is attached to a block has a non-nullptr
tracked bytecode site. (This is ensured through setTrackedSite() which asserts
the tracked bytecode site isn't a nullptr.)
Drive-by change:
- Change
CodeGeneratorShared::encode()to storeins->mirRaw()in a variable.
Depends on D103656
| Assignee | ||
Comment 21•4 years ago
|
||
Warp compilation always has a tracked bytecode site, so instead of testing if
the bytecode site's tree is non-null, test if we're currently Warp (= not Wasm)
compiling. This should make it easier to understand this code.
Depends on D103657
| Assignee | ||
Comment 22•4 years ago
|
||
A MDefinition's tracked bytecode site is always equal to the bytecode site
of its block. Assert this property so we can remove MDefinition::trackedSite_
in a follow-up bug.
Depends on D103658
| Assignee | ||
Comment 23•4 years ago
|
||
Empty bytecode sites are typically only used for Wasm compilation. Assert this
in MBasicBlock::NewPopN() and document this in BytecodeSite.
(*) The only exception are fake OSR blocks in GVN.
Depends on D103659
Updated•4 years ago
|
Comment 24•4 years ago
|
||
Comment 25•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/0c302cf266af
https://hg.mozilla.org/mozilla-central/rev/d0b6b6a300d3
https://hg.mozilla.org/mozilla-central/rev/d95e9dc8a51f
https://hg.mozilla.org/mozilla-central/rev/d6d6478ee425
https://hg.mozilla.org/mozilla-central/rev/9fcb21192e76
https://hg.mozilla.org/mozilla-central/rev/965bf571b3b7
https://hg.mozilla.org/mozilla-central/rev/c1936750ac10
https://hg.mozilla.org/mozilla-central/rev/370e1fdf98b4
https://hg.mozilla.org/mozilla-central/rev/e3710469f54c
https://hg.mozilla.org/mozilla-central/rev/f0fce4e9915b
https://hg.mozilla.org/mozilla-central/rev/92bcf8f1fd35
https://hg.mozilla.org/mozilla-central/rev/858bf28d8e69
https://hg.mozilla.org/mozilla-central/rev/d6c57f1a802d
https://hg.mozilla.org/mozilla-central/rev/3bb03e24de3e
https://hg.mozilla.org/mozilla-central/rev/075ac212397a
https://hg.mozilla.org/mozilla-central/rev/02840fd96046
https://hg.mozilla.org/mozilla-central/rev/0dfd7f0cdf5e
https://hg.mozilla.org/mozilla-central/rev/163b5b1f8399
https://hg.mozilla.org/mozilla-central/rev/50392f353921
https://hg.mozilla.org/mozilla-central/rev/94daf625a31e
https://hg.mozilla.org/mozilla-central/rev/0c975085c571
https://hg.mozilla.org/mozilla-central/rev/d2590808f1ae
https://hg.mozilla.org/mozilla-central/rev/5a4c3de02537
Description
•