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