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. |