Author: [email protected]
Date: Fri Mar 20 02:35:31 2009
New Revision: 1559
Modified:
branches/bleeding_edge/src/codegen-arm.cc
branches/bleeding_edge/src/codegen-arm.h
branches/bleeding_edge/src/codegen-ia32.cc
branches/bleeding_edge/src/codegen-ia32.h
branches/bleeding_edge/src/codegen-inl.h
branches/bleeding_edge/src/codegen.cc
branches/bleeding_edge/src/jump-target-arm.cc
branches/bleeding_edge/src/jump-target-ia32.cc
branches/bleeding_edge/src/jump-target.cc
branches/bleeding_edge/src/jump-target.h
branches/bleeding_edge/src/register-allocator-ia32.cc
branches/bleeding_edge/src/register-allocator.cc
branches/bleeding_edge/src/virtual-frame-arm.cc
branches/bleeding_edge/src/virtual-frame-arm.h
branches/bleeding_edge/src/virtual-frame-ia32.cc
branches/bleeding_edge/src/virtual-frame-ia32.h
branches/bleeding_edge/src/virtual-frame.h
Log:
Remove a bunch of unnecessary includes from header files in favor of
forward declarations.
Review URL: http://codereview.chromium.org/42389
Modified: branches/bleeding_edge/src/codegen-arm.cc
==============================================================================
--- branches/bleeding_edge/src/codegen-arm.cc (original)
+++ branches/bleeding_edge/src/codegen-arm.cc Fri Mar 20 02:35:31 2009
@@ -30,8 +30,9 @@
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "debug.h"
-#include "scopes.h"
#include "runtime.h"
+#include "scopes.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
@@ -376,6 +377,22 @@
}
+void CodeGenerator::LoadConditionAndSpill(Expression* expression,
+ TypeofState typeof_state,
+ JumpTarget* true_target,
+ JumpTarget* false_target,
+ bool force_control) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ LoadCondition(expression, typeof_state, true_target, false_target,
+ force_control);
+ if (frame_ != NULL) {
+ frame_->SpillAll();
+ }
+ set_in_spilled_code(true);
+}
+
+
// Loads a value on TOS. If it is a boolean value, the result may have been
// (partially) translated into branches, or it may have set the condition
// code register. If force_cc is set, the value is forced to set the
@@ -421,6 +438,16 @@
}
+void CodeGenerator::LoadAndSpill(Expression* expression,
+ TypeofState typeof_state) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ Load(expression, typeof_state);
+ frame_->SpillAll();
+ set_in_spilled_code(true);
+}
+
+
void CodeGenerator::Load(Expression* x, TypeofState typeof_state) {
#ifdef DEBUG
int original_height = frame_->height();
@@ -1113,6 +1140,28 @@
}
+void CodeGenerator::VisitAndSpill(Statement* statement) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ Visit(statement);
+ if (frame_ != NULL) {
+ frame_->SpillAll();
+ }
+ set_in_spilled_code(true);
+}
+
+
+void CodeGenerator::VisitStatementsAndSpill(ZoneList<Statement*>*
statements) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ VisitStatements(statements);
+ if (frame_ != NULL) {
+ frame_->SpillAll();
+ }
+ set_in_spilled_code(true);
+}
+
+
void CodeGenerator::VisitStatements(ZoneList<Statement*>* statements) {
#ifdef DEBUG
int original_height = frame_->height();
@@ -3971,6 +4020,15 @@
ASSERT(raw_name != NULL);
return Handle<String>(String::cast(*raw_name->handle()));
}
+}
+
+
+void Reference::GetValueAndSpill(TypeofState typeof_state) {
+ ASSERT(cgen_->in_spilled_code());
+ cgen_->set_in_spilled_code(false);
+ GetValue(typeof_state);
+ cgen_->frame()->SpillAll();
+ cgen_->set_in_spilled_code(true);
}
Modified: branches/bleeding_edge/src/codegen-arm.h
==============================================================================
--- branches/bleeding_edge/src/codegen-arm.h (original)
+++ branches/bleeding_edge/src/codegen-arm.h Fri Mar 20 02:35:31 2009
@@ -28,12 +28,12 @@
#ifndef V8_CODEGEN_ARM_H_
#define V8_CODEGEN_ARM_H_
-#include "scopes.h"
-
namespace v8 { namespace internal {
// Forward declarations
class DeferredCode;
+class RegisterAllocator;
+class RegisterFile;
// Mode to overwrite BinaryExpression values.
enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT };
@@ -220,27 +220,11 @@
// reach the end of the statement (ie, it does not exit via break,
// continue, return, or throw). This function is used temporarily while
// the code generator is being transformed.
- void VisitAndSpill(Statement* statement) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- Visit(statement);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ void VisitAndSpill(Statement* statement);
// Visit a list of statements and then spill the virtual frame if control
// flow can reach the end of the list.
- void VisitStatementsAndSpill(ZoneList<Statement*>* statements) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- VisitStatements(statements);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ void VisitStatementsAndSpill(ZoneList<Statement*>* statements);
// Main code generation function
void GenCode(FunctionLiteral* fun);
@@ -278,13 +262,7 @@
// and then spill the frame fully to memory. This function is used
// temporarily while the code generator is being transformed.
void LoadAndSpill(Expression* expression,
- TypeofState typeof_state = NOT_INSIDE_TYPEOF) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- Load(expression, typeof_state);
- frame_->SpillAll();
- set_in_spilled_code(true);
- }
+ TypeofState typeof_state = NOT_INSIDE_TYPEOF);
// Call LoadCondition and then spill the virtual frame unless control
flow
// cannot reach the end of the expression (ie, by emitting only
@@ -293,16 +271,7 @@
TypeofState typeof_state,
JumpTarget* true_target,
JumpTarget* false_target,
- bool force_control) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- LoadCondition(expression, typeof_state, true_target, false_target,
- force_control);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ bool force_control);
// Read a value from a slot and leave it on top of the expression stack.
void LoadFromSlot(Slot* slot, TypeofState typeof_state);
@@ -468,15 +437,6 @@
DISALLOW_COPY_AND_ASSIGN(CodeGenerator);
};
-
-
-void Reference::GetValueAndSpill(TypeofState typeof_state) {
- ASSERT(cgen_->in_spilled_code());
- cgen_->set_in_spilled_code(false);
- GetValue(typeof_state);
- cgen_->frame()->SpillAll();
- cgen_->set_in_spilled_code(true);
-}
} } // namespace v8::internal
Modified: branches/bleeding_edge/src/codegen-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/codegen-ia32.cc (original)
+++ branches/bleeding_edge/src/codegen-ia32.cc Fri Mar 20 02:35:31 2009
@@ -30,8 +30,9 @@
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "debug.h"
-#include "scopes.h"
#include "runtime.h"
+#include "scopes.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
@@ -439,6 +440,16 @@
}
+void CodeGenerator::LoadAndSpill(Expression* expression,
+ TypeofState typeof_state) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ Load(expression, typeof_state);
+ frame_->SpillAll();
+ set_in_spilled_code(true);
+}
+
+
void CodeGenerator::Load(Expression* x, TypeofState typeof_state) {
#ifdef DEBUG
int original_height = frame_->height();
@@ -1550,6 +1561,28 @@
deferred->enter()->Branch(below, not_taken);
deferred->BindExit();
}
+}
+
+
+void CodeGenerator::VisitAndSpill(Statement* statement) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ Visit(statement);
+ if (frame_ != NULL) {
+ frame_->SpillAll();
+ }
+ set_in_spilled_code(true);
+}
+
+
+void CodeGenerator::VisitStatementsAndSpill(ZoneList<Statement*>*
statements) {
+ ASSERT(in_spilled_code());
+ set_in_spilled_code(false);
+ VisitStatements(statements);
+ if (frame_ != NULL) {
+ frame_->SpillAll();
+ }
+ set_in_spilled_code(true);
}
Modified: branches/bleeding_edge/src/codegen-ia32.h
==============================================================================
--- branches/bleeding_edge/src/codegen-ia32.h (original)
+++ branches/bleeding_edge/src/codegen-ia32.h Fri Mar 20 02:35:31 2009
@@ -28,13 +28,12 @@
#ifndef V8_CODEGEN_IA32_H_
#define V8_CODEGEN_IA32_H_
-#include "scopes.h"
-#include "register-allocator.h"
-
namespace v8 { namespace internal {
// Forward declarations
class DeferredCode;
+class RegisterAllocator;
+class RegisterFile;
// Mode to overwrite BinaryExpression values.
enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT };
@@ -82,11 +81,6 @@
// the expression stack, and it is left in place with its value above it.
void GetValue(TypeofState typeof_state);
- // Generate code to push the value of a reference on top of the
expression
- // stack and then spill the stack frame. This function is used
temporarily
- // while the code generator is being transformed.
- inline void GetValueAndSpill(TypeofState typeof_state);
-
// Like GetValue except that the slot is expected to be written to before
// being read from again. Thae value of the reference may be
invalidated,
// causing subsequent attempts to read it to fail.
@@ -368,27 +362,11 @@
// reach the end of the statement (ie, it does not exit via break,
// continue, return, or throw). This function is used temporarily while
// the code generator is being transformed.
- void VisitAndSpill(Statement* statement) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- Visit(statement);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ void VisitAndSpill(Statement* statement);
// Visit a list of statements and then spill the virtual frame if control
// flow can reach the end of the list.
- void VisitStatementsAndSpill(ZoneList<Statement*>* statements) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- VisitStatements(statements);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ void VisitStatementsAndSpill(ZoneList<Statement*>* statements);
// Main code generation function
void GenCode(FunctionLiteral* fun);
@@ -430,29 +408,7 @@
// and then spill the frame fully to memory. This function is used
// temporarily while the code generator is being transformed.
void LoadAndSpill(Expression* expression,
- TypeofState typeof_state = NOT_INSIDE_TYPEOF) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- Load(expression, typeof_state);
- frame_->SpillAll();
- set_in_spilled_code(true);
- }
-
- // Call LoadCondition and then spill the virtual frame unless control
flow
- // cannot reach the end of the expression (ie, by emitting only
- // unconditional jumps to the control targets).
- void LoadConditionAndSpill(Expression* expression,
- TypeofState typeof_state,
- ControlDestination* destination,
- bool force_control) {
- ASSERT(in_spilled_code());
- set_in_spilled_code(false);
- LoadCondition(expression, typeof_state, destination, force_control);
- if (frame_ != NULL) {
- frame_->SpillAll();
- }
- set_in_spilled_code(true);
- }
+ TypeofState typeof_state = NOT_INSIDE_TYPEOF);
// Read a value from a slot and leave it on top of the expression stack.
void LoadFromSlot(Slot* slot, TypeofState typeof_state);
@@ -642,15 +598,6 @@
DISALLOW_COPY_AND_ASSIGN(CodeGenerator);
};
-
-
-void Reference::GetValueAndSpill(TypeofState typeof_state) {
- ASSERT(cgen_->in_spilled_code());
- cgen_->set_in_spilled_code(false);
- GetValue(typeof_state);
- cgen_->frame()->SpillAll();
- cgen_->set_in_spilled_code(true);
-}
} } // namespace v8::internal
Modified: branches/bleeding_edge/src/codegen-inl.h
==============================================================================
--- branches/bleeding_edge/src/codegen-inl.h (original)
+++ branches/bleeding_edge/src/codegen-inl.h Fri Mar 20 02:35:31 2009
@@ -31,7 +31,6 @@
#include "codegen.h"
-
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/codegen.cc
==============================================================================
--- branches/bleeding_edge/src/codegen.cc (original)
+++ branches/bleeding_edge/src/codegen.cc Fri Mar 20 02:35:31 2009
@@ -31,9 +31,10 @@
#include "codegen-inl.h"
#include "debug.h"
#include "prettyprinter.h"
-#include "scopeinfo.h"
#include "runtime.h"
+#include "scopeinfo.h"
#include "stub-cache.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/jump-target-arm.cc
==============================================================================
--- branches/bleeding_edge/src/jump-target-arm.cc (original)
+++ branches/bleeding_edge/src/jump-target-arm.cc Fri Mar 20 02:35:31 2009
@@ -28,7 +28,7 @@
#include "v8.h"
#include "codegen.h"
-#include "jump-target.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/jump-target-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/jump-target-ia32.cc (original)
+++ branches/bleeding_edge/src/jump-target-ia32.cc Fri Mar 20 02:35:31 2009
@@ -28,7 +28,7 @@
#include "v8.h"
#include "codegen.h"
-#include "jump-target.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/jump-target.cc
==============================================================================
--- branches/bleeding_edge/src/jump-target.cc (original)
+++ branches/bleeding_edge/src/jump-target.cc Fri Mar 20 02:35:31 2009
@@ -28,7 +28,7 @@
#include "v8.h"
#include "codegen.h"
-#include "jump-target.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/jump-target.h
==============================================================================
--- branches/bleeding_edge/src/jump-target.h (original)
+++ branches/bleeding_edge/src/jump-target.h Fri Mar 20 02:35:31 2009
@@ -28,9 +28,13 @@
#ifndef V8_JUMP_TARGET_H_
#define V8_JUMP_TARGET_H_
-#include "virtual-frame.h"
-
namespace v8 { namespace internal {
+
+// Forward declarations.
+class FrameElement;
+class Result;
+class VirtualFrame;
+
//
-------------------------------------------------------------------------
// Jump targets
Modified: branches/bleeding_edge/src/register-allocator-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/register-allocator-ia32.cc (original)
+++ branches/bleeding_edge/src/register-allocator-ia32.cc Fri Mar 20
02:35:31 2009
@@ -28,7 +28,7 @@
#include "v8.h"
#include "codegen.h"
-#include "register-allocator.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/register-allocator.cc
==============================================================================
--- branches/bleeding_edge/src/register-allocator.cc (original)
+++ branches/bleeding_edge/src/register-allocator.cc Fri Mar 20 02:35:31
2009
@@ -28,7 +28,7 @@
#include "v8.h"
#include "codegen.h"
-#include "register-allocator.h"
+#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/virtual-frame-arm.cc
==============================================================================
--- branches/bleeding_edge/src/virtual-frame-arm.cc (original)
+++ branches/bleeding_edge/src/virtual-frame-arm.cc Fri Mar 20 02:35:31 2009
@@ -27,8 +27,8 @@
#include "v8.h"
-#include "codegen.h"
#include "codegen-inl.h"
+#include "scopes.h"
#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/virtual-frame-arm.h
==============================================================================
--- branches/bleeding_edge/src/virtual-frame-arm.h (original)
+++ branches/bleeding_edge/src/virtual-frame-arm.h Fri Mar 20 02:35:31 2009
@@ -28,6 +28,8 @@
#ifndef V8_VIRTUAL_FRAME_ARM_H_
#define V8_VIRTUAL_FRAME_ARM_H_
+#include "register-allocator.h"
+
namespace v8 { namespace internal {
//
-------------------------------------------------------------------------
Modified: branches/bleeding_edge/src/virtual-frame-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/virtual-frame-ia32.cc (original)
+++ branches/bleeding_edge/src/virtual-frame-ia32.cc Fri Mar 20 02:35:31
2009
@@ -27,8 +27,8 @@
#include "v8.h"
-#include "codegen.h"
#include "codegen-inl.h"
+#include "scopes.h"
#include "virtual-frame.h"
namespace v8 { namespace internal {
Modified: branches/bleeding_edge/src/virtual-frame-ia32.h
==============================================================================
--- branches/bleeding_edge/src/virtual-frame-ia32.h (original)
+++ branches/bleeding_edge/src/virtual-frame-ia32.h Fri Mar 20 02:35:31 2009
@@ -28,6 +28,8 @@
#ifndef V8_VIRTUAL_FRAME_IA32_H_
#define V8_VIRTUAL_FRAME_IA32_H_
+#include "register-allocator.h"
+
namespace v8 { namespace internal {
//
-------------------------------------------------------------------------
Modified: branches/bleeding_edge/src/virtual-frame.h
==============================================================================
--- branches/bleeding_edge/src/virtual-frame.h (original)
+++ branches/bleeding_edge/src/virtual-frame.h Fri Mar 20 02:35:31 2009
@@ -29,7 +29,6 @@
#define V8_VIRTUAL_FRAME_H_
#include "macro-assembler.h"
-#include "register-allocator.h"
namespace v8 { namespace internal {
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---