| 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 2110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2121 | 2121 |
| 2122 enum KeyCollectionType { LOCAL_ONLY, INCLUDE_PROTOS }; | 2122 enum KeyCollectionType { LOCAL_ONLY, INCLUDE_PROTOS }; |
| 2123 | 2123 |
| 2124 // Computes the enumerable keys for a JSObject. Used for implementing | 2124 // Computes the enumerable keys for a JSObject. Used for implementing |
| 2125 // "for (n in object) { }". | 2125 // "for (n in object) { }". |
| 2126 MUST_USE_RESULT static MaybeHandle<FixedArray> GetKeys( | 2126 MUST_USE_RESULT static MaybeHandle<FixedArray> GetKeys( |
| 2127 Handle<JSReceiver> object, | 2127 Handle<JSReceiver> object, |
| 2128 KeyCollectionType type); | 2128 KeyCollectionType type); |
| 2129 | 2129 |
| 2130 protected: | 2130 protected: |
| 2131 Smi* GenerateIdentityHash(); | |
| 2132 | |
| 2133 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithDefinedSetter( | 2131 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithDefinedSetter( |
| 2134 Handle<JSReceiver> object, | 2132 Handle<JSReceiver> object, |
| 2135 Handle<JSReceiver> setter, | 2133 Handle<JSReceiver> setter, |
| 2136 Handle<Object> value); | 2134 Handle<Object> value); |
| 2137 | 2135 |
| 2138 private: | 2136 private: |
| 2139 static PropertyAttributes GetPropertyAttributeForResult( | 2137 static PropertyAttributes GetPropertyAttributeForResult( |
| 2140 Handle<JSReceiver> object, | 2138 Handle<JSReceiver> object, |
| 2141 Handle<JSReceiver> receiver, | 2139 Handle<JSReceiver> receiver, |
| 2142 LookupResult* result, | 2140 LookupResult* result, |
| (...skipping 5704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7847 // A JSGlobalProxy can be reinitialized which will preserve its identity. | 7845 // A JSGlobalProxy can be reinitialized which will preserve its identity. |
| 7848 // | 7846 // |
| 7849 // Accessing a JSGlobalProxy requires security check. | 7847 // Accessing a JSGlobalProxy requires security check. |
| 7850 | 7848 |
| 7851 class JSGlobalProxy : public JSObject { | 7849 class JSGlobalProxy : public JSObject { |
| 7852 public: | 7850 public: |
| 7853 // [native_context]: the owner native context of this global proxy object. | 7851 // [native_context]: the owner native context of this global proxy object. |
| 7854 // It is null value if this object is not used by any context. | 7852 // It is null value if this object is not used by any context. |
| 7855 DECL_ACCESSORS(native_context, Object) | 7853 DECL_ACCESSORS(native_context, Object) |
| 7856 | 7854 |
| 7855 // [hash]: The hash code property (undefined if not initialized yet). |
| 7856 DECL_ACCESSORS(hash, Object) |
| 7857 |
| 7857 // Casting. | 7858 // Casting. |
| 7858 static inline JSGlobalProxy* cast(Object* obj); | 7859 static inline JSGlobalProxy* cast(Object* obj); |
| 7859 | 7860 |
| 7860 inline bool IsDetachedFrom(GlobalObject* global); | 7861 inline bool IsDetachedFrom(GlobalObject* global); |
| 7861 | 7862 |
| 7862 // Dispatched behavior. | 7863 // Dispatched behavior. |
| 7863 DECLARE_PRINTER(JSGlobalProxy) | 7864 DECLARE_PRINTER(JSGlobalProxy) |
| 7864 DECLARE_VERIFIER(JSGlobalProxy) | 7865 DECLARE_VERIFIER(JSGlobalProxy) |
| 7865 | 7866 |
| 7866 // Layout description. | 7867 // Layout description. |
| 7867 static const int kNativeContextOffset = JSObject::kHeaderSize; | 7868 static const int kNativeContextOffset = JSObject::kHeaderSize; |
| 7868 static const int kSize = kNativeContextOffset + kPointerSize; | 7869 static const int kHashOffset = kNativeContextOffset + kPointerSize; |
| 7870 static const int kSize = kHashOffset + kPointerSize; |
| 7869 | 7871 |
| 7870 private: | 7872 private: |
| 7871 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalProxy); | 7873 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalProxy); |
| 7872 }; | 7874 }; |
| 7873 | 7875 |
| 7874 | 7876 |
| 7875 // Forward declaration. | 7877 // Forward declaration. |
| 7876 class JSBuiltinsObject; | 7878 class JSBuiltinsObject; |
| 7877 | 7879 |
| 7878 // Common super class for JavaScript global objects and the special | 7880 // Common super class for JavaScript global objects and the special |
| (...skipping 3400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11279 } else { | 11281 } else { |
| 11280 value &= ~(1 << bit_position); | 11282 value &= ~(1 << bit_position); |
| 11281 } | 11283 } |
| 11282 return value; | 11284 return value; |
| 11283 } | 11285 } |
| 11284 }; | 11286 }; |
| 11285 | 11287 |
| 11286 } } // namespace v8::internal | 11288 } } // namespace v8::internal |
| 11287 | 11289 |
| 11288 #endif // V8_OBJECTS_H_ | 11290 #endif // V8_OBJECTS_H_ |
| OLD | NEW |