Reapply "Shuffle around deopt id allocation to give the flow graph builder a chance to record other data as they are allocated".
- Fix inlining of new List(n) to propogate deopt id. - Fix CreateArrayOpt to check for a Smi length. R=vegorov@google.com Review-Url: https://codereview.chromium.org/2900963008 .
This commit is contained in:
@@ -3554,7 +3554,7 @@ Fragment StreamingFlowGraphBuilder::BuildWhileStatement() {
|
||||
Fragment loop(join);
|
||||
loop += CheckStackOverflow();
|
||||
loop += condition;
|
||||
entry = new (Z) GotoInstr(join);
|
||||
entry = new (Z) GotoInstr(join, Thread::Current()->GetNextDeoptId());
|
||||
} else {
|
||||
entry = condition.entry;
|
||||
}
|
||||
@@ -3588,7 +3588,8 @@ Fragment StreamingFlowGraphBuilder::BuildDoStatement() {
|
||||
repeat += Goto(join);
|
||||
|
||||
loop_depth_dec();
|
||||
return Fragment(new (Z) GotoInstr(join), loop_exit);
|
||||
return Fragment(new (Z) GotoInstr(join, Thread::Current()->GetNextDeoptId()),
|
||||
loop_exit);
|
||||
}
|
||||
|
||||
Fragment StreamingFlowGraphBuilder::BuildForStatement() {
|
||||
|
||||
Reference in New Issue
Block a user