| Index: src/codegen-ia32.h
|
| ===================================================================
|
| --- src/codegen-ia32.h (revision 1546)
|
| +++ src/codegen-ia32.h (working copy)
|
| @@ -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,30 +408,8 @@
|
| // 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
|
| - // 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);
|
| - }
|
| -
|
| // Read a value from a slot and leave it on top of the expression stack.
|
| void LoadFromSlot(Slot* slot, TypeofState typeof_state);
|
| Result LoadFromGlobalSlotCheckExtensions(Slot* slot,
|
| @@ -644,15 +600,6 @@
|
| };
|
|
|
|
|
| -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
|
|
|
| #endif // V8_CODEGEN_IA32_H_
|
|
|