| Index: runtime/vm/intermediate_language_ia32.cc
|
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
|
| index 4d0899d416c1e6b81fed7fe9f0b09f2cd8ed3d80..3d5c4962aa23402f9627b782e55c04c8c0a48ce1 100644
|
| --- a/runtime/vm/intermediate_language_ia32.cc
|
| +++ b/runtime/vm/intermediate_language_ia32.cc
|
| @@ -355,10 +355,10 @@ static void EmitEqualityAsInstanceCall(FlowGraphCompiler* compiler,
|
| __ popl(EDX);
|
| __ cmpl(EAX, EDX);
|
| __ j(EQUAL, &is_true);
|
| - __ LoadObject(EAX, (kind == Token::kEQ) ? Bool::False() : Bool::True());
|
| + __ LoadObject(EAX, Bool::Get(kind != Token::kEQ));
|
| __ jmp(&equality_done);
|
| __ Bind(&is_true);
|
| - __ LoadObject(EAX, (kind == Token::kEQ) ? Bool::True() : Bool::False());
|
| + __ LoadObject(EAX, Bool::Get(kind == Token::kEQ));
|
| if (kind == Token::kNE) {
|
| // Skip not-equal result conversion.
|
| __ jmp(&equality_done);
|
| @@ -535,10 +535,10 @@ static void EmitCheckedStrictEqual(FlowGraphCompiler* compiler,
|
| Register result = locs.out().reg();
|
| __ j(EQUAL, &is_equal, Assembler::kNearJump);
|
| // Not equal.
|
| - __ LoadObject(result, (kind == Token::kEQ) ? Bool::False() : Bool::True());
|
| + __ LoadObject(result, Bool::Get(kind != Token::kEQ));
|
| __ jmp(&done, Assembler::kNearJump);
|
| __ Bind(&is_equal);
|
| - __ LoadObject(result, (kind == Token::kEQ) ? Bool::True() : Bool::False());
|
| + __ LoadObject(result, Bool::Get(kind == Token::kEQ));
|
| __ Bind(&done);
|
| } else {
|
| Condition cond = TokenKindToSmiCondition(kind);
|
| @@ -4898,7 +4898,7 @@ void StrictCompareInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| const bool result = (kind() == Token::kEQ_STRICT) ?
|
| left.constant().raw() == right.constant().raw() :
|
| left.constant().raw() != right.constant().raw();
|
| - __ LoadObject(locs()->out().reg(), result ? Bool::True() : Bool::False());
|
| + __ LoadObject(locs()->out().reg(), Bool::Get(result));
|
| return;
|
| }
|
| if (left.IsConstant()) {
|
|
|