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 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1119 Handle<Object> object, Handle<Name> key, Handle<Object> value, | 1119 Handle<Object> object, Handle<Name> key, Handle<Object> value, |
1120 StrictMode strict_mode, | 1120 StrictMode strict_mode, |
1121 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); | 1121 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); |
1122 | 1122 |
1123 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( | 1123 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( |
1124 LookupIterator* it, Handle<Object> value, StrictMode strict_mode, | 1124 LookupIterator* it, Handle<Object> value, StrictMode strict_mode, |
1125 StoreFromKeyed store_mode, | 1125 StoreFromKeyed store_mode, |
1126 StorePropertyMode data_store_mode = NORMAL_PROPERTY); | 1126 StorePropertyMode data_store_mode = NORMAL_PROPERTY); |
1127 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( | 1127 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( |
1128 LookupIterator* it, Handle<Object> value, StrictMode strict_mode); | 1128 LookupIterator* it, Handle<Object> value, StrictMode strict_mode); |
1129 static Handle<Object> SetDataProperty(LookupIterator* it, | 1129 MUST_USE_RESULT static MaybeHandle<Object> SetDataProperty( |
1130 Handle<Object> value); | 1130 LookupIterator* it, Handle<Object> value); |
1131 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( | 1131 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( |
1132 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, | 1132 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, |
1133 StrictMode strict_mode, StoreFromKeyed store_mode); | 1133 StrictMode strict_mode, StoreFromKeyed store_mode); |
1134 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement( | 1134 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement( |
1135 Handle<Object> object, | 1135 Handle<Object> object, |
1136 Handle<Name> key); | 1136 Handle<Name> key); |
1137 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( | 1137 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( |
1138 Isolate* isolate, | 1138 Isolate* isolate, |
1139 Handle<Object> object, | 1139 Handle<Object> object, |
1140 const char* key); | 1140 const char* key); |
(...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2204 STATIC_ASSERT(kHeaderSize == Internals::kJSObjectHeaderSize); | 2204 STATIC_ASSERT(kHeaderSize == Internals::kJSObjectHeaderSize); |
2205 | 2205 |
2206 class BodyDescriptor : public FlexibleBodyDescriptor<kPropertiesOffset> { | 2206 class BodyDescriptor : public FlexibleBodyDescriptor<kPropertiesOffset> { |
2207 public: | 2207 public: |
2208 static inline int SizeOf(Map* map, HeapObject* object); | 2208 static inline int SizeOf(Map* map, HeapObject* object); |
2209 }; | 2209 }; |
2210 | 2210 |
2211 Context* GetCreationContext(); | 2211 Context* GetCreationContext(); |
2212 | 2212 |
2213 // Enqueue change record for Object.observe. May cause GC. | 2213 // Enqueue change record for Object.observe. May cause GC. |
2214 static void EnqueueChangeRecord(Handle<JSObject> object, | 2214 MUST_USE_RESULT static MaybeHandle<Object> EnqueueChangeRecord( |
2215 const char* type, | 2215 Handle<JSObject> object, const char* type, Handle<Name> name, |
2216 Handle<Name> name, | 2216 Handle<Object> old_value); |
2217 Handle<Object> old_value); | |
2218 | 2217 |
2219 private: | 2218 private: |
2220 friend class DictionaryElementsAccessor; | 2219 friend class DictionaryElementsAccessor; |
2221 friend class JSReceiver; | 2220 friend class JSReceiver; |
2222 friend class Object; | 2221 friend class Object; |
2223 | 2222 |
2224 static void MigrateFastToFast(Handle<JSObject> object, Handle<Map> new_map); | 2223 static void MigrateFastToFast(Handle<JSObject> object, Handle<Map> new_map); |
2225 static void MigrateFastToSlow(Handle<JSObject> object, | 2224 static void MigrateFastToSlow(Handle<JSObject> object, |
2226 Handle<Map> new_map, | 2225 Handle<Map> new_map, |
2227 int expected_additional_properties); | 2226 int expected_additional_properties); |
(...skipping 8637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10865 } else { | 10864 } else { |
10866 value &= ~(1 << bit_position); | 10865 value &= ~(1 << bit_position); |
10867 } | 10866 } |
10868 return value; | 10867 return value; |
10869 } | 10868 } |
10870 }; | 10869 }; |
10871 | 10870 |
10872 } } // namespace v8::internal | 10871 } } // namespace v8::internal |
10873 | 10872 |
10874 #endif // V8_OBJECTS_H_ | 10873 #endif // V8_OBJECTS_H_ |
OLD | NEW |