Index: src/ia32/full-codegen-ia32.cc |
=================================================================== |
--- src/ia32/full-codegen-ia32.cc (revision 5015) |
+++ src/ia32/full-codegen-ia32.cc (working copy) |
@@ -2813,9 +2813,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 eax. |
@@ -2827,9 +2829,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 eax. |