| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index e88e1a540da9efb3ab32488c4baa432c2fa0bfa1..e03c023ff9ddfe1fb5979b67aa703f91f97936ca 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -652,9 +652,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());
|
| __ testq(result_register(), result_register());
|
| // The stub returns nonzero for true.
|
| Split(not_zero, if_true, if_false, fall_through);
|
| @@ -2028,10 +2027,9 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
| __ LoadRoot(rcx, Heap::kdone_stringRootIndex); // "done"
|
| Handle<Code> done_ic = isolate()->builtins()->LoadIC_Initialize();
|
| CallIC(done_ic); // result.done in rax
|
| - ToBooleanStub stub(rax);
|
| - __ push(rax);
|
| - __ CallStub(&stub);
|
| - __ testq(rax, rax);
|
| + Handle<Code> bool_ic = ToBooleanStub::GetUninitialized(isolate());
|
| + CallIC(bool_ic);
|
| + __ testq(result_register(), result_register());
|
| __ j(zero, &l_try);
|
|
|
| // result.value
|
|
|