| Index: vm/flow_graph_builder.cc
|
| ===================================================================
|
| --- vm/flow_graph_builder.cc (revision 16591)
|
| +++ vm/flow_graph_builder.cc (working copy)
|
| @@ -364,8 +364,7 @@
|
| if (FLAG_enable_type_checks) {
|
| value = Bind(new AssertBooleanInstr(condition_token_pos(), value));
|
| }
|
| - const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| - Value* constant_true = Bind(new ConstantInstr(bool_true));
|
| + Value* constant_true = Bind(new ConstantInstr(Bool::True()));
|
| StrictCompareInstr* comp =
|
| new StrictCompareInstr(Token::kEQ_STRICT, value, constant_true);
|
| BranchInstr* branch = new BranchInstr(comp);
|
| @@ -402,8 +401,7 @@
|
|
|
| void TestGraphVisitor::MergeBranchWithNegate(BooleanNegateInstr* neg) {
|
| ASSERT(!FLAG_enable_type_checks);
|
| - const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| - Value* constant_true = Bind(new ConstantInstr(bool_true));
|
| + Value* constant_true = Bind(new ConstantInstr(Bool::True()));
|
| BranchInstr* branch = new BranchInstr(
|
| new StrictCompareInstr(Token::kNE_STRICT, neg->value(), constant_true));
|
| AddInstruction(branch);
|
| @@ -701,8 +699,6 @@
|
| // of left is sufficient.
|
| // AND: left ? right === true : false;
|
| // OR: left ? true : right === true;
|
| - const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| - const Bool& bool_false = Bool::ZoneHandle(Bool::False());
|
|
|
| TestGraphVisitor for_test(owner(),
|
| temp_index(),
|
| @@ -718,7 +714,7 @@
|
| for_right.Bind(new AssertBooleanInstr(node->right()->token_pos(),
|
| right_value));
|
| }
|
| - Value* constant_true = for_right.Bind(new ConstantInstr(bool_true));
|
| + Value* constant_true = for_right.Bind(new ConstantInstr(Bool::True()));
|
| Value* compare =
|
| for_right.Bind(new StrictCompareInstr(Token::kEQ_STRICT,
|
| right_value,
|
| @@ -727,13 +723,13 @@
|
|
|
| if (node->kind() == Token::kAND) {
|
| ValueGraphVisitor for_false(owner(), temp_index(), loop_depth());
|
| - Value* constant_false = for_false.Bind(new ConstantInstr(bool_false));
|
| + Value* constant_false = for_false.Bind(new ConstantInstr(Bool::False()));
|
| for_false.Do(BuildStoreExprTemp(constant_false));
|
| Join(for_test, for_right, for_false);
|
| } else {
|
| ASSERT(node->kind() == Token::kOR);
|
| ValueGraphVisitor for_true(owner(), temp_index(), loop_depth());
|
| - Value* constant_true = for_true.Bind(new ConstantInstr(bool_true));
|
| + Value* constant_true = for_true.Bind(new ConstantInstr(Bool::True()));
|
| for_true.Do(BuildStoreExprTemp(constant_true));
|
| Join(for_test, for_true, for_right);
|
| }
|
| @@ -869,8 +865,6 @@
|
|
|
| void ValueGraphVisitor::BuildTypeTest(ComparisonNode* node) {
|
| ASSERT(Token::IsTypeTestOperator(node->kind()));
|
| - const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| - const Bool& bool_false = Bool::ZoneHandle(Bool::False());
|
| const AbstractType& type = node->right()->AsTypeNode()->type();
|
| ASSERT(type.IsFinalized() && !type.IsMalformed());
|
| const bool negate_result = (node->kind() == Token::kISNOT);
|
| @@ -881,7 +875,8 @@
|
| EffectGraphVisitor for_left_value(owner(), temp_index(), loop_depth());
|
| node->left()->Visit(&for_left_value);
|
| Append(for_left_value);
|
| - ReturnDefinition(new ConstantInstr(negate_result ? bool_false : bool_true));
|
| + ReturnDefinition(new ConstantInstr(negate_result ?
|
| + Bool::False() : Bool::True()));
|
| return;
|
| }
|
|
|
| @@ -897,12 +892,14 @@
|
| // already been checked above (if the type is instantiated). So we can
|
| // return false here if the instance is null (and if the type is
|
| // instantiated).
|
| - result = new ConstantInstr(negate_result ? bool_true : bool_false);
|
| + result = new ConstantInstr(negate_result ? Bool::True() : Bool::False());
|
| } else {
|
| if (literal_value.IsInstanceOf(type, TypeArguments::Handle(), NULL)) {
|
| - result = new ConstantInstr(negate_result ? bool_false : bool_true);
|
| + result = new ConstantInstr(negate_result ?
|
| + Bool::False() : Bool::True());
|
| } else {
|
| - result = new ConstantInstr(negate_result ? bool_true : bool_false);
|
| + result = new ConstantInstr(negate_result ?
|
| + Bool::True() : Bool::False());
|
| }
|
| }
|
| ReturnDefinition(result);
|
| @@ -933,8 +930,8 @@
|
| Value* type_arg = Bind(
|
| new ConstantInstr(node->right()->AsTypeNode()->type()));
|
| arguments->Add(PushArgument(type_arg));
|
| - const Bool& negate = Bool::ZoneHandle(node->kind() == Token::kISNOT ?
|
| - Bool::True() : Bool::False());
|
| + const Bool& negate = (node->kind() == Token::kISNOT) ? Bool::True() :
|
| + Bool::False();
|
| Value* negate_arg = Bind(new ConstantInstr(negate));
|
| arguments->Add(PushArgument(negate_arg));
|
| const intptr_t kNumArgsChecked = 1;
|
|
|