| Index: src/arm/codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/codegen-arm.cc (revision 5338)
|
| +++ src/arm/codegen-arm.cc (working copy)
|
| @@ -3550,9 +3550,7 @@
|
|
|
| // Perform the binary operation.
|
| Literal* literal = node->value()->AsLiteral();
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| if (literal != NULL && literal->handle()->IsSmi()) {
|
| SmiOperation(node->binary_op(),
|
| literal->handle(),
|
| @@ -3650,9 +3648,7 @@
|
|
|
| // Perform the binary operation.
|
| Literal* literal = node->value()->AsLiteral();
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| if (literal != NULL && literal->handle()->IsSmi()) {
|
| SmiOperation(node->binary_op(),
|
| literal->handle(),
|
| @@ -3766,9 +3762,7 @@
|
|
|
| // Perform the binary operation.
|
| Literal* literal = node->value()->AsLiteral();
|
| - bool overwrite_value =
|
| - (node->value()->AsBinaryOperation() != NULL &&
|
| - node->value()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_value = node->value()->ResultOverwriteAllowed();
|
| if (literal != NULL && literal->handle()->IsSmi()) {
|
| SmiOperation(node->binary_op(),
|
| literal->handle(),
|
| @@ -5755,9 +5749,7 @@
|
| frame_->EmitPush(r0); // r0 has result
|
|
|
| } 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;
|
|
|
| @@ -6081,12 +6073,8 @@
|
| Literal* rliteral = node->right()->AsLiteral();
|
| // NOTE: The code below assumes that the slow cases (calls to runtime)
|
| // never return a constant/immutable object.
|
| - bool overwrite_left =
|
| - (node->left()->AsBinaryOperation() != NULL &&
|
| - node->left()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| - bool overwrite_right =
|
| - (node->right()->AsBinaryOperation() != NULL &&
|
| - node->right()->AsBinaryOperation()->ResultOverwriteAllowed());
|
| + bool overwrite_left = node->left()->ResultOverwriteAllowed();
|
| + bool overwrite_right = node->right()->ResultOverwriteAllowed();
|
|
|
| if (rliteral != NULL && rliteral->handle()->IsSmi()) {
|
| VirtualFrame::RegisterAllocationScope scope(this);
|
|
|