File tree Expand file tree Collapse file tree 3 files changed +16
-16
lines changed Expand file tree Collapse file tree 3 files changed +16
-16
lines changed Original file line number Diff line number Diff line change @@ -4831,14 +4831,7 @@ BasicBlock::CheckLegalityAndFoldPathDepBranches(GlobOpt* globOpt)
4831
4831
if (currentInlineeEnd != nullptr && currentInlineeEnd != unskippedInlineeEnd)
4832
4832
{
4833
4833
this ->GetLastInstr ()->InsertBefore (currentInlineeEnd->Copy ());
4834
- if (currentInlineeEnd->m_func ->m_hasInlineArgsOpt )
4835
- {
4836
- globOpt->RecordInlineeFrameInfo (currentInlineeEnd);
4837
- }
4838
- globOpt->EndTrackingOfArgObjSymsForInlinee ();
4839
-
4840
- Assert (globOpt->currentBlock ->globOptData .inlinedArgOutSize >= currentInlineeEnd->GetArgOutSize (/* getInterpreterArgOutCount*/ false ));
4841
- globOpt->currentBlock ->globOptData .inlinedArgOutSize -= currentInlineeEnd->GetArgOutSize (/* getInterpreterArgOutCount*/ false );
4834
+ globOpt->ProcessInlineeEnd (currentInlineeEnd);
4842
4835
currentInlineeEnd = nullptr ;
4843
4836
}
4844
4837
// We are adding an unconditional branch, go over all the current successors and remove the ones that are dead now
Original file line number Diff line number Diff line change @@ -861,6 +861,7 @@ class GlobOpt
861
861
void CaptureArguments (BasicBlock *block, BailOutInfo * bailOutInfo, JitArenaAllocator *allocator);
862
862
void CaptureByteCodeSymUses (IR::Instr * instr);
863
863
IR::ByteCodeUsesInstr * InsertByteCodeUses (IR::Instr * instr, bool includeDef = false );
864
+ void ProcessInlineeEnd (IR::Instr * instr);
864
865
void TrackCalls (IR::Instr * instr);
865
866
void RecordInlineeFrameInfo (IR::Instr* instr);
866
867
void EndTrackCall (IR::Instr * instr);
Original file line number Diff line number Diff line change @@ -467,6 +467,19 @@ GlobOpt::CaptureByteCodeSymUses(IR::Instr * instr)
467
467
" Instruction edited before capturing the byte code use" );
468
468
}
469
469
470
+ void
471
+ GlobOpt::ProcessInlineeEnd (IR::Instr* instr)
472
+ {
473
+ if (instr->m_func ->m_hasInlineArgsOpt )
474
+ {
475
+ RecordInlineeFrameInfo (instr);
476
+ }
477
+ EndTrackingOfArgObjSymsForInlinee ();
478
+
479
+ Assert (this ->currentBlock ->globOptData .inlinedArgOutSize >= instr->GetArgOutSize (/* getInterpreterArgOutCount*/ false ));
480
+ this ->currentBlock ->globOptData .inlinedArgOutSize -= instr->GetArgOutSize (/* getInterpreterArgOutCount*/ false );
481
+ }
482
+
470
483
void
471
484
GlobOpt::TrackCalls (IR::Instr * instr)
472
485
{
@@ -576,14 +589,7 @@ GlobOpt::TrackCalls(IR::Instr * instr)
576
589
break ;
577
590
578
591
case Js::OpCode::InlineeEnd:
579
- if (instr->m_func ->m_hasInlineArgsOpt )
580
- {
581
- RecordInlineeFrameInfo (instr);
582
- }
583
- EndTrackingOfArgObjSymsForInlinee ();
584
-
585
- Assert (this ->currentBlock ->globOptData .inlinedArgOutSize >= instr->GetArgOutSize (/* getInterpreterArgOutCount*/ false ));
586
- this ->currentBlock ->globOptData .inlinedArgOutSize -= instr->GetArgOutSize (/* getInterpreterArgOutCount*/ false );
592
+ ProcessInlineeEnd (instr);
587
593
break ;
588
594
589
595
case Js::OpCode::InlineeMetaArg:
You can’t perform that action at this time.
0 commit comments