| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index b4fec8ee7e35495d9622a555cec82f8396cfd821..6d278c2f2d6c325208aab9cf7e74e170ce5ce8dd 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -4391,6 +4391,12 @@ class ScopeInfo : public FixedArray {
|
|
|
| FunctionKind function_kind();
|
|
|
| + // Returns true if this ScopeInfo is linked to a outer ScopeInfo.
|
| + bool HasOuterScopeInfo();
|
| +
|
| + // Return the outer ScopeInfo if present.
|
| + ScopeInfo* OuterScopeInfo();
|
| +
|
| static Handle<ScopeInfo> Create(Isolate* isolate, Zone* zone, Scope* scope);
|
| static Handle<ScopeInfo> CreateGlobalThisBinding(Isolate* isolate);
|
|
|
| @@ -4464,6 +4470,8 @@ class ScopeInfo : public FixedArray {
|
| // information about the function variable. It always occupies two array
|
| // slots: a. The name of the function variable.
|
| // b. The context or stack slot index for the variable.
|
| + // 8. OuterScopeInfoEntryIndex:
|
| + // The outer scope's ScopeInfo or the hole if there's none.
|
| int ParameterEntriesIndex();
|
| int StackLocalFirstSlotIndex();
|
| int StackLocalEntriesIndex();
|
| @@ -4473,6 +4481,7 @@ class ScopeInfo : public FixedArray {
|
| int ContextGlobalInfoEntriesIndex();
|
| int ReceiverEntryIndex();
|
| int FunctionNameEntryIndex();
|
| + int OuterScopeInfoEntryIndex();
|
|
|
| int Lookup(Handle<String> name, int start, int end, VariableMode* mode,
|
| VariableLocation* location, InitializationFlag* init_flag,
|
| @@ -4506,6 +4515,8 @@ class ScopeInfo : public FixedArray {
|
| : public BitField<bool, AsmFunctionField::kNext, 1> {};
|
| class FunctionKindField
|
| : public BitField<FunctionKind, HasSimpleParametersField::kNext, 9> {};
|
| + class HasOuterScopeInfoField
|
| + : public BitField<bool, FunctionKindField::kNext, 1> {};
|
|
|
| // Properties of variables.
|
| class VariableModeField : public BitField<VariableMode, 0, 3> {};
|
|
|