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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 // - CodeCacheHashTable | 80 // - CodeCacheHashTable |
81 // - MapCache | 81 // - MapCache |
82 // - OrderedHashTable | 82 // - OrderedHashTable |
83 // - OrderedHashSet | 83 // - OrderedHashSet |
84 // - OrderedHashMap | 84 // - OrderedHashMap |
85 // - Context | 85 // - Context |
86 // - TypeFeedbackVector | 86 // - TypeFeedbackVector |
87 // - JSFunctionResultCache | 87 // - JSFunctionResultCache |
88 // - ScopeInfo | 88 // - ScopeInfo |
89 // - TransitionArray | 89 // - TransitionArray |
90 // - GlobalContextTable | 90 // - ScriptContextTable |
91 // - FixedDoubleArray | 91 // - FixedDoubleArray |
92 // - ExternalArray | 92 // - ExternalArray |
93 // - ExternalUint8ClampedArray | 93 // - ExternalUint8ClampedArray |
94 // - ExternalInt8Array | 94 // - ExternalInt8Array |
95 // - ExternalUint8Array | 95 // - ExternalUint8Array |
96 // - ExternalInt16Array | 96 // - ExternalInt16Array |
97 // - ExternalUint16Array | 97 // - ExternalUint16Array |
98 // - ExternalInt32Array | 98 // - ExternalInt32Array |
99 // - ExternalUint32Array | 99 // - ExternalUint32Array |
100 // - ExternalFloat32Array | 100 // - ExternalFloat32Array |
(...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
940 V(DescriptorArray) \ | 940 V(DescriptorArray) \ |
941 V(TransitionArray) \ | 941 V(TransitionArray) \ |
942 V(TypeFeedbackVector) \ | 942 V(TypeFeedbackVector) \ |
943 V(DeoptimizationInputData) \ | 943 V(DeoptimizationInputData) \ |
944 V(DeoptimizationOutputData) \ | 944 V(DeoptimizationOutputData) \ |
945 V(DependentCode) \ | 945 V(DependentCode) \ |
946 V(FixedArray) \ | 946 V(FixedArray) \ |
947 V(FixedDoubleArray) \ | 947 V(FixedDoubleArray) \ |
948 V(ConstantPoolArray) \ | 948 V(ConstantPoolArray) \ |
949 V(Context) \ | 949 V(Context) \ |
950 V(GlobalContextTable) \ | 950 V(ScriptContextTable) \ |
951 V(NativeContext) \ | 951 V(NativeContext) \ |
952 V(ScopeInfo) \ | 952 V(ScopeInfo) \ |
953 V(JSFunction) \ | 953 V(JSFunction) \ |
954 V(Code) \ | 954 V(Code) \ |
955 V(Oddball) \ | 955 V(Oddball) \ |
956 V(SharedFunctionInfo) \ | 956 V(SharedFunctionInfo) \ |
957 V(JSValue) \ | 957 V(JSValue) \ |
958 V(JSDate) \ | 958 V(JSDate) \ |
959 V(JSMessageObject) \ | 959 V(JSMessageObject) \ |
960 V(StringWrapper) \ | 960 V(StringWrapper) \ |
(...skipping 6589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7550 // Common super class for JavaScript global objects and the special | 7550 // Common super class for JavaScript global objects and the special |
7551 // builtins global objects. | 7551 // builtins global objects. |
7552 class GlobalObject: public JSObject { | 7552 class GlobalObject: public JSObject { |
7553 public: | 7553 public: |
7554 // [builtins]: the object holding the runtime routines written in JS. | 7554 // [builtins]: the object holding the runtime routines written in JS. |
7555 DECL_ACCESSORS(builtins, JSBuiltinsObject) | 7555 DECL_ACCESSORS(builtins, JSBuiltinsObject) |
7556 | 7556 |
7557 // [native context]: the natives corresponding to this global object. | 7557 // [native context]: the natives corresponding to this global object. |
7558 DECL_ACCESSORS(native_context, Context) | 7558 DECL_ACCESSORS(native_context, Context) |
7559 | 7559 |
7560 // [global context]: the most recent (i.e. innermost) global context. | |
7561 DECL_ACCESSORS(global_context, Context) | |
7562 | |
7563 // [global proxy]: the global proxy object of the context | 7560 // [global proxy]: the global proxy object of the context |
7564 DECL_ACCESSORS(global_proxy, JSObject) | 7561 DECL_ACCESSORS(global_proxy, JSObject) |
7565 | 7562 |
7566 DECLARE_CAST(GlobalObject) | 7563 DECLARE_CAST(GlobalObject) |
7567 | 7564 |
7568 static void InvalidatePropertyCell(Handle<GlobalObject> object, | 7565 static void InvalidatePropertyCell(Handle<GlobalObject> object, |
7569 Handle<Name> name); | 7566 Handle<Name> name); |
7570 | 7567 |
7571 // Layout description. | 7568 // Layout description. |
7572 static const int kBuiltinsOffset = JSObject::kHeaderSize; | 7569 static const int kBuiltinsOffset = JSObject::kHeaderSize; |
7573 static const int kNativeContextOffset = kBuiltinsOffset + kPointerSize; | 7570 static const int kNativeContextOffset = kBuiltinsOffset + kPointerSize; |
7574 static const int kGlobalContextOffset = kNativeContextOffset + kPointerSize; | 7571 static const int kGlobalProxyOffset = kNativeContextOffset + kPointerSize; |
7575 static const int kGlobalProxyOffset = kGlobalContextOffset + kPointerSize; | |
7576 static const int kHeaderSize = kGlobalProxyOffset + kPointerSize; | 7572 static const int kHeaderSize = kGlobalProxyOffset + kPointerSize; |
7577 | 7573 |
7578 private: | 7574 private: |
7579 DISALLOW_IMPLICIT_CONSTRUCTORS(GlobalObject); | 7575 DISALLOW_IMPLICIT_CONSTRUCTORS(GlobalObject); |
7580 }; | 7576 }; |
7581 | 7577 |
7582 | 7578 |
7583 // JavaScript global object. | 7579 // JavaScript global object. |
7584 class JSGlobalObject: public GlobalObject { | 7580 class JSGlobalObject: public GlobalObject { |
7585 public: | 7581 public: |
(...skipping 3385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10971 } else { | 10967 } else { |
10972 value &= ~(1 << bit_position); | 10968 value &= ~(1 << bit_position); |
10973 } | 10969 } |
10974 return value; | 10970 return value; |
10975 } | 10971 } |
10976 }; | 10972 }; |
10977 | 10973 |
10978 } } // namespace v8::internal | 10974 } } // namespace v8::internal |
10979 | 10975 |
10980 #endif // V8_OBJECTS_H_ | 10976 #endif // V8_OBJECTS_H_ |
OLD | NEW |