Index: src/scopeinfo.h |
=================================================================== |
--- src/scopeinfo.h (revision 9568) |
+++ src/scopeinfo.h (working copy) |
@@ -97,73 +97,10 @@ |
List<Handle<String>, Allocator > parameters_; |
List<Handle<String>, Allocator > stack_slots_; |
List<Handle<String>, Allocator > context_slots_; |
- List<Variable::Mode, Allocator > context_modes_; |
+ List<VariableMode, Allocator > context_modes_; |
}; |
-// This object provides quick access to scope info details for runtime |
-// routines w/o the need to explicitly create a ScopeInfo object. |
-class SerializedScopeInfo : public FixedArray { |
- public : |
- |
- static SerializedScopeInfo* cast(Object* object) { |
- ASSERT(object->IsSerializedScopeInfo()); |
- return reinterpret_cast<SerializedScopeInfo*>(object); |
- } |
- |
- // Does this scope call eval? |
- bool CallsEval(); |
- |
- // Is this scope a strict mode scope? |
- bool IsStrictMode(); |
- |
- // Return the number of stack slots for code. |
- int NumberOfStackSlots(); |
- |
- // Return the number of context slots for code. |
- int NumberOfContextSlots(); |
- |
- // Return if this has context slots besides MIN_CONTEXT_SLOTS; |
- bool HasHeapAllocatedLocals(); |
- |
- // Lookup support for serialized scope info. Returns the |
- // the stack slot index for a given slot name if the slot is |
- // present; otherwise returns a value < 0. The name must be a symbol |
- // (canonicalized). |
- int StackSlotIndex(String* name); |
- |
- // Lookup support for serialized scope info. Returns the |
- // context slot index for a given slot name if the slot is present; otherwise |
- // returns a value < 0. The name must be a symbol (canonicalized). |
- // If the slot is present and mode != NULL, sets *mode to the corresponding |
- // mode for that variable. |
- int ContextSlotIndex(String* name, Variable::Mode* mode); |
- |
- // Lookup support for serialized scope info. Returns the |
- // parameter index for a given parameter name if the parameter is present; |
- // otherwise returns a value < 0. The name must be a symbol (canonicalized). |
- int ParameterIndex(String* name); |
- |
- // Lookup support for serialized scope info. Returns the |
- // function context slot index if the function name is present (named |
- // function expressions, only), otherwise returns a value < 0. The name |
- // must be a symbol (canonicalized). |
- int FunctionContextSlotIndex(String* name); |
- |
- static Handle<SerializedScopeInfo> Create(Scope* scope); |
- |
- // Serializes empty scope info. |
- static SerializedScopeInfo* Empty(); |
- |
- private: |
- inline Object** ContextEntriesAddr(); |
- |
- inline Object** ParameterEntriesAddr(); |
- |
- inline Object** StackSlotEntriesAddr(); |
-}; |
- |
- |
// Cache for mapping (data, property name) into context slot index. |
// The cache contains both positive and negative results. |
// Slot index equals -1 means the property is absent. |
@@ -174,12 +111,12 @@ |
// If absent, kNotFound is returned. |
int Lookup(Object* data, |
String* name, |
- Variable::Mode* mode); |
+ VariableMode* mode); |
// Update an element in the cache. |
void Update(Object* data, |
String* name, |
- Variable::Mode mode, |
+ VariableMode mode, |
int slot_index); |
// Clear the cache. |
@@ -201,7 +138,7 @@ |
#ifdef DEBUG |
void ValidateEntry(Object* data, |
String* name, |
- Variable::Mode mode, |
+ VariableMode mode, |
int slot_index); |
#endif |
@@ -212,7 +149,7 @@ |
}; |
struct Value { |
- Value(Variable::Mode mode, int index) { |
+ Value(VariableMode mode, int index) { |
ASSERT(ModeField::is_valid(mode)); |
ASSERT(IndexField::is_valid(index)); |
value_ = ModeField::encode(mode) | IndexField::encode(index); |
@@ -224,14 +161,14 @@ |
uint32_t raw() { return value_; } |
- Variable::Mode mode() { return ModeField::decode(value_); } |
+ VariableMode mode() { return ModeField::decode(value_); } |
int index() { return IndexField::decode(value_); } |
// Bit fields in value_ (type, shift, size). Must be public so the |
// constants can be embedded in generated code. |
- class ModeField: public BitField<Variable::Mode, 0, 3> {}; |
- class IndexField: public BitField<int, 3, 32-3> {}; |
+ class ModeField: public BitField<VariableMode, 0, 3> {}; |
+ class IndexField: public BitField<int, 3, 32-3> {}; |
private: |
uint32_t value_; |
}; |