| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2357 Handle<Name> name, | 2357 Handle<Name> name, |
| 2358 bool continue_search); | 2358 bool continue_search); |
| 2359 static PropertyAttributes GetElementAttributeWithReceiver( | 2359 static PropertyAttributes GetElementAttributeWithReceiver( |
| 2360 Handle<JSObject> object, | 2360 Handle<JSObject> object, |
| 2361 Handle<JSReceiver> receiver, | 2361 Handle<JSReceiver> receiver, |
| 2362 uint32_t index, | 2362 uint32_t index, |
| 2363 bool continue_search); | 2363 bool continue_search); |
| 2364 | 2364 |
| 2365 // Retrieves an AccessorPair property from the given object. Might return | 2365 // Retrieves an AccessorPair property from the given object. Might return |
| 2366 // undefined if the property doesn't exist or is of a different kind. | 2366 // undefined if the property doesn't exist or is of a different kind. |
| 2367 static Handle<Object> GetAccessor(Handle<JSObject> object, | 2367 MUST_USE_RESULT static MaybeHandle<Object> GetAccessor( |
| 2368 Handle<Name> name, | 2368 Handle<JSObject> object, |
| 2369 AccessorComponent component); | 2369 Handle<Name> name, |
| 2370 AccessorComponent component); |
| 2370 | 2371 |
| 2371 // Defines an AccessorPair property on the given object. | 2372 // Defines an AccessorPair property on the given object. |
| 2372 // TODO(mstarzinger): Rename to SetAccessor() and return empty handle on | 2373 // TODO(mstarzinger): Rename to SetAccessor() and return empty handle on |
| 2373 // exception instead of letting callers check for scheduled exception. | 2374 // exception instead of letting callers check for scheduled exception. |
| 2374 static void DefineAccessor(Handle<JSObject> object, | 2375 static void DefineAccessor(Handle<JSObject> object, |
| 2375 Handle<Name> name, | 2376 Handle<Name> name, |
| 2376 Handle<Object> getter, | 2377 Handle<Object> getter, |
| 2377 Handle<Object> setter, | 2378 Handle<Object> setter, |
| 2378 PropertyAttributes attributes, | 2379 PropertyAttributes attributes, |
| 2379 v8::AccessControl access_control = v8::DEFAULT); | 2380 v8::AccessControl access_control = v8::DEFAULT); |
| 2380 | 2381 |
| 2381 // Defines an AccessorInfo property on the given object. | 2382 // Defines an AccessorInfo property on the given object. |
| 2382 static Handle<Object> SetAccessor(Handle<JSObject> object, | 2383 MUST_USE_RESULT static MaybeHandle<Object> SetAccessor( |
| 2383 Handle<AccessorInfo> info); | 2384 Handle<JSObject> object, |
| 2385 Handle<AccessorInfo> info); |
| 2384 | 2386 |
| 2385 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithInterceptor( | 2387 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithInterceptor( |
| 2386 Handle<JSObject> object, | 2388 Handle<JSObject> object, |
| 2387 Handle<Object> receiver, | 2389 Handle<Object> receiver, |
| 2388 Handle<Name> name, | 2390 Handle<Name> name, |
| 2389 PropertyAttributes* attributes); | 2391 PropertyAttributes* attributes); |
| 2390 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyPostInterceptor( | 2392 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyPostInterceptor( |
| 2391 Handle<JSObject> object, | 2393 Handle<JSObject> object, |
| 2392 Handle<Object> receiver, | 2394 Handle<Object> receiver, |
| 2393 Handle<Name> name, | 2395 Handle<Name> name, |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2651 // Note: this call does not update write barrier, the caller is responsible | 2653 // Note: this call does not update write barrier, the caller is responsible |
| 2652 // to ensure that |filler_value| can be collected without WB here. | 2654 // to ensure that |filler_value| can be collected without WB here. |
| 2653 inline void InitializeBody(Map* map, | 2655 inline void InitializeBody(Map* map, |
| 2654 Object* pre_allocated_value, | 2656 Object* pre_allocated_value, |
| 2655 Object* filler_value); | 2657 Object* filler_value); |
| 2656 | 2658 |
| 2657 // Check whether this object references another object | 2659 // Check whether this object references another object |
| 2658 bool ReferencesObject(Object* obj); | 2660 bool ReferencesObject(Object* obj); |
| 2659 | 2661 |
| 2660 // Disalow further properties to be added to the object. | 2662 // Disalow further properties to be added to the object. |
| 2661 static Handle<Object> PreventExtensions(Handle<JSObject> object); | 2663 MUST_USE_RESULT static MaybeHandle<Object> PreventExtensions( |
| 2664 Handle<JSObject> object); |
| 2662 | 2665 |
| 2663 // ES5 Object.freeze | 2666 // ES5 Object.freeze |
| 2664 MUST_USE_RESULT static MaybeHandle<Object> Freeze(Handle<JSObject> object); | 2667 MUST_USE_RESULT static MaybeHandle<Object> Freeze(Handle<JSObject> object); |
| 2665 | 2668 |
| 2666 // Called the first time an object is observed with ES7 Object.observe. | 2669 // Called the first time an object is observed with ES7 Object.observe. |
| 2667 static void SetObserved(Handle<JSObject> object); | 2670 static void SetObserved(Handle<JSObject> object); |
| 2668 | 2671 |
| 2669 // Copy object. | 2672 // Copy object. |
| 2670 enum DeepCopyHints { | 2673 enum DeepCopyHints { |
| 2671 kNoHints = 0, | 2674 kNoHints = 0, |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2931 Handle<Object> value, | 2934 Handle<Object> value, |
| 2932 PropertyAttributes attributes); | 2935 PropertyAttributes attributes); |
| 2933 | 2936 |
| 2934 MUST_USE_RESULT static MaybeHandle<Object> DeleteProperty( | 2937 MUST_USE_RESULT static MaybeHandle<Object> DeleteProperty( |
| 2935 Handle<JSObject> object, | 2938 Handle<JSObject> object, |
| 2936 Handle<Name> name, | 2939 Handle<Name> name, |
| 2937 DeleteMode mode); | 2940 DeleteMode mode); |
| 2938 static Handle<Object> DeletePropertyPostInterceptor(Handle<JSObject> object, | 2941 static Handle<Object> DeletePropertyPostInterceptor(Handle<JSObject> object, |
| 2939 Handle<Name> name, | 2942 Handle<Name> name, |
| 2940 DeleteMode mode); | 2943 DeleteMode mode); |
| 2941 static Handle<Object> DeletePropertyWithInterceptor(Handle<JSObject> object, | 2944 MUST_USE_RESULT static MaybeHandle<Object> DeletePropertyWithInterceptor( |
| 2942 Handle<Name> name); | 2945 Handle<JSObject> object, |
| 2946 Handle<Name> name); |
| 2943 | 2947 |
| 2944 // Deletes the named property in a normalized object. | 2948 // Deletes the named property in a normalized object. |
| 2945 static Handle<Object> DeleteNormalizedProperty(Handle<JSObject> object, | 2949 static Handle<Object> DeleteNormalizedProperty(Handle<JSObject> object, |
| 2946 Handle<Name> name, | 2950 Handle<Name> name, |
| 2947 DeleteMode mode); | 2951 DeleteMode mode); |
| 2948 | 2952 |
| 2949 MUST_USE_RESULT static MaybeHandle<Object> DeleteElement( | 2953 MUST_USE_RESULT static MaybeHandle<Object> DeleteElement( |
| 2950 Handle<JSObject> object, | 2954 Handle<JSObject> object, |
| 2951 uint32_t index, | 2955 uint32_t index, |
| 2952 DeleteMode mode); | 2956 DeleteMode mode); |
| (...skipping 8147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11100 } else { | 11104 } else { |
| 11101 value &= ~(1 << bit_position); | 11105 value &= ~(1 << bit_position); |
| 11102 } | 11106 } |
| 11103 return value; | 11107 return value; |
| 11104 } | 11108 } |
| 11105 }; | 11109 }; |
| 11106 | 11110 |
| 11107 } } // namespace v8::internal | 11111 } } // namespace v8::internal |
| 11108 | 11112 |
| 11109 #endif // V8_OBJECTS_H_ | 11113 #endif // V8_OBJECTS_H_ |
| OLD | NEW |