| 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 1137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1148 static inline MaybeHandle<JSReceiver> ToObject(Isolate* isolate, | 1148 static inline MaybeHandle<JSReceiver> ToObject(Isolate* isolate, |
| 1149 Handle<Object> object); | 1149 Handle<Object> object); |
| 1150 static MaybeHandle<JSReceiver> ToObject(Isolate* isolate, | 1150 static MaybeHandle<JSReceiver> ToObject(Isolate* isolate, |
| 1151 Handle<Object> object, | 1151 Handle<Object> object, |
| 1152 Handle<Context> context); | 1152 Handle<Context> context); |
| 1153 | 1153 |
| 1154 // Converts this to a Smi if possible. | 1154 // Converts this to a Smi if possible. |
| 1155 MUST_USE_RESULT static inline MaybeHandle<Smi> ToSmi(Isolate* isolate, | 1155 MUST_USE_RESULT static inline MaybeHandle<Smi> ToSmi(Isolate* isolate, |
| 1156 Handle<Object> object); | 1156 Handle<Object> object); |
| 1157 | 1157 |
| 1158 MUST_USE_RESULT static MaybeHandle<Object> GetProperty(LookupIterator* it); | 1158 MUST_USE_RESULT static MaybeHandle<Object> GetProperty( |
| 1159 LookupIterator* it, Strength strength = Strength::WEAK); |
| 1159 | 1160 |
| 1160 // Implementation of [[Put]], ECMA-262 5th edition, section 8.12.5. | 1161 // Implementation of [[Put]], ECMA-262 5th edition, section 8.12.5. |
| 1161 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( | 1162 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( |
| 1162 Handle<Object> object, Handle<Name> name, Handle<Object> value, | 1163 Handle<Object> object, Handle<Name> name, Handle<Object> value, |
| 1163 LanguageMode language_mode, | 1164 LanguageMode language_mode, |
| 1164 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); | 1165 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); |
| 1165 | 1166 |
| 1166 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( | 1167 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( |
| 1167 LookupIterator* it, Handle<Object> value, LanguageMode language_mode, | 1168 LookupIterator* it, Handle<Object> value, LanguageMode language_mode, |
| 1168 StoreFromKeyed store_mode); | 1169 StoreFromKeyed store_mode); |
| 1169 | 1170 |
| 1170 MUST_USE_RESULT static MaybeHandle<Object> SetSuperProperty( | 1171 MUST_USE_RESULT static MaybeHandle<Object> SetSuperProperty( |
| 1171 LookupIterator* it, Handle<Object> value, LanguageMode language_mode, | 1172 LookupIterator* it, Handle<Object> value, LanguageMode language_mode, |
| 1172 StoreFromKeyed store_mode); | 1173 StoreFromKeyed store_mode); |
| 1173 | 1174 |
| 1175 MUST_USE_RESULT static MaybeHandle<Object> ReadAbsentProperty( |
| 1176 LookupIterator* it, Strength strength); |
| 1177 MUST_USE_RESULT static MaybeHandle<Object> ReadAbsentProperty( |
| 1178 Isolate* isolate, Handle<Object> receiver, Handle<Object> name, |
| 1179 Strength strength); |
| 1174 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( | 1180 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( |
| 1175 LookupIterator* it, Handle<Object> value, LanguageMode language_mode); | 1181 LookupIterator* it, Handle<Object> value, LanguageMode language_mode); |
| 1176 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( | 1182 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( |
| 1177 Isolate* isolate, Handle<Object> reciever, Handle<Object> name, | 1183 Isolate* isolate, Handle<Object> receiver, Handle<Object> name, |
| 1178 Handle<Object> value, LanguageMode language_mode); | 1184 Handle<Object> value, LanguageMode language_mode); |
| 1179 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement( | 1185 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement( |
| 1180 Isolate* isolate, Handle<Object> receiver, uint32_t index, | 1186 Isolate* isolate, Handle<Object> receiver, uint32_t index, |
| 1181 Handle<Object> value, LanguageMode language_mode); | 1187 Handle<Object> value, LanguageMode language_mode); |
| 1182 MUST_USE_RESULT static MaybeHandle<Object> RedefineNonconfigurableProperty( | 1188 MUST_USE_RESULT static MaybeHandle<Object> RedefineNonconfigurableProperty( |
| 1183 Isolate* isolate, Handle<Object> name, Handle<Object> value, | 1189 Isolate* isolate, Handle<Object> name, Handle<Object> value, |
| 1184 LanguageMode language_mode); | 1190 LanguageMode language_mode); |
| 1185 MUST_USE_RESULT static MaybeHandle<Object> SetDataProperty( | 1191 MUST_USE_RESULT static MaybeHandle<Object> SetDataProperty( |
| 1186 LookupIterator* it, Handle<Object> value); | 1192 LookupIterator* it, Handle<Object> value); |
| 1187 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( | 1193 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( |
| 1188 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, | 1194 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, |
| 1189 LanguageMode language_mode, StoreFromKeyed store_mode); | 1195 LanguageMode language_mode, StoreFromKeyed store_mode); |
| 1190 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement( | 1196 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement( |
| 1191 Handle<Object> object, Handle<Name> name); | 1197 Handle<Object> object, Handle<Name> name, |
| 1198 Strength strength = Strength::WEAK); |
| 1192 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( | 1199 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( |
| 1193 Isolate* isolate, | 1200 Isolate* isolate, Handle<Object> object, const char* key, |
| 1194 Handle<Object> object, | 1201 Strength strength = Strength::WEAK); |
| 1195 const char* key); | |
| 1196 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( | 1202 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( |
| 1197 Handle<Object> object, Handle<Name> name); | 1203 Handle<Object> object, Handle<Name> name, |
| 1204 Strength strength = Strength::WEAK); |
| 1198 | 1205 |
| 1199 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithAccessor( | 1206 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithAccessor( |
| 1200 LookupIterator* it); | 1207 LookupIterator* it, Strength strength); |
| 1201 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithAccessor( | 1208 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithAccessor( |
| 1202 Handle<Object> receiver, Handle<Name> name, Handle<Object> value, | 1209 Handle<Object> receiver, Handle<Name> name, Handle<Object> value, |
| 1203 Handle<JSObject> holder, Handle<Object> structure, | 1210 Handle<JSObject> holder, Handle<Object> structure, |
| 1204 LanguageMode language_mode); | 1211 LanguageMode language_mode); |
| 1205 | 1212 |
| 1206 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithDefinedGetter( | 1213 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithDefinedGetter( |
| 1207 Handle<Object> receiver, | 1214 Handle<Object> receiver, |
| 1208 Handle<JSReceiver> getter); | 1215 Handle<JSReceiver> getter); |
| 1209 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithDefinedSetter( | 1216 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithDefinedSetter( |
| 1210 Handle<Object> receiver, | 1217 Handle<Object> receiver, |
| 1211 Handle<JSReceiver> setter, | 1218 Handle<JSReceiver> setter, |
| 1212 Handle<Object> value); | 1219 Handle<Object> value); |
| 1213 | 1220 |
| 1214 MUST_USE_RESULT static inline MaybeHandle<Object> GetElement( | 1221 MUST_USE_RESULT static inline MaybeHandle<Object> GetElement( |
| 1215 Isolate* isolate, | 1222 Isolate* isolate, Handle<Object> object, uint32_t index, |
| 1216 Handle<Object> object, | 1223 Strength strength = Strength::WEAK); |
| 1217 uint32_t index); | |
| 1218 | 1224 |
| 1219 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver( | 1225 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver( |
| 1220 Isolate* isolate, Handle<Object> object, Handle<Object> receiver, | 1226 Isolate* isolate, Handle<Object> object, Handle<Object> receiver, |
| 1221 uint32_t index, Handle<Object> value, LanguageMode language_mode); | 1227 uint32_t index, Handle<Object> value, LanguageMode language_mode); |
| 1222 | 1228 |
| 1223 static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( | 1229 static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( |
| 1224 Isolate* isolate, Handle<Object> receiver); | 1230 Isolate* isolate, Handle<Object> receiver); |
| 1225 | 1231 |
| 1226 // Returns the permanent hash code associated with this object. May return | 1232 // Returns the permanent hash code associated with this object. May return |
| 1227 // undefined if not yet created. | 1233 // undefined if not yet created. |
| (...skipping 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2317 static void MigrateFastToFast(Handle<JSObject> object, Handle<Map> new_map); | 2323 static void MigrateFastToFast(Handle<JSObject> object, Handle<Map> new_map); |
| 2318 static void MigrateFastToSlow(Handle<JSObject> object, | 2324 static void MigrateFastToSlow(Handle<JSObject> object, |
| 2319 Handle<Map> new_map, | 2325 Handle<Map> new_map, |
| 2320 int expected_additional_properties); | 2326 int expected_additional_properties); |
| 2321 | 2327 |
| 2322 static void UpdateAllocationSite(Handle<JSObject> object, | 2328 static void UpdateAllocationSite(Handle<JSObject> object, |
| 2323 ElementsKind to_kind); | 2329 ElementsKind to_kind); |
| 2324 | 2330 |
| 2325 // Used from Object::GetProperty(). | 2331 // Used from Object::GetProperty(). |
| 2326 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck( | 2332 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck( |
| 2327 LookupIterator* it); | 2333 LookupIterator* it, Strength strength); |
| 2328 | 2334 |
| 2329 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback( | 2335 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback( |
| 2330 Handle<Object> object, Handle<Object> structure, uint32_t index, | 2336 Handle<Object> object, Handle<Object> structure, uint32_t index, |
| 2331 Handle<Object> value, Handle<JSObject> holder, | 2337 Handle<Object> value, Handle<JSObject> holder, |
| 2332 LanguageMode language_mode); | 2338 LanguageMode language_mode); |
| 2333 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( | 2339 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( |
| 2334 Handle<JSObject> object, uint32_t index, Handle<Object> value, | 2340 Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| 2335 PropertyAttributes attributes, LanguageMode language_mode, | 2341 PropertyAttributes attributes, LanguageMode language_mode, |
| 2336 bool check_prototype, SetPropertyMode set_mode); | 2342 bool check_prototype, SetPropertyMode set_mode); |
| 2337 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithoutInterceptor( | 2343 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithoutInterceptor( |
| (...skipping 8546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10884 } else { | 10890 } else { |
| 10885 value &= ~(1 << bit_position); | 10891 value &= ~(1 << bit_position); |
| 10886 } | 10892 } |
| 10887 return value; | 10893 return value; |
| 10888 } | 10894 } |
| 10889 }; | 10895 }; |
| 10890 | 10896 |
| 10891 } } // namespace v8::internal | 10897 } } // namespace v8::internal |
| 10892 | 10898 |
| 10893 #endif // V8_OBJECTS_H_ | 10899 #endif // V8_OBJECTS_H_ |
| OLD | NEW |