Remove more unused MIR node methods and remove some callers to MDefinition::mightBeType
Categories
(Core :: JavaScript Engine: JIT, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
Details
Attachments
(22 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 | |
Bug 1687255 - Part 9: Remove MDefinition parameter from MacroAssembler::convertValueToInt. 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 | |
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 |
Assignee | ||
Comment 1•3 years ago
|
||
MIsNullOrUndefined
always boxes its input, so the input has MIRType::Value
,
which means MDefinition::mightBeType()
will now always return true
. This
allows us to remove the mightBeType()
calls for both LIsNullOrUndefined
and
LIsNullOrUndefinedAndBranch
.
Assignee | ||
Comment 2•3 years ago
|
||
Similar to part 1, LValueToInt32
is only used when the input has
MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102157
Assignee | ||
Comment 3•3 years ago
|
||
Similar to part 1, LValueToBigInt
is only used when the input has
MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102158
Assignee | ||
Comment 4•3 years ago
|
||
Similar to part 1, LValueToString
is only used when the input has
MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102160
Assignee | ||
Comment 5•3 years ago
|
||
Similar to part 1, LValueToInt64
is only used when the input has
MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102161
Assignee | ||
Comment 6•3 years ago
|
||
Similar to part 1, LIsNullOrLikeUndefined{AndBranch}V
is only used when the
input has MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102162
Assignee | ||
Comment 7•3 years ago
|
||
Similar to part 1, LClampVToUint8
is only used when the input has
MIRType::Value
, so we can remove the mightBeType()
calls.
Depends on D102163
Assignee | ||
Comment 8•3 years ago
|
||
Inline maybeBranchTestType()
into convertValueToInt()
and remove the no
longer useful mightBeType()
calls.
Depends on D102164
Assignee | ||
Comment 9•3 years ago
|
||
The previous part removed all uses for the MDefinition*
parameter, so we can
further simplify this method by removed the parameter altogether.
Depends on D102165
Assignee | ||
Comment 10•3 years ago
|
||
The mightBeType
added in bug 1395927 is no longer necessary for Warp.
Depends on D102166
Assignee | ||
Comment 11•3 years ago
|
||
Neither MUnbox::TypeBarrier
nor MUnbox::makeInfallible()
are used anymore.
Depends on D102167
Assignee | ||
Comment 12•3 years ago
|
||
Replaces handwritten New(...)
methods with the TRIVIAL_NEW_WRAPPERS
macro.
Depends on D102169
Assignee | ||
Comment 13•3 years ago
|
||
Removes protected
access specifiers from MIR nodes which don't have any
sub-classes.
Depends on D102170
Assignee | ||
Comment 14•3 years ago
|
||
MSetElementInstruction
has a single sub-class, so we might as well merge it
into MCallSetElement
.
Depends on D102171
Assignee | ||
Comment 15•3 years ago
|
||
The comment in the now removed guardGroupForTypeBarrier()
method was speaking
about typeset relationships, which are no longer relevant with TI being removed.
Depends on D102172
Assignee | ||
Comment 16•3 years ago
|
||
StoreDependency
isn't used anywhere anymore.
Depends on D102173
Assignee | ||
Comment 17•3 years ago
|
||
Removes a couple of no longer used functions from "MIR.h".
Depends on D102174
Assignee | ||
Comment 18•3 years ago
|
||
The next parts remove unused functions from "MIR.cpp". Separated into single
commits in case we want to revert the removal for possible optimisations in
the future.
Depends on D102175
Assignee | ||
Comment 19•3 years ago
|
||
Depends on D102176
Assignee | ||
Comment 20•3 years ago
|
||
Depends on D102177
Assignee | ||
Comment 21•3 years ago
|
||
Depends on D102178
Assignee | ||
Comment 22•3 years ago
|
||
Use NAMED_OPERANDS
for more MIR nodes to avoid some boilerplate code.
Depends on D102179
Comment 23•3 years ago
|
||
Pushed by ncsoregi@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c706ea880a57 Part 1: Remove mightBeType for LIsNullOrUndefined and LIsNullOrUndefinedAndBranch. r=jandem https://hg.mozilla.org/integration/autoland/rev/f3a1afefd527 Part 2: Remove mightBeType for LValueToInt32. r=jandem https://hg.mozilla.org/integration/autoland/rev/134989414750 Part 3: Remove mightBeType for LValueToBigInt. r=jandem https://hg.mozilla.org/integration/autoland/rev/5b8e54f87895 Part 4: Remove mightBeType for LValueToString. r=jandem https://hg.mozilla.org/integration/autoland/rev/9384b8e964e1 Part 5: Remove mightBeType for LValueToInt64. r=jandem https://hg.mozilla.org/integration/autoland/rev/f7d55fda559f Part 6: Remove mightBeType for LIsNullOrLikeUndefined{AndBranch}V. r=jandem https://hg.mozilla.org/integration/autoland/rev/b4c28e4f73a5 Part 7: Remove mightBeType for LClampVToUint8. r=jandem https://hg.mozilla.org/integration/autoland/rev/9c3bb2906e38 Part 8: Remove mightBeType for MacroAssembler::convertValueToInt. r=jandem https://hg.mozilla.org/integration/autoland/rev/e3d43fa5b35e Part 9: Remove MDefinition parameter from MacroAssembler::convertValueToInt. r=jandem https://hg.mozilla.org/integration/autoland/rev/0a7365b89eec Part 10: Remove mightBeType for MHasClass. r=jandem https://hg.mozilla.org/integration/autoland/rev/b1926fbe365a Part 11: Remove MUnbox::TypeBarrier. r=jandem https://hg.mozilla.org/integration/autoland/rev/a4968ff4001b Part 12: Use TRIVIAL_NEW_WRAPPERS for more MIR nodes. r=jandem https://hg.mozilla.org/integration/autoland/rev/c2fba0edd350 Part 13: Remove unnecessary 'protected' specifiers in MIR nodes. r=jandem https://hg.mozilla.org/integration/autoland/rev/f38d3832ac1b Part 14: Inline MSetElementInstruction into MCallSetElement. r=jandem https://hg.mozilla.org/integration/autoland/rev/745ffc51422b Part 15: Remove a stale comment in guardGroupForLayout. r=jandem https://hg.mozilla.org/integration/autoland/rev/c07e6b8a9c6b Part 16: Remove StoreDependency. r=jandem https://hg.mozilla.org/integration/autoland/rev/ffdcd88f2506 Part 17: Remove unused header functions from MIR.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/1d059e390246 Part 18: Remove M{Test,Compare}::filtersUndefinedOrNull(). r=jandem https://hg.mozilla.org/integration/autoland/rev/3c2c1a4ae8a0 Part 19: Remove MDefinition::justReplaceAllUsesWithExcept. r=jandem https://hg.mozilla.org/integration/autoland/rev/7c18f4da2974 Part 20: Remove MPhi::specializeType(). r=jandem https://hg.mozilla.org/integration/autoland/rev/b4efde4477f1 Part 21: Remove MBinaryInstruction::{New,constantDoubleResult}. r=jandem https://hg.mozilla.org/integration/autoland/rev/32464f884e03 Part 22: Use NAMED_OPERANDS for more MIR nodes. r=jandem
Comment 24•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c706ea880a57
https://hg.mozilla.org/mozilla-central/rev/f3a1afefd527
https://hg.mozilla.org/mozilla-central/rev/134989414750
https://hg.mozilla.org/mozilla-central/rev/5b8e54f87895
https://hg.mozilla.org/mozilla-central/rev/9384b8e964e1
https://hg.mozilla.org/mozilla-central/rev/f7d55fda559f
https://hg.mozilla.org/mozilla-central/rev/b4c28e4f73a5
https://hg.mozilla.org/mozilla-central/rev/9c3bb2906e38
https://hg.mozilla.org/mozilla-central/rev/e3d43fa5b35e
https://hg.mozilla.org/mozilla-central/rev/0a7365b89eec
https://hg.mozilla.org/mozilla-central/rev/b1926fbe365a
https://hg.mozilla.org/mozilla-central/rev/a4968ff4001b
https://hg.mozilla.org/mozilla-central/rev/c2fba0edd350
https://hg.mozilla.org/mozilla-central/rev/f38d3832ac1b
https://hg.mozilla.org/mozilla-central/rev/745ffc51422b
https://hg.mozilla.org/mozilla-central/rev/c07e6b8a9c6b
https://hg.mozilla.org/mozilla-central/rev/ffdcd88f2506
https://hg.mozilla.org/mozilla-central/rev/1d059e390246
https://hg.mozilla.org/mozilla-central/rev/3c2c1a4ae8a0
https://hg.mozilla.org/mozilla-central/rev/7c18f4da2974
https://hg.mozilla.org/mozilla-central/rev/b4efde4477f1
https://hg.mozilla.org/mozilla-central/rev/32464f884e03
Description
•