| 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 |