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 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); \ | 871 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); \ |
872 | 872 |
873 class AccessorPair; | 873 class AccessorPair; |
874 class AllocationSite; | 874 class AllocationSite; |
875 class AllocationSiteCreationContext; | 875 class AllocationSiteCreationContext; |
876 class AllocationSiteUsageContext; | 876 class AllocationSiteUsageContext; |
877 class DictionaryElementsAccessor; | 877 class DictionaryElementsAccessor; |
878 class ElementsAccessor; | 878 class ElementsAccessor; |
879 class Failure; | 879 class Failure; |
880 class FixedArrayBase; | 880 class FixedArrayBase; |
| 881 class GlobalObject; |
881 class ObjectVisitor; | 882 class ObjectVisitor; |
882 class StringStream; | 883 class StringStream; |
883 class Type; | 884 class Type; |
884 | 885 |
885 | 886 |
886 // A template-ized version of the IsXXX functions. | 887 // A template-ized version of the IsXXX functions. |
887 template <class C> inline bool Is(Object* obj); | 888 template <class C> inline bool Is(Object* obj); |
888 | 889 |
889 #ifdef VERIFY_HEAP | 890 #ifdef VERIFY_HEAP |
890 #define DECLARE_VERIFIER(Name) void Name##Verify(); | 891 #define DECLARE_VERIFIER(Name) void Name##Verify(); |
(...skipping 6514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7405 | 7406 |
7406 class JSGlobalProxy : public JSObject { | 7407 class JSGlobalProxy : public JSObject { |
7407 public: | 7408 public: |
7408 // [native_context]: the owner native context of this global proxy object. | 7409 // [native_context]: the owner native context of this global proxy object. |
7409 // It is null value if this object is not used by any context. | 7410 // It is null value if this object is not used by any context. |
7410 DECL_ACCESSORS(native_context, Object) | 7411 DECL_ACCESSORS(native_context, Object) |
7411 | 7412 |
7412 // Casting. | 7413 // Casting. |
7413 static inline JSGlobalProxy* cast(Object* obj); | 7414 static inline JSGlobalProxy* cast(Object* obj); |
7414 | 7415 |
| 7416 inline bool IsDetachedFrom(GlobalObject* global); |
| 7417 |
7415 // Dispatched behavior. | 7418 // Dispatched behavior. |
7416 DECLARE_PRINTER(JSGlobalProxy) | 7419 DECLARE_PRINTER(JSGlobalProxy) |
7417 DECLARE_VERIFIER(JSGlobalProxy) | 7420 DECLARE_VERIFIER(JSGlobalProxy) |
7418 | 7421 |
7419 // Layout description. | 7422 // Layout description. |
7420 static const int kNativeContextOffset = JSObject::kHeaderSize; | 7423 static const int kNativeContextOffset = JSObject::kHeaderSize; |
7421 static const int kSize = kNativeContextOffset + kPointerSize; | 7424 static const int kSize = kNativeContextOffset + kPointerSize; |
7422 | 7425 |
7423 private: | 7426 private: |
7424 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalProxy); | 7427 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalProxy); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7474 // JavaScript global object. | 7477 // JavaScript global object. |
7475 class JSGlobalObject: public GlobalObject { | 7478 class JSGlobalObject: public GlobalObject { |
7476 public: | 7479 public: |
7477 // Casting. | 7480 // Casting. |
7478 static inline JSGlobalObject* cast(Object* obj); | 7481 static inline JSGlobalObject* cast(Object* obj); |
7479 | 7482 |
7480 // Ensure that the global object has a cell for the given property name. | 7483 // Ensure that the global object has a cell for the given property name. |
7481 static Handle<PropertyCell> EnsurePropertyCell(Handle<JSGlobalObject> global, | 7484 static Handle<PropertyCell> EnsurePropertyCell(Handle<JSGlobalObject> global, |
7482 Handle<Name> name); | 7485 Handle<Name> name); |
7483 | 7486 |
| 7487 inline bool IsDetached(); |
| 7488 |
7484 // Dispatched behavior. | 7489 // Dispatched behavior. |
7485 DECLARE_PRINTER(JSGlobalObject) | 7490 DECLARE_PRINTER(JSGlobalObject) |
7486 DECLARE_VERIFIER(JSGlobalObject) | 7491 DECLARE_VERIFIER(JSGlobalObject) |
7487 | 7492 |
7488 // Layout description. | 7493 // Layout description. |
7489 static const int kSize = GlobalObject::kHeaderSize; | 7494 static const int kSize = GlobalObject::kHeaderSize; |
7490 | 7495 |
7491 private: | 7496 private: |
7492 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalObject); | 7497 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGlobalObject); |
7493 }; | 7498 }; |
(...skipping 3112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10606 } else { | 10611 } else { |
10607 value &= ~(1 << bit_position); | 10612 value &= ~(1 << bit_position); |
10608 } | 10613 } |
10609 return value; | 10614 return value; |
10610 } | 10615 } |
10611 }; | 10616 }; |
10612 | 10617 |
10613 } } // namespace v8::internal | 10618 } } // namespace v8::internal |
10614 | 10619 |
10615 #endif // V8_OBJECTS_H_ | 10620 #endif // V8_OBJECTS_H_ |
OLD | NEW |