OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 1896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1907 // Tests for the fast common case for property enumeration. | 1907 // Tests for the fast common case for property enumeration. |
1908 bool IsSimpleEnum(); | 1908 bool IsSimpleEnum(); |
1909 | 1909 |
1910 // Returns the class name ([[Class]] property in the specification). | 1910 // Returns the class name ([[Class]] property in the specification). |
1911 String* class_name(); | 1911 String* class_name(); |
1912 | 1912 |
1913 // Returns the constructor name (the name (possibly, inferred name) of the | 1913 // Returns the constructor name (the name (possibly, inferred name) of the |
1914 // function that was used to instantiate the object). | 1914 // function that was used to instantiate the object). |
1915 String* constructor_name(); | 1915 String* constructor_name(); |
1916 | 1916 |
| 1917 Context* GetCreationContext(); |
| 1918 |
1917 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetPropertyAttributes( | 1919 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetPropertyAttributes( |
1918 Handle<JSReceiver> object, Handle<Name> name); | 1920 Handle<JSReceiver> object, Handle<Name> name); |
1919 MUST_USE_RESULT static inline Maybe<PropertyAttributes> | 1921 MUST_USE_RESULT static inline Maybe<PropertyAttributes> |
1920 GetOwnPropertyAttributes(Handle<JSReceiver> object, Handle<Name> name); | 1922 GetOwnPropertyAttributes(Handle<JSReceiver> object, Handle<Name> name); |
1921 | 1923 |
1922 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetElementAttributes( | 1924 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetElementAttributes( |
1923 Handle<JSReceiver> object, uint32_t index); | 1925 Handle<JSReceiver> object, uint32_t index); |
1924 MUST_USE_RESULT static inline Maybe<PropertyAttributes> | 1926 MUST_USE_RESULT static inline Maybe<PropertyAttributes> |
1925 GetOwnElementAttributes(Handle<JSReceiver> object, uint32_t index); | 1927 GetOwnElementAttributes(Handle<JSReceiver> object, uint32_t index); |
1926 | 1928 |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2485 static const int kElementsOffset = kPropertiesOffset + kPointerSize; | 2487 static const int kElementsOffset = kPropertiesOffset + kPointerSize; |
2486 static const int kHeaderSize = kElementsOffset + kPointerSize; | 2488 static const int kHeaderSize = kElementsOffset + kPointerSize; |
2487 | 2489 |
2488 STATIC_ASSERT(kHeaderSize == Internals::kJSObjectHeaderSize); | 2490 STATIC_ASSERT(kHeaderSize == Internals::kJSObjectHeaderSize); |
2489 | 2491 |
2490 class BodyDescriptor : public FlexibleBodyDescriptor<kPropertiesOffset> { | 2492 class BodyDescriptor : public FlexibleBodyDescriptor<kPropertiesOffset> { |
2491 public: | 2493 public: |
2492 static inline int SizeOf(Map* map, HeapObject* object); | 2494 static inline int SizeOf(Map* map, HeapObject* object); |
2493 }; | 2495 }; |
2494 | 2496 |
2495 Context* GetCreationContext(); | |
2496 | |
2497 // Enqueue change record for Object.observe. May cause GC. | 2497 // Enqueue change record for Object.observe. May cause GC. |
2498 MUST_USE_RESULT static MaybeHandle<Object> EnqueueChangeRecord( | 2498 MUST_USE_RESULT static MaybeHandle<Object> EnqueueChangeRecord( |
2499 Handle<JSObject> object, const char* type, Handle<Name> name, | 2499 Handle<JSObject> object, const char* type, Handle<Name> name, |
2500 Handle<Object> old_value); | 2500 Handle<Object> old_value); |
2501 | 2501 |
2502 // Gets the number of currently used elements. | 2502 // Gets the number of currently used elements. |
2503 int GetFastElementsUsage(); | 2503 int GetFastElementsUsage(); |
2504 | 2504 |
2505 // Deletes an existing named property in a normalized object. | 2505 // Deletes an existing named property in a normalized object. |
2506 static void DeleteNormalizedProperty(Handle<JSObject> object, | 2506 static void DeleteNormalizedProperty(Handle<JSObject> object, |
(...skipping 8331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10838 // (elements + properties) in the current level. | 10838 // (elements + properties) in the current level. |
10839 int levelLength_ = 0; | 10839 int levelLength_ = 0; |
10840 | 10840 |
10841 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); | 10841 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); |
10842 }; | 10842 }; |
10843 | 10843 |
10844 } // NOLINT, false-positive due to second-order macros. | 10844 } // NOLINT, false-positive due to second-order macros. |
10845 } // NOLINT, false-positive due to second-order macros. | 10845 } // NOLINT, false-positive due to second-order macros. |
10846 | 10846 |
10847 #endif // V8_OBJECTS_H_ | 10847 #endif // V8_OBJECTS_H_ |
OLD | NEW |