| 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_;
|
| };
|
|
|