| Index: src/x64/codegen-x64.cc
|
| ===================================================================
|
| --- src/x64/codegen-x64.cc (revision 5338)
|
| +++ src/x64/codegen-x64.cc (working copy)
|
| @@ -5009,9 +5009,7 @@
|
| Load(node->value());
|
|
|
| // Perform the binary operation.
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| // Construct the implicit binary operation.
|
| BinaryOperation expr(node);
|
| GenericBinaryOperation(&expr,
|
| @@ -5100,9 +5098,7 @@
|
| frame()->Push(&value);
|
| Load(node->value());
|
|
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| // Construct the implicit binary operation.
|
| BinaryOperation expr(node);
|
| GenericBinaryOperation(&expr,
|
| @@ -5202,9 +5198,7 @@
|
| Load(node->value());
|
|
|
| // Perform the binary operation.
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| BinaryOperation expr(node);
|
| GenericBinaryOperation(&expr,
|
| overwrite_value ? OVERWRITE_RIGHT : NO_OVERWRITE);
|
| @@ -7357,9 +7351,7 @@
|
| }
|
|
|
| } else {
|
| - bool can_overwrite =
|
| - (node->expression()->AsBinaryOperation() != NULL &&
|
| - node->expression()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool can_overwrite = node->expression()->ResultOverwriteAllowed();
|
| UnaryOverwriteMode overwrite =
|
| can_overwrite ? UNARY_OVERWRITE : UNARY_NO_OVERWRITE;
|
| bool no_negative_zero = node->expression()->no_negative_zero();
|
| @@ -7777,11 +7769,9 @@
|
| // NOTE: The code below assumes that the slow cases (calls to runtime)
|
| // never return a constant/immutable object.
|
| OverwriteMode overwrite_mode = NO_OVERWRITE;
|
| - if (node->left()->AsBinaryOperation() != NULL &&
|
| - node->left()->AsBinaryOperation()->ResultOverwriteAllowed()) {
|
| + if (node->left()->ResultOverwriteAllowed()) {
|
| overwrite_mode = OVERWRITE_LEFT;
|
| - } else if (node->right()->AsBinaryOperation() != NULL &&
|
| - node->right()->AsBinaryOperation()->ResultOverwriteAllowed()) {
|
| + } else if (node->right()->ResultOverwriteAllowed()) {
|
| overwrite_mode = OVERWRITE_RIGHT;
|
| }
|
|
|
|
|