| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index ebe4762d3b2580cc57a20ae34174b13b8bbca941..35e750c013d4107ce812bdc30615530febb5130d 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -2606,7 +2606,7 @@ class JSDataPropertyDescriptor: public JSObject {
|
|
|
|
|
| // JSIteratorResult is just a JSObject with a specific initial map.
|
| -// This initial map adds in-object properties for "done" and "value,
|
| +// This initial map adds in-object properties for "done" and "value",
|
| // as specified by ES6 section 25.1.1.3 The IteratorResult Interface
|
| class JSIteratorResult: public JSObject {
|
| public:
|
| @@ -2623,6 +2623,47 @@ class JSIteratorResult: public JSObject {
|
| };
|
|
|
|
|
| +// Common superclass for JSSloppyArgumentsObject and JSStrictArgumentsObject.
|
| +class JSArgumentsObject: public JSObject {
|
| + public:
|
| + // Offsets of object fields.
|
| + static const int kLengthOffset = JSObject::kHeaderSize;
|
| + static const int kHeaderSize = kLengthOffset + kPointerSize;
|
| + // Indices of in-object properties.
|
| + static const int kLengthIndex = 0;
|
| +
|
| + private:
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(JSArgumentsObject);
|
| +};
|
| +
|
| +
|
| +// JSSloppyArgumentsObject is just a JSObject with specific initial map.
|
| +// This initial map adds in-object properties for "length" and "callee".
|
| +class JSSloppyArgumentsObject: public JSArgumentsObject {
|
| + public:
|
| + // Offsets of object fields.
|
| + static const int kCalleeOffset = JSArgumentsObject::kHeaderSize;
|
| + static const int kSize = kCalleeOffset + kPointerSize;
|
| + // Indices of in-object properties.
|
| + static const int kCalleeIndex = 1;
|
| +
|
| + private:
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(JSSloppyArgumentsObject);
|
| +};
|
| +
|
| +
|
| +// JSStrictArgumentsObject is just a JSObject with specific initial map.
|
| +// This initial map adds an in-object property for "length".
|
| +class JSStrictArgumentsObject: public JSArgumentsObject {
|
| + public:
|
| + // Offsets of object fields.
|
| + static const int kSize = JSArgumentsObject::kHeaderSize;
|
| +
|
| + private:
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(JSStrictArgumentsObject);
|
| +};
|
| +
|
| +
|
| // Common superclass for FixedArrays that allow implementations to share
|
| // common accessors and some code paths.
|
| class FixedArrayBase: public HeapObject {
|
|
|