Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index bf5e02b1c04c7ede08123ee376ba59dd274ee48d..9c08ef3033de13d7a74c3964aea2f50877220b2e 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -641,9 +641,8 @@ void FullCodeGenerator::DoTest(Expression* condition, |
Label* if_true, |
Label* if_false, |
Label* fall_through) { |
- ToBooleanStub stub(result_register()); |
- __ push(result_register()); |
- __ CallStub(&stub, condition->test_id()); |
+ Handle<Code> ic = ToBooleanStub::GetUninitialized(isolate()); |
+ CallIC(ic, RelocInfo::CODE_TARGET, condition->test_id()); |
__ test(result_register(), result_register()); |
// The stub returns nonzero for true. |
Split(not_zero, if_true, if_false, fall_through); |
@@ -2003,9 +2002,8 @@ void FullCodeGenerator::VisitYield(Yield* expr) { |
__ mov(ecx, isolate()->factory()->done_string()); // "done" |
Handle<Code> done_ic = isolate()->builtins()->LoadIC_Initialize(); |
CallIC(done_ic); // result.done in eax |
- ToBooleanStub stub(eax); |
- __ push(eax); |
- __ CallStub(&stub); |
+ Handle<Code> bool_ic = ToBooleanStub::GetUninitialized(isolate()); |
+ CallIC(bool_ic); |
__ test(eax, eax); |
__ j(zero, &l_try); |