Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(490)

Unified Diff: src/ia32/codegen-ia32.cc

Issue 3169049: Remove dependence of code-stubs on codegen, the virtual frame code generator.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ia32/codegen-ia32.h ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « src/ia32/codegen-ia32.h ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698