| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 7e49bf8cb00918d014adb2670236fa29a7b91df1..320531cfd588aa61ebd344477be4202cd3cd95fb 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -395,7 +395,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
| V(ALIASED_ARGUMENTS_ENTRY_TYPE) \
|
| V(BOX_TYPE) \
|
| V(PROTOTYPE_INFO_TYPE) \
|
| - V(SLOPPY_BLOCK_WITH_EVAL_CONTEXT_EXTENSION_TYPE) \
|
| + V(CONTEXT_EXTENSION_TYPE) \
|
| \
|
| V(FIXED_ARRAY_TYPE) \
|
| V(FIXED_DOUBLE_ARRAY_TYPE) \
|
| @@ -513,9 +513,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
| V(DEBUG_INFO, DebugInfo, debug_info) \
|
| V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \
|
| V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \
|
| - V(SLOPPY_BLOCK_WITH_EVAL_CONTEXT_EXTENSION, \
|
| - SloppyBlockWithEvalContextExtension, \
|
| - sloppy_block_with_eval_context_extension)
|
| + V(CONTEXT_EXTENSION, ContextExtension, context_extension)
|
|
|
| // We use the full 8 bits of the instance_type field to encode heap object
|
| // instance types. The high-order bit (bit 7) is set if the object is not a
|
| @@ -689,7 +687,7 @@ enum InstanceType {
|
| TRANSITION_ARRAY_TYPE,
|
| PROPERTY_CELL_TYPE,
|
| PROTOTYPE_INFO_TYPE,
|
| - SLOPPY_BLOCK_WITH_EVAL_CONTEXT_EXTENSION_TYPE,
|
| + CONTEXT_EXTENSION_TYPE,
|
|
|
| // All the following types are subtypes of JSReceiver, which corresponds to
|
| // objects in the JS sense. The first and the last type in this range are
|
| @@ -6653,28 +6651,29 @@ class PrototypeInfo : public Struct {
|
|
|
|
|
| // Pair used to store both a ScopeInfo and an extension object in the extension
|
| -// slot of a block context. Needed in the rare case where a declaration block
|
| -// scope (a "varblock" as used to desugar parameter destructuring) also contains
|
| -// a sloppy direct eval. (In no other case both are needed at the same time.)
|
| -class SloppyBlockWithEvalContextExtension : public Struct {
|
| +// slot of a block, catch, or with context. Needed in the rare case where a
|
| +// declaration block scope (a "varblock" as used to desugar parameter
|
| +// destructuring) also contains a sloppy direct eval, or for with and catch
|
| +// scopes. (In no other case both are needed at the same time.)
|
| +class ContextExtension : public Struct {
|
| public:
|
| // [scope_info]: Scope info.
|
| DECL_ACCESSORS(scope_info, ScopeInfo)
|
| // [extension]: Extension object.
|
| - DECL_ACCESSORS(extension, JSObject)
|
| + DECL_ACCESSORS(extension, Object)
|
|
|
| - DECLARE_CAST(SloppyBlockWithEvalContextExtension)
|
| + DECLARE_CAST(ContextExtension)
|
|
|
| // Dispatched behavior.
|
| - DECLARE_PRINTER(SloppyBlockWithEvalContextExtension)
|
| - DECLARE_VERIFIER(SloppyBlockWithEvalContextExtension)
|
| + DECLARE_PRINTER(ContextExtension)
|
| + DECLARE_VERIFIER(ContextExtension)
|
|
|
| static const int kScopeInfoOffset = HeapObject::kHeaderSize;
|
| static const int kExtensionOffset = kScopeInfoOffset + kPointerSize;
|
| static const int kSize = kExtensionOffset + kPointerSize;
|
|
|
| private:
|
| - DISALLOW_IMPLICIT_CONSTRUCTORS(SloppyBlockWithEvalContextExtension);
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(ContextExtension);
|
| };
|
|
|
|
|
|
|