Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(857)

Unified Diff: runtime/vm/jit_optimizer.cc

Issue 2896903002: Shuffle around deopt id allocation to give the flow graph builder a chance to record other data as … (Closed)
Patch Set: format Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/jit_optimizer.cc
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
index d536fd60223a8b8b5a4cc5f375fccb5f35733de2..ba63e4ec0bb43348d9b6e01232d271b08b2089cf 100644
--- a/runtime/vm/jit_optimizer.cc
+++ b/runtime/vm/jit_optimizer.cc
@@ -604,10 +604,10 @@ bool JitOptimizer::TryReplaceWithEqualityOp(InstanceCallInstr* call,
ConstantInstr* left_const = left->AsConstant();
if ((right_const != NULL && right_const->value().IsNull()) ||
(left_const != NULL && left_const->value().IsNull())) {
- StrictCompareInstr* comp = new (Z)
- StrictCompareInstr(call->token_pos(), Token::kEQ_STRICT,
- new (Z) Value(left), new (Z) Value(right),
- false); // No number check.
+ StrictCompareInstr* comp = new (Z) StrictCompareInstr(
+ call->token_pos(), Token::kEQ_STRICT, new (Z) Value(left),
+ new (Z) Value(right), false, // No number check.
+ Thread::Current()->GetNextDeoptId());
Vyacheslav Egorov (Google) 2017/05/23 12:00:03 kNoDeoptId (because we are in the optimizer and st
ReplaceCall(call, comp);
return true;
}
@@ -1361,10 +1361,10 @@ void JitOptimizer::ReplaceWithInstanceOf(InstanceCallInstr* call) {
ConstantInstr* cid =
flow_graph()->GetConstant(Smi::Handle(Z, Smi::New(type_cid)));
- StrictCompareInstr* check_cid =
- new (Z) StrictCompareInstr(call->token_pos(), Token::kEQ_STRICT,
- new (Z) Value(left_cid), new (Z) Value(cid),
- false); // No number check.
+ StrictCompareInstr* check_cid = new (Z) StrictCompareInstr(
+ call->token_pos(), Token::kEQ_STRICT, new (Z) Value(left_cid),
+ new (Z) Value(cid), false, // No number check.
Vyacheslav Egorov (Google) 2017/05/23 12:00:03 maybe better /* number_check = */ false
+ Thread::Current()->GetNextDeoptId());
Vyacheslav Egorov (Google) 2017/05/23 12:00:03 ditto
ReplaceCall(call, check_cid);
return;
}

Powered by Google App Engine
This is Rietveld 408576698