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 "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 // - HashTable | 72 // - HashTable |
73 // - Dictionary | 73 // - Dictionary |
74 // - StringTable | 74 // - StringTable |
75 // - CompilationCacheTable | 75 // - CompilationCacheTable |
76 // - CodeCacheHashTable | 76 // - CodeCacheHashTable |
77 // - MapCache | 77 // - MapCache |
78 // - OrderedHashTable | 78 // - OrderedHashTable |
79 // - OrderedHashSet | 79 // - OrderedHashSet |
80 // - OrderedHashMap | 80 // - OrderedHashMap |
81 // - Context | 81 // - Context |
| 82 // - TypeFeedbackVector |
82 // - JSFunctionResultCache | 83 // - JSFunctionResultCache |
83 // - ScopeInfo | 84 // - ScopeInfo |
84 // - TransitionArray | 85 // - TransitionArray |
85 // - FixedDoubleArray | 86 // - FixedDoubleArray |
86 // - ExternalArray | 87 // - ExternalArray |
87 // - ExternalUint8ClampedArray | 88 // - ExternalUint8ClampedArray |
88 // - ExternalInt8Array | 89 // - ExternalInt8Array |
89 // - ExternalUint8Array | 90 // - ExternalUint8Array |
90 // - ExternalInt16Array | 91 // - ExternalInt16Array |
91 // - ExternalUint16Array | 92 // - ExternalUint16Array |
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 class AllocationSite; | 844 class AllocationSite; |
844 class AllocationSiteCreationContext; | 845 class AllocationSiteCreationContext; |
845 class AllocationSiteUsageContext; | 846 class AllocationSiteUsageContext; |
846 class DictionaryElementsAccessor; | 847 class DictionaryElementsAccessor; |
847 class ElementsAccessor; | 848 class ElementsAccessor; |
848 class FixedArrayBase; | 849 class FixedArrayBase; |
849 class GlobalObject; | 850 class GlobalObject; |
850 class ObjectVisitor; | 851 class ObjectVisitor; |
851 class LookupIterator; | 852 class LookupIterator; |
852 class StringStream; | 853 class StringStream; |
| 854 class TypeFeedbackVector; |
853 // We cannot just say "class HeapType;" if it is created from a template... =8-? | 855 // We cannot just say "class HeapType;" if it is created from a template... =8-? |
854 template<class> class TypeImpl; | 856 template<class> class TypeImpl; |
855 struct HeapTypeConfig; | 857 struct HeapTypeConfig; |
856 typedef TypeImpl<HeapTypeConfig> HeapType; | 858 typedef TypeImpl<HeapTypeConfig> HeapType; |
857 | 859 |
858 | 860 |
859 // A template-ized version of the IsXXX functions. | 861 // A template-ized version of the IsXXX functions. |
860 template <class C> inline bool Is(Object* obj); | 862 template <class C> inline bool Is(Object* obj); |
861 | 863 |
862 #ifdef VERIFY_HEAP | 864 #ifdef VERIFY_HEAP |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 V(ByteArray) \ | 919 V(ByteArray) \ |
918 V(FreeSpace) \ | 920 V(FreeSpace) \ |
919 V(JSReceiver) \ | 921 V(JSReceiver) \ |
920 V(JSObject) \ | 922 V(JSObject) \ |
921 V(JSContextExtensionObject) \ | 923 V(JSContextExtensionObject) \ |
922 V(JSGeneratorObject) \ | 924 V(JSGeneratorObject) \ |
923 V(JSModule) \ | 925 V(JSModule) \ |
924 V(Map) \ | 926 V(Map) \ |
925 V(DescriptorArray) \ | 927 V(DescriptorArray) \ |
926 V(TransitionArray) \ | 928 V(TransitionArray) \ |
| 929 V(TypeFeedbackVector) \ |
927 V(DeoptimizationInputData) \ | 930 V(DeoptimizationInputData) \ |
928 V(DeoptimizationOutputData) \ | 931 V(DeoptimizationOutputData) \ |
929 V(DependentCode) \ | 932 V(DependentCode) \ |
930 V(FixedArray) \ | 933 V(FixedArray) \ |
931 V(FixedDoubleArray) \ | 934 V(FixedDoubleArray) \ |
932 V(ConstantPoolArray) \ | 935 V(ConstantPoolArray) \ |
933 V(Context) \ | 936 V(Context) \ |
934 V(NativeContext) \ | 937 V(NativeContext) \ |
935 V(ScopeInfo) \ | 938 V(ScopeInfo) \ |
936 V(JSFunction) \ | 939 V(JSFunction) \ |
(...skipping 6031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6968 // Set the formal parameter count so the function code will be | 6971 // Set the formal parameter count so the function code will be |
6969 // called without using argument adaptor frames. | 6972 // called without using argument adaptor frames. |
6970 inline void DontAdaptArguments(); | 6973 inline void DontAdaptArguments(); |
6971 | 6974 |
6972 // [expected_nof_properties]: Expected number of properties for the function. | 6975 // [expected_nof_properties]: Expected number of properties for the function. |
6973 inline int expected_nof_properties() const; | 6976 inline int expected_nof_properties() const; |
6974 inline void set_expected_nof_properties(int value); | 6977 inline void set_expected_nof_properties(int value); |
6975 | 6978 |
6976 // [feedback_vector] - accumulates ast node feedback from full-codegen and | 6979 // [feedback_vector] - accumulates ast node feedback from full-codegen and |
6977 // (increasingly) from crankshafted code where sufficient feedback isn't | 6980 // (increasingly) from crankshafted code where sufficient feedback isn't |
6978 // available. Currently the field is duplicated in | 6981 // available. |
6979 // TypeFeedbackInfo::feedback_vector, but the allocation is done here. | 6982 DECL_ACCESSORS(feedback_vector, TypeFeedbackVector) |
6980 DECL_ACCESSORS(feedback_vector, FixedArray) | |
6981 | 6983 |
6982 // [instance class name]: class name for instances. | 6984 // [instance class name]: class name for instances. |
6983 DECL_ACCESSORS(instance_class_name, Object) | 6985 DECL_ACCESSORS(instance_class_name, Object) |
6984 | 6986 |
6985 // [function data]: This field holds some additional data for function. | 6987 // [function data]: This field holds some additional data for function. |
6986 // Currently it either has FunctionTemplateInfo to make benefit the API | 6988 // Currently it either has FunctionTemplateInfo to make benefit the API |
6987 // or Smi identifying a builtin function. | 6989 // or Smi identifying a builtin function. |
6988 // In the long run we don't want all functions to have this field but | 6990 // In the long run we don't want all functions to have this field but |
6989 // we can fix that when we have a better model for storing hidden data | 6991 // we can fix that when we have a better model for storing hidden data |
6990 // on objects. | 6992 // on objects. |
(...skipping 4145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11136 } else { | 11138 } else { |
11137 value &= ~(1 << bit_position); | 11139 value &= ~(1 << bit_position); |
11138 } | 11140 } |
11139 return value; | 11141 return value; |
11140 } | 11142 } |
11141 }; | 11143 }; |
11142 | 11144 |
11143 } } // namespace v8::internal | 11145 } } // namespace v8::internal |
11144 | 11146 |
11145 #endif // V8_OBJECTS_H_ | 11147 #endif // V8_OBJECTS_H_ |
OLD | NEW |