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

Unified Diff: runtime/vm/intermediate_language_ia32.cc

Issue 23480005: Change Bool::Get to return a handle instead of a pointer to a raw object. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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/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()) {

Powered by Google App Engine
This is Rietveld 408576698