Remove unused MIR nodes, MBasicBlock methods, and enums
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
Details
Attachments
(44 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 | |
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 |
The following MIR nodes are no longer used:
- MArgumentState
- MCallDirectEval
- MConstantElements
- MFallibleStoreElement
- MGetDynamicName
- MGetPropertyPolymorphic
- MGuardObject
- MGuardReceiverPolymorphic
- MGuardString
- MLoadElementFromState
- MObjectClassToString
- MPolyInlineGuard
- MRecompileCheck
- MSetPropertyInstruction
- MSetPropertyPolymorphic
- MUnknownValue
The following MBasicBlock
functions are no longer used:
- MBasicBlock::NewWithResumePoint()
- MBasicBlock::inheritResumePoint()
- MBasicBlock::addFromElsewhere()
- MBasicBlock::assertUsesAreNotWithin()
- MBasicBlock::inheritPhis()
- MBasicBlock::specializePhis()
These MCompare::CompareType
enum values are no longer used:
- Compare_Boolean
- Compare_Int32MaybeCoerceBoth
- Compare_Int32MaybeCoerceLHS
- Compare_Int32MaybeCoerceRHS
MIRType::ObjectOrNull
is also no longer set for any nodes.
Assignee | ||
Comment 1•3 years ago
|
||
I'm not sure if removing these will conflict with the work done in bug 1682767, though.
Comment 2•3 years ago
|
||
(In reply to André Bargull [:anba] from comment #1)
I'm not sure if removing these will conflict with the work done in bug 1682767, though.
Should be fine, I don't have more patches there at this point.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
Assignee | ||
Comment 4•3 years ago
|
||
Compare_{Boolean, StrictString, Int32MaybeCoerce{Both,LHS,RHS}}
are all no longer used.
Depends on D101869
Assignee | ||
Comment 5•3 years ago
|
||
Depends on D101871
Assignee | ||
Comment 6•3 years ago
|
||
At this point, MNot::operandMightEmulateUndefined()
always returns true
, so
we can remove any code which assumes it may return false
.
In CodeGenerator::visitNotV()
, operand->mightBeType(MIRType::Object)
always
returns true
in Warp, so we can remove the else
-branch in that function.
Depends on D101872
Assignee | ||
Comment 7•3 years ago
|
||
Similar to part 4, this method is no longer necessary.
Depends on D101873
Assignee | ||
Comment 8•3 years ago
|
||
Similar to part 4, this method is no longer necessary.
Depends on D101874
Assignee | ||
Comment 9•3 years ago
|
||
Add MCompare::NewWasm()
in preparation for the next part.
Depends on D101875
Assignee | ||
Comment 10•3 years ago
|
||
Directly set the comparison in the constructor. This will allow to remove
MCompare::Compare_Unknown
in the next part.
Depends on D101876
Assignee | ||
Comment 11•3 years ago
|
||
Depends on D101878
Assignee | ||
Comment 12•3 years ago
|
||
Remove MCompare::setCompareType()
so it's easier to see that the comparison
type won't change after running the constructor.
Depends on D101879
Assignee | ||
Comment 13•3 years ago
|
||
Depends on D101880
Assignee | ||
Comment 14•3 years ago
|
||
Depends on D101881
Assignee | ||
Comment 15•3 years ago
|
||
Depends on D101882
Assignee | ||
Comment 16•3 years ago
|
||
Depends on D101883
Assignee | ||
Comment 17•3 years ago
|
||
Depends on D101884
Assignee | ||
Comment 18•3 years ago
|
||
Depends on D101885
Assignee | ||
Comment 19•3 years ago
|
||
Depends on D101886
Assignee | ||
Comment 20•3 years ago
|
||
Depends on D101887
Assignee | ||
Comment 21•3 years ago
|
||
Depends on D101889
Assignee | ||
Comment 22•3 years ago
|
||
Depends on D101890
Assignee | ||
Comment 23•3 years ago
|
||
Depends on D101891
Assignee | ||
Comment 24•3 years ago
|
||
Depends on D101892
Assignee | ||
Comment 25•3 years ago
|
||
Depends on D101895
Assignee | ||
Comment 26•3 years ago
|
||
Depends on D101896
Assignee | ||
Comment 27•3 years ago
|
||
Depends on D101897
Assignee | ||
Comment 28•3 years ago
|
||
Depends on D101899
Assignee | ||
Comment 29•3 years ago
|
||
Depends on D101900
Assignee | ||
Comment 30•3 years ago
|
||
Depends on D101901
Assignee | ||
Comment 31•3 years ago
|
||
Depends on D101902
Assignee | ||
Comment 32•3 years ago
|
||
Depends on D101903
Assignee | ||
Comment 33•3 years ago
|
||
Depends on D101904
Assignee | ||
Comment 34•3 years ago
|
||
Depends on D101905
Assignee | ||
Comment 35•3 years ago
|
||
LArrayPushT
was effectively disabled in bug 1401624, when MArrayPush
's policy
was changed from NoFloatPolicy
to BoxPolicy
.
Depends on D101906
Assignee | ||
Comment 36•3 years ago
|
||
Depends on D101907
Assignee | ||
Comment 37•3 years ago
|
||
Depends on D101908
Assignee | ||
Comment 38•3 years ago
|
||
Warp only uses LSameValueD
, so we can remove LSameValue{V,VM}
and also
directly use AllDoublePolicy
for MSameValue
.
Depends on D101909
Assignee | ||
Comment 39•3 years ago
|
||
Depends on D101910
Assignee | ||
Comment 40•3 years ago
|
||
Depends on D101911
Assignee | ||
Comment 41•3 years ago
|
||
Depends on D101912
Assignee | ||
Comment 42•3 years ago
|
||
Depends on D101913
Assignee | ||
Comment 43•3 years ago
|
||
Depends on D101914
Assignee | ||
Comment 44•3 years ago
|
||
Depends on D101915
Assignee | ||
Comment 45•3 years ago
|
||
Depends on D101916
Assignee | ||
Comment 46•3 years ago
|
||
Depends on D101917
Comment 47•3 years ago
|
||
Pushed by ncsoregi@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/cd8037d37dda Part 1: Remove unused MBasicBlock methods. r=jandem https://hg.mozilla.org/integration/autoland/rev/ab3cfbaa1dda Part 2: Remove unused MCompare compare types. r=jandem https://hg.mozilla.org/integration/autoland/rev/76025aba6ff1 Part 3: Remove M{Compare,Not}::markNoOperandEmulatesUndefined(). r=jandem https://hg.mozilla.org/integration/autoland/rev/3df8aa194dfc Part 4: Remove MNot::operandMightEmulateUndefined(). r=jandem https://hg.mozilla.org/integration/autoland/rev/8111d3b5e18e Part 5: Remove MCompare::operandMightEmulateUndefined(). r=jandem https://hg.mozilla.org/integration/autoland/rev/de2914fea13f Part 6: Remove MTest::operandMightEmulateUndefined(). r=jandem https://hg.mozilla.org/integration/autoland/rev/4f09fd5fefec Part 7: Add MCompare::NewWasm. r=jandem https://hg.mozilla.org/integration/autoland/rev/22f94dd04465 Part 8: Set MCompare comparison type in the constructor. r=jandem https://hg.mozilla.org/integration/autoland/rev/fc810ef0f92a Part 9: Remove MCompare::Compare_Unknown. r=jandem https://hg.mozilla.org/integration/autoland/rev/8073fa2bc3d9 Part 10: Remove MCompare::setCompareType. r=jandem https://hg.mozilla.org/integration/autoland/rev/f50599c05263 Part 11: Remove LCompareBAndBranch. r=jandem https://hg.mozilla.org/integration/autoland/rev/5c2c3bda1701 Part 12: Remove LCompareB. r=jandem https://hg.mozilla.org/integration/autoland/rev/9c8dd124ceaf Part 13: Remove LCompareStrictS. r=jandem https://hg.mozilla.org/integration/autoland/rev/40694bbe289b Part 14: Inline CodeGenerator::emitCompareS into its single caller. r=jandem https://hg.mozilla.org/integration/autoland/rev/1871f86e2186 Part 15: Remove LCompareVM. r=jandem https://hg.mozilla.org/integration/autoland/rev/761c5d2a99c3 Part 16: Inline jit::{Loosely,Strictly}Equal. r=jandem https://hg.mozilla.org/integration/autoland/rev/3ea4f34c2390 Part 17: Remove MIRType::ObjectOrNull. r=jandem https://hg.mozilla.org/integration/autoland/rev/4dc1ce1c7f09 Part 18: Remove MLoadElementFromState. r=jandem https://hg.mozilla.org/integration/autoland/rev/229e91fb0240 Part 19: Remove MArgumentState. r=jandem https://hg.mozilla.org/integration/autoland/rev/5a3b143e8e9f Part 20: Remove MCallDirectEval. r=jandem https://hg.mozilla.org/integration/autoland/rev/be92c1d1c763 Part 21: Remove MConstantElements. r=jandem https://hg.mozilla.org/integration/autoland/rev/1fa963fdc5ac Part 22: Remove MFallibleStoreElement. r=jandem https://hg.mozilla.org/integration/autoland/rev/2c600412671c Part 23: Inline CodeGenerator::emitStoreElementHole{T,V}(). r=jandem https://hg.mozilla.org/integration/autoland/rev/d44245ad70cb Part 24: Remove MGetDynamicName. r=jandem https://hg.mozilla.org/integration/autoland/rev/b219fb80fca5 Part 25: Remove MGetPropertyPolymorphic. r=jandem https://hg.mozilla.org/integration/autoland/rev/3b27695bd41a Part 26: Remove MSetPropertyPolymorphic. r=jandem https://hg.mozilla.org/integration/autoland/rev/4453731e2dc6 Part 27: Remove MSetPropertyInstruction. r=jandem https://hg.mozilla.org/integration/autoland/rev/93cefac14445 Part 28: Remove MPolyInlineGuard. r=jandem https://hg.mozilla.org/integration/autoland/rev/e45fe162a3dd Part 29: Remove MGuardReceiverPolymorphic. r=jandem https://hg.mozilla.org/integration/autoland/rev/8136415df029 Part 30: Remove MGuardObject. r=jandem https://hg.mozilla.org/integration/autoland/rev/3efb7f8c2faf Part 31: Remove MGuardString. r=jandem https://hg.mozilla.org/integration/autoland/rev/ec03ba18d672 Part 32: Remove MUnknownValue. r=jandem https://hg.mozilla.org/integration/autoland/rev/3c4ad98116c4 Part 33: Remove LArrayPushT. r=jandem https://hg.mozilla.org/integration/autoland/rev/04b1286c1b73 Part 34: Inline CodeGenerator::emitArrayPush() and remove the "V" suffix from "LArrayPushV". r=jandem https://hg.mozilla.org/integration/autoland/rev/871437df87f2 Part 35: Use ToConstantOrRegister in CodeGenerator::visitStoreDynamicSlotT. r=jandem https://hg.mozilla.org/integration/autoland/rev/4e9f62a82ab2 Part 36: Remove no longer used MSameValue lowering types. r=jandem https://hg.mozilla.org/integration/autoland/rev/5c8cab18f91a Part 37: Remove MToObject. r=jandem https://hg.mozilla.org/integration/autoland/rev/d3527c6e5672 Part 38: Remove LambdaFunctionInfo::singletonType. r=jandem https://hg.mozilla.org/integration/autoland/rev/dfffca92905d Part 39: Remove no longer used LLoadDynamicSlotT. r=jandem https://hg.mozilla.org/integration/autoland/rev/c7f255644230 Part 40: Remove no longer used LLoadElementT. r=jandem https://hg.mozilla.org/integration/autoland/rev/bff69c55aa82 Part 41: Remove LUnboxObjectOrNull. r=jandem https://hg.mozilla.org/integration/autoland/rev/122ddcc979c0 Part 42: Remove MDefinition::maybeEmulatesUndefined(). r=jandem https://hg.mozilla.org/integration/autoland/rev/ec355aa2c750 Part 43: Remove non-GC pointer support from LPointer. r=jandem https://hg.mozilla.org/integration/autoland/rev/bb87116d8537 Part 44: Remove LLambdaForSingleton. r=jandem
Comment 48•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/cd8037d37dda
https://hg.mozilla.org/mozilla-central/rev/ab3cfbaa1dda
https://hg.mozilla.org/mozilla-central/rev/76025aba6ff1
https://hg.mozilla.org/mozilla-central/rev/3df8aa194dfc
https://hg.mozilla.org/mozilla-central/rev/8111d3b5e18e
https://hg.mozilla.org/mozilla-central/rev/de2914fea13f
https://hg.mozilla.org/mozilla-central/rev/4f09fd5fefec
https://hg.mozilla.org/mozilla-central/rev/22f94dd04465
https://hg.mozilla.org/mozilla-central/rev/fc810ef0f92a
https://hg.mozilla.org/mozilla-central/rev/8073fa2bc3d9
https://hg.mozilla.org/mozilla-central/rev/f50599c05263
https://hg.mozilla.org/mozilla-central/rev/5c2c3bda1701
https://hg.mozilla.org/mozilla-central/rev/9c8dd124ceaf
https://hg.mozilla.org/mozilla-central/rev/40694bbe289b
https://hg.mozilla.org/mozilla-central/rev/1871f86e2186
https://hg.mozilla.org/mozilla-central/rev/761c5d2a99c3
https://hg.mozilla.org/mozilla-central/rev/3ea4f34c2390
https://hg.mozilla.org/mozilla-central/rev/4dc1ce1c7f09
https://hg.mozilla.org/mozilla-central/rev/229e91fb0240
https://hg.mozilla.org/mozilla-central/rev/5a3b143e8e9f
https://hg.mozilla.org/mozilla-central/rev/be92c1d1c763
https://hg.mozilla.org/mozilla-central/rev/1fa963fdc5ac
https://hg.mozilla.org/mozilla-central/rev/2c600412671c
https://hg.mozilla.org/mozilla-central/rev/d44245ad70cb
https://hg.mozilla.org/mozilla-central/rev/b219fb80fca5
https://hg.mozilla.org/mozilla-central/rev/3b27695bd41a
https://hg.mozilla.org/mozilla-central/rev/4453731e2dc6
https://hg.mozilla.org/mozilla-central/rev/93cefac14445
https://hg.mozilla.org/mozilla-central/rev/e45fe162a3dd
https://hg.mozilla.org/mozilla-central/rev/8136415df029
https://hg.mozilla.org/mozilla-central/rev/3efb7f8c2faf
https://hg.mozilla.org/mozilla-central/rev/ec03ba18d672
https://hg.mozilla.org/mozilla-central/rev/3c4ad98116c4
https://hg.mozilla.org/mozilla-central/rev/04b1286c1b73
https://hg.mozilla.org/mozilla-central/rev/871437df87f2
https://hg.mozilla.org/mozilla-central/rev/4e9f62a82ab2
https://hg.mozilla.org/mozilla-central/rev/5c8cab18f91a
https://hg.mozilla.org/mozilla-central/rev/d3527c6e5672
https://hg.mozilla.org/mozilla-central/rev/dfffca92905d
https://hg.mozilla.org/mozilla-central/rev/c7f255644230
https://hg.mozilla.org/mozilla-central/rev/bff69c55aa82
https://hg.mozilla.org/mozilla-central/rev/122ddcc979c0
https://hg.mozilla.org/mozilla-central/rev/ec355aa2c750
https://hg.mozilla.org/mozilla-central/rev/bb87116d8537
Description
•