| Index: runtime/vm/flow_graph_builder.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_builder.cc (revision 11450)
|
| +++ runtime/vm/flow_graph_builder.cc (working copy)
|
| @@ -276,8 +276,9 @@
|
| }
|
| const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| Value* constant_true = Bind(Constant(bool_true));
|
| - StrictCompareAndBranchInstr* branch =
|
| - new StrictCompareAndBranchInstr(value, constant_true, Token::kEQ_STRICT);
|
| + StrictCompareComp* comp =
|
| + new StrictCompareComp(Token::kEQ_STRICT, value, constant_true);
|
| + BranchInstr* branch = new BranchInstr(comp);
|
| AddInstruction(branch);
|
| CloseFragment();
|
| true_successor_address_ = branch->true_successor_address();
|
| @@ -289,22 +290,18 @@
|
| ASSERT(!FLAG_enable_type_checks);
|
| ControlInstruction* branch;
|
| if (Token::IsStrictEqualityOperator(comp->kind())) {
|
| - branch = new StrictCompareAndBranchInstr(comp->left(),
|
| - comp->right(),
|
| - comp->kind());
|
| + branch = new BranchInstr(new StrictCompareComp(comp->kind(),
|
| + comp->left(),
|
| + comp->right()));
|
| } else if (Token::IsEqualityOperator(comp->kind()) &&
|
| (comp->left()->BindsToConstantNull() ||
|
| comp->right()->BindsToConstantNull())) {
|
| - branch = new StrictCompareAndBranchInstr(
|
| + branch = new BranchInstr(new StrictCompareComp(
|
| + (comp->kind() == Token::kEQ) ? Token::kEQ_STRICT : Token::kNE_STRICT,
|
| comp->left(),
|
| - comp->right(),
|
| - (comp->kind() == Token::kEQ) ? Token::kEQ_STRICT : Token::kNE_STRICT);
|
| + comp->right()));
|
| } else {
|
| - branch = new BranchInstr(condition_token_pos(),
|
| - owner()->try_index(),
|
| - comp->left(),
|
| - comp->right(),
|
| - comp->kind());
|
| + branch = new BranchInstr(comp);
|
| }
|
| AddInstruction(branch);
|
| CloseFragment();
|
| @@ -317,10 +314,10 @@
|
| ASSERT(!FLAG_enable_type_checks);
|
| const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| Value* constant_true = Bind(Constant(bool_true));
|
| - StrictCompareAndBranchInstr* branch =
|
| - new StrictCompareAndBranchInstr(comp->value(),
|
| - constant_true,
|
| - Token::kNE_STRICT);
|
| + BranchInstr* branch = new BranchInstr(
|
| + new StrictCompareComp(Token::kNE_STRICT,
|
| + comp->value(),
|
| + constant_true));
|
| AddInstruction(branch);
|
| CloseFragment();
|
| true_successor_address_ = branch->true_successor_address();
|
|
|