Index: src/x64/codegen-x64.h |
=================================================================== |
--- src/x64/codegen-x64.h (revision 3208) |
+++ src/x64/codegen-x64.h (working copy) |
@@ -77,12 +77,12 @@ |
// Generate code to push the value of the reference on top of the |
// expression stack. The reference is expected to be already on top of |
// the expression stack, and it is left in place with its value above it. |
- void GetValue(TypeofState typeof_state); |
+ void GetValue(); |
// 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. |
- void TakeValue(TypeofState typeof_state); |
+ void TakeValue(); |
// Generate code to store the value on top of the expression stack in the |
// reference. The reference is expected to be immediately below the value |
@@ -241,28 +241,20 @@ |
explicit CodeGenState(CodeGenerator* owner); |
// Create a code generator state based on a code generator's current |
- // state. The new state may or may not be inside a typeof, and has its |
- // own control destination. |
- CodeGenState(CodeGenerator* owner, |
- TypeofState typeof_state, |
- ControlDestination* destination); |
+ // state. The new state has its own control destination. |
+ CodeGenState(CodeGenerator* owner, ControlDestination* destination); |
// Destroy a code generator state and restore the owning code generator's |
// previous state. |
~CodeGenState(); |
// Accessors for the state. |
- TypeofState typeof_state() const { return typeof_state_; } |
ControlDestination* destination() const { return destination_; } |
private: |
// The owning code generator. |
CodeGenerator* owner_; |
- // A flag indicating whether we are compiling the immediate subexpression |
- // of a typeof expression. |
- TypeofState typeof_state_; |
- |
// A control destination in case the expression has a control-flow |
// effect. |
ControlDestination* destination_; |
@@ -353,7 +345,6 @@ |
bool is_eval() { return is_eval_; } |
// State |
- TypeofState typeof_state() const { return state_->typeof_state(); } |
ControlDestination* destination() const { return state_->destination(); } |
// Track loop nesting level. |
@@ -414,18 +405,16 @@ |
} |
void LoadCondition(Expression* x, |
- TypeofState typeof_state, |
ControlDestination* destination, |
bool force_control); |
- void Load(Expression* x, TypeofState typeof_state = NOT_INSIDE_TYPEOF); |
+ void Load(Expression* expr); |
void LoadGlobal(); |
void LoadGlobalReceiver(); |
// Generate code to push the value of an expression on top of the frame |
// 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); |
+ void LoadAndSpill(Expression* expression); |
// Read a value from a slot and leave it on top of the expression stack. |
void LoadFromSlot(Slot* slot, TypeofState typeof_state); |