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 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1663 MUST_USE_RESULT static Maybe<PropertyAttributes> GetPropertyAttributes( | 1663 MUST_USE_RESULT static Maybe<PropertyAttributes> GetPropertyAttributes( |
1664 LookupIterator* it); | 1664 LookupIterator* it); |
1665 MUST_USE_RESULT static Maybe<PropertyAttributes> GetOwnPropertyAttributes( | 1665 MUST_USE_RESULT static Maybe<PropertyAttributes> GetOwnPropertyAttributes( |
1666 Handle<JSReceiver> object, Handle<Name> name); | 1666 Handle<JSReceiver> object, Handle<Name> name); |
1667 | 1667 |
1668 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetElementAttribute( | 1668 MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetElementAttribute( |
1669 Handle<JSReceiver> object, uint32_t index); | 1669 Handle<JSReceiver> object, uint32_t index); |
1670 MUST_USE_RESULT static inline Maybe<PropertyAttributes> | 1670 MUST_USE_RESULT static inline Maybe<PropertyAttributes> |
1671 GetOwnElementAttribute(Handle<JSReceiver> object, uint32_t index); | 1671 GetOwnElementAttribute(Handle<JSReceiver> object, uint32_t index); |
1672 | 1672 |
1673 static Handle<Object> GetDataProperty(Handle<JSReceiver> object, | |
1674 Handle<Name> key); | |
1675 static Handle<Object> GetDataProperty(LookupIterator* it); | |
1676 | |
1677 | |
1678 // Retrieves a permanent object identity hash code. The undefined value might | 1673 // Retrieves a permanent object identity hash code. The undefined value might |
1679 // be returned in case no hash was created yet. | 1674 // be returned in case no hash was created yet. |
1680 inline Object* GetIdentityHash(); | 1675 inline Object* GetIdentityHash(); |
1681 | 1676 |
1682 // Retrieves a permanent object identity hash code. May create and store a | 1677 // Retrieves a permanent object identity hash code. May create and store a |
1683 // hash code if needed and none exists. | 1678 // hash code if needed and none exists. |
1684 inline static Handle<Smi> GetOrCreateIdentityHash( | 1679 inline static Handle<Smi> GetOrCreateIdentityHash( |
1685 Handle<JSReceiver> object); | 1680 Handle<JSReceiver> object); |
1686 | 1681 |
1687 enum KeyCollectionType { OWN_ONLY, INCLUDE_PROTOS }; | 1682 enum KeyCollectionType { OWN_ONLY, INCLUDE_PROTOS }; |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2164 | 2159 |
2165 static Handle<JSObject> Copy(Handle<JSObject> object); | 2160 static Handle<JSObject> Copy(Handle<JSObject> object); |
2166 MUST_USE_RESULT static MaybeHandle<JSObject> DeepCopy( | 2161 MUST_USE_RESULT static MaybeHandle<JSObject> DeepCopy( |
2167 Handle<JSObject> object, | 2162 Handle<JSObject> object, |
2168 AllocationSiteUsageContext* site_context, | 2163 AllocationSiteUsageContext* site_context, |
2169 DeepCopyHints hints = kNoHints); | 2164 DeepCopyHints hints = kNoHints); |
2170 MUST_USE_RESULT static MaybeHandle<JSObject> DeepWalk( | 2165 MUST_USE_RESULT static MaybeHandle<JSObject> DeepWalk( |
2171 Handle<JSObject> object, | 2166 Handle<JSObject> object, |
2172 AllocationSiteCreationContext* site_context); | 2167 AllocationSiteCreationContext* site_context); |
2173 | 2168 |
| 2169 static Handle<Object> GetDataProperty(Handle<JSObject> object, |
| 2170 Handle<Name> key); |
| 2171 static Handle<Object> GetDataProperty(LookupIterator* it); |
| 2172 |
2174 DECLARE_CAST(JSObject) | 2173 DECLARE_CAST(JSObject) |
2175 | 2174 |
2176 // Dispatched behavior. | 2175 // Dispatched behavior. |
2177 void JSObjectShortPrint(StringStream* accumulator); | 2176 void JSObjectShortPrint(StringStream* accumulator); |
2178 DECLARE_PRINTER(JSObject) | 2177 DECLARE_PRINTER(JSObject) |
2179 DECLARE_VERIFIER(JSObject) | 2178 DECLARE_VERIFIER(JSObject) |
2180 #ifdef OBJECT_PRINT | 2179 #ifdef OBJECT_PRINT |
2181 void PrintProperties(std::ostream& os); // NOLINT | 2180 void PrintProperties(std::ostream& os); // NOLINT |
2182 void PrintElements(std::ostream& os); // NOLINT | 2181 void PrintElements(std::ostream& os); // NOLINT |
2183 #endif | 2182 #endif |
(...skipping 8918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11102 } else { | 11101 } else { |
11103 value &= ~(1 << bit_position); | 11102 value &= ~(1 << bit_position); |
11104 } | 11103 } |
11105 return value; | 11104 return value; |
11106 } | 11105 } |
11107 }; | 11106 }; |
11108 | 11107 |
11109 } } // namespace v8::internal | 11108 } } // namespace v8::internal |
11110 | 11109 |
11111 #endif // V8_OBJECTS_H_ | 11110 #endif // V8_OBJECTS_H_ |
OLD | NEW |