Reviewers: Lasse Reichstein, Message: Small change.
Description: X64 Implementation: Correct error with initializer blocks Please review this at http://codereview.chromium.org/149008 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/x64/codegen-x64.cc Index: src/x64/codegen-x64.cc =================================================================== --- src/x64/codegen-x64.cc (revision 2275) +++ src/x64/codegen-x64.cc (working copy) @@ -1486,7 +1486,8 @@ // The receiver is the argument to the runtime call. It is the // first value pushed when the reference was loaded to the // frame. - frame_->PushElementAt(target.size() - 1); + // TODO(X64): Enable this and the switch back to fast, once they work. + // frame_->PushElementAt(target.size() - 1); // Result ignored = frame_->CallRuntime(Runtime::kToSlowProperties, 1); } if (node->op() == Token::ASSIGN || @@ -1538,7 +1539,8 @@ // argument to the runtime call is the receiver, which is the // first value pushed as part of the reference, which is below // the lhs value. - frame_->PushElementAt(target.size()); + // TODO(X64): Enable this once ToFastProperties works. + // frame_->PushElementAt(target.size()); // Result ignored = frame_->CallRuntime(Runtime::kToFastProperties, 1); } } @@ -2305,7 +2307,7 @@ (operation != NULL && operation->op() == Token::TYPEOF) && (right->AsLiteral() != NULL && right->AsLiteral()->handle()->IsString())) { - Handle<String> check(String::cast(*right->AsLiteral()->handle())); + Handle<String> check(Handle<String>::cast(right->AsLiteral()->handle())); // Load the operand and move it to a register. LoadTypeofExpression(operation->expression()); @@ -3323,11 +3325,7 @@ // When non-smi, call out to the compare stub. CompareStub stub(cc, strict); Result answer = frame_->CallStub(&stub, &left_side, &right_side); - if (cc == equal) { - __ testq(answer.reg(), answer.reg()); - } else { - __ cmpq(answer.reg(), Immediate(0)); - } + __ testq(answer.reg(), answer.reg()); // Both zero and sign flag right. answer.Unuse(); dest->Split(cc); } else { --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
