@@ -4369,59 +4369,6 @@ BackwardPass::TraceBlockUses(BasicBlock * block, bool isStart)
43694369
43704370#endif
43714371
4372- bool
4373- BackwardPass::UpdateImplicitCallBailOutKind (IR::Instr *const instr, bool needsBailOutOnImplicitCall)
4374- {
4375- Assert (instr);
4376- Assert (instr->HasBailOutInfo ());
4377-
4378- IR::BailOutKind implicitCallBailOutKind = needsBailOutOnImplicitCall ? IR::BailOutOnImplicitCalls : IR::BailOutInvalid;
4379-
4380- IR::BailOutKind instrBailOutKind = instr->GetBailOutKind ();
4381- if (instrBailOutKind & IR::BailOutMarkTempObject)
4382- {
4383- // Remove the mark temp object bit, as we don't need it after the dead store pass
4384- instrBailOutKind &= ~IR::BailOutMarkTempObject;
4385- instr->SetBailOutKind (instrBailOutKind);
4386-
4387- if (!instr->GetBailOutInfo ()->canDeadStore )
4388- {
4389- return true ;
4390- }
4391- }
4392-
4393- const IR::BailOutKind instrImplicitCallBailOutKind = instrBailOutKind & ~IR::BailOutKindBits;
4394- if (instrImplicitCallBailOutKind == IR::BailOutOnImplicitCallsPreOp)
4395- {
4396- if (needsBailOutOnImplicitCall)
4397- {
4398- implicitCallBailOutKind = IR::BailOutOnImplicitCallsPreOp;
4399- }
4400- }
4401- else if (instrImplicitCallBailOutKind != IR::BailOutOnImplicitCalls && instrImplicitCallBailOutKind != IR::BailOutInvalid)
4402- {
4403- // This bailout kind (the value of 'instrImplicitCallBailOutKind') must guarantee that implicit calls will not happen.
4404- // If it doesn't make such a guarantee, it must be possible to merge this bailout kind with an implicit call bailout
4405- // kind, and therefore should be part of BailOutKindBits.
4406- Assert (!needsBailOutOnImplicitCall);
4407- return true ;
4408- }
4409-
4410- if (instrImplicitCallBailOutKind == implicitCallBailOutKind)
4411- {
4412- return true ;
4413- }
4414-
4415- const IR::BailOutKind newBailOutKind = instrBailOutKind - instrImplicitCallBailOutKind + implicitCallBailOutKind;
4416- if (newBailOutKind == IR::BailOutInvalid)
4417- {
4418- return false ;
4419- }
4420-
4421- instr->SetBailOutKind (newBailOutKind);
4422- return true ;
4423- }
4424-
44254372bool
44264373BackwardPass::ProcessNoImplicitCallUses (IR::Instr *const instr)
44274374{
0 commit comments