Index: src/x64/full-codegen-x64.cc |
=================================================================== |
--- src/x64/full-codegen-x64.cc (revision 5015) |
+++ src/x64/full-codegen-x64.cc (working copy) |
@@ -2807,9 +2807,11 @@ |
case Token::SUB: { |
Comment cmt(masm_, "[ UnaryOperation (SUB)"); |
- bool overwrite = |
+ bool can_overwrite = |
(expr->expression()->AsBinaryOperation() != NULL && |
expr->expression()->AsBinaryOperation()->ResultOverwriteAllowed()); |
+ UnaryOverwriteMode overwrite = |
+ can_overwrite ? UNARY_OVERWRITE : UNARY_NO_OVERWRITE; |
GenericUnaryOpStub stub(Token::SUB, overwrite); |
// GenericUnaryOpStub expects the argument to be in the |
// accumulator register rax. |
@@ -2821,9 +2823,11 @@ |
case Token::BIT_NOT: { |
Comment cmt(masm_, "[ UnaryOperation (BIT_NOT)"); |
- bool overwrite = |
+ bool can_overwrite = |
(expr->expression()->AsBinaryOperation() != NULL && |
expr->expression()->AsBinaryOperation()->ResultOverwriteAllowed()); |
+ UnaryOverwriteMode overwrite = |
+ can_overwrite ? UNARY_OVERWRITE : UNARY_NO_OVERWRITE; |
GenericUnaryOpStub stub(Token::BIT_NOT, overwrite); |
// GenericUnaryOpStub expects the argument to be in the |
// accumulator register rax. |