| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 7261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7272 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 7272 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
| 7273 k##name, | 7273 k##name, |
| 7274 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) | 7274 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) |
| 7275 ATOMIC_FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) | 7275 ATOMIC_FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) |
| 7276 #undef DECLARE_FUNCTION_ID | 7276 #undef DECLARE_FUNCTION_ID |
| 7277 // Fake id for a special case of Math.pow. Note, it continues the | 7277 // Fake id for a special case of Math.pow. Note, it continues the |
| 7278 // list of math functions. | 7278 // list of math functions. |
| 7279 kMathPowHalf, | 7279 kMathPowHalf, |
| 7280 // These are manually assigned to special getters during bootstrapping. | 7280 // These are manually assigned to special getters during bootstrapping. |
| 7281 kArrayBufferByteLength, | 7281 kArrayBufferByteLength, |
| 7282 kArrayEntries, |
| 7283 kArrayKeys, |
| 7284 kArrayValues, |
| 7285 kArrayIteratorNext, |
| 7282 kDataViewBuffer, | 7286 kDataViewBuffer, |
| 7283 kDataViewByteLength, | 7287 kDataViewByteLength, |
| 7284 kDataViewByteOffset, | 7288 kDataViewByteOffset, |
| 7285 kGlobalDecodeURI, | 7289 kGlobalDecodeURI, |
| 7286 kGlobalDecodeURIComponent, | 7290 kGlobalDecodeURIComponent, |
| 7287 kGlobalEncodeURI, | 7291 kGlobalEncodeURI, |
| 7288 kGlobalEncodeURIComponent, | 7292 kGlobalEncodeURIComponent, |
| 7289 kGlobalEscape, | 7293 kGlobalEscape, |
| 7290 kGlobalUnescape, | 7294 kGlobalUnescape, |
| 7291 kGlobalIsFinite, | 7295 kGlobalIsFinite, |
| 7292 kGlobalIsNaN, | 7296 kGlobalIsNaN, |
| 7293 kTypedArrayByteLength, | 7297 kTypedArrayByteLength, |
| 7294 kTypedArrayByteOffset, | 7298 kTypedArrayByteOffset, |
| 7299 kTypedArrayEntries, |
| 7300 kTypedArrayKeys, |
| 7295 kTypedArrayLength, | 7301 kTypedArrayLength, |
| 7302 kTypedArrayValues, |
| 7296 kSharedArrayBufferByteLength, | 7303 kSharedArrayBufferByteLength, |
| 7297 kStringIterator, | 7304 kStringIterator, |
| 7298 kStringIteratorNext, | 7305 kStringIteratorNext, |
| 7299 }; | 7306 }; |
| 7300 | 7307 |
| 7301 | 7308 |
| 7302 // Result of searching in an optimized code map of a SharedFunctionInfo. Note | 7309 // Result of searching in an optimized code map of a SharedFunctionInfo. Note |
| 7303 // that both {code} and {literals} can be NULL to pass search result status. | 7310 // that both {code} and {literals} can be NULL to pass search result status. |
| 7304 struct CodeAndLiterals { | 7311 struct CodeAndLiterals { |
| 7305 Code* code; // Cached optimized code. | 7312 Code* code; // Cached optimized code. |
| (...skipping 3396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10702 // [object]: the [[IteratedObject]] internal field. | 10709 // [object]: the [[IteratedObject]] internal field. |
| 10703 DECL_ACCESSORS(object, Object) | 10710 DECL_ACCESSORS(object, Object) |
| 10704 | 10711 |
| 10705 // [index]: The [[ArrayIteratorNextIndex]] internal field. | 10712 // [index]: The [[ArrayIteratorNextIndex]] internal field. |
| 10706 DECL_ACCESSORS(index, Object) | 10713 DECL_ACCESSORS(index, Object) |
| 10707 | 10714 |
| 10708 // [map]: The Map of the [[IteratedObject]] field at the time the iterator is | 10715 // [map]: The Map of the [[IteratedObject]] field at the time the iterator is |
| 10709 // allocated. | 10716 // allocated. |
| 10710 DECL_ACCESSORS(object_map, Object) | 10717 DECL_ACCESSORS(object_map, Object) |
| 10711 | 10718 |
| 10719 // Return the ElementsKind that a JSArrayIterator's [[IteratedObject]] is |
| 10720 // expected to have, based on its instance type. |
| 10721 static ElementsKind ElementsKindForInstanceType(InstanceType instance_type); |
| 10722 |
| 10712 static const int kIteratedObjectOffset = JSObject::kHeaderSize; | 10723 static const int kIteratedObjectOffset = JSObject::kHeaderSize; |
| 10713 static const int kNextIndexOffset = kIteratedObjectOffset + kPointerSize; | 10724 static const int kNextIndexOffset = kIteratedObjectOffset + kPointerSize; |
| 10714 static const int kIteratedObjectMapOffset = kNextIndexOffset + kPointerSize; | 10725 static const int kIteratedObjectMapOffset = kNextIndexOffset + kPointerSize; |
| 10715 static const int kSize = kIteratedObjectMapOffset + kPointerSize; | 10726 static const int kSize = kIteratedObjectMapOffset + kPointerSize; |
| 10716 | 10727 |
| 10717 private: | 10728 private: |
| 10718 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayIterator); | 10729 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayIterator); |
| 10719 }; | 10730 }; |
| 10720 | 10731 |
| 10721 class JSStringIterator : public JSObject { | 10732 class JSStringIterator : public JSObject { |
| (...skipping 1101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11823 } | 11834 } |
| 11824 return value; | 11835 return value; |
| 11825 } | 11836 } |
| 11826 }; | 11837 }; |
| 11827 | 11838 |
| 11828 | 11839 |
| 11829 } // NOLINT, false-positive due to second-order macros. | 11840 } // NOLINT, false-positive due to second-order macros. |
| 11830 } // NOLINT, false-positive due to second-order macros. | 11841 } // NOLINT, false-positive due to second-order macros. |
| 11831 | 11842 |
| 11832 #endif // V8_OBJECTS_H_ | 11843 #endif // V8_OBJECTS_H_ |
| OLD | NEW |