| Index: src/ia32/codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/codegen-ia32.cc (revision 5369)
|
| +++ src/ia32/codegen-ia32.cc (working copy)
|
| @@ -29,9 +29,9 @@
|
|
|
| #if defined(V8_TARGET_ARCH_IA32)
|
|
|
| -#include "bootstrapper.h"
|
| -#include "code-stubs-ia32.h"
|
| #include "codegen-inl.h"
|
| +#include "bootstrapper.h"
|
| +#include "code-stubs.h"
|
| #include "compiler.h"
|
| #include "debug.h"
|
| #include "ic-inl.h"
|
| @@ -1451,7 +1451,7 @@
|
| overwrite_mode,
|
| NO_SMI_CODE_IN_STUB,
|
| operands_type);
|
| - answer = stub.GenerateCall(masm_, frame_, &left, &right);
|
| + answer = GenerateGenericBinaryOpStubCall(&stub, &left, &right);
|
| } else if (right_is_smi_constant) {
|
| answer = ConstantSmiBinaryOperation(expr, &left, right.handle(),
|
| false, overwrite_mode);
|
| @@ -1474,7 +1474,7 @@
|
| overwrite_mode,
|
| NO_GENERIC_BINARY_FLAGS,
|
| operands_type);
|
| - answer = stub.GenerateCall(masm_, frame_, &left, &right);
|
| + answer = GenerateGenericBinaryOpStubCall(&stub, &left, &right);
|
| }
|
| }
|
|
|
| @@ -1483,6 +1483,20 @@
|
| }
|
|
|
|
|
| +Result CodeGenerator::GenerateGenericBinaryOpStubCall(GenericBinaryOpStub* stub,
|
| + Result* left,
|
| + Result* right) {
|
| + if (stub->ArgsInRegistersSupported()) {
|
| + stub->SetArgsInRegisters();
|
| + return frame_->CallStub(stub, left, right);
|
| + } else {
|
| + frame_->Push(left);
|
| + frame_->Push(right);
|
| + return frame_->CallStub(stub, 2);
|
| + }
|
| +}
|
| +
|
| +
|
| bool CodeGenerator::FoldConstantSmis(Token::Value op, int left, int right) {
|
| Object* answer_object = Heap::undefined_value();
|
| switch (op) {
|
| @@ -9816,21 +9830,6 @@
|
| }
|
|
|
|
|
| -Result GenericBinaryOpStub::GenerateCall(MacroAssembler* masm,
|
| - VirtualFrame* frame,
|
| - Result* left,
|
| - Result* right) {
|
| - if (ArgsInRegistersSupported()) {
|
| - SetArgsInRegisters();
|
| - return frame->CallStub(this, left, right);
|
| - } else {
|
| - frame->Push(left);
|
| - frame->Push(right);
|
| - return frame->CallStub(this, 2);
|
| - }
|
| -}
|
| -
|
| -
|
| #undef __
|
|
|
| #define __ masm.
|
|
|