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 839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
850 class DictionaryElementsAccessor; | 850 class DictionaryElementsAccessor; |
851 class ElementsAccessor; | 851 class ElementsAccessor; |
852 class FixedArrayBase; | 852 class FixedArrayBase; |
853 class GlobalObject; | 853 class GlobalObject; |
854 class LayoutDescriptor; | 854 class LayoutDescriptor; |
855 class LookupIterator; | 855 class LookupIterator; |
856 class ObjectVisitor; | 856 class ObjectVisitor; |
857 class StringStream; | 857 class StringStream; |
858 class TypeFeedbackVector; | 858 class TypeFeedbackVector; |
859 class WeakCell; | 859 class WeakCell; |
| 860 class FunctionLiteral; |
| 861 |
860 // We cannot just say "class HeapType;" if it is created from a template... =8-? | 862 // We cannot just say "class HeapType;" if it is created from a template... =8-? |
861 template<class> class TypeImpl; | 863 template<class> class TypeImpl; |
862 struct HeapTypeConfig; | 864 struct HeapTypeConfig; |
863 typedef TypeImpl<HeapTypeConfig> HeapType; | 865 typedef TypeImpl<HeapTypeConfig> HeapType; |
864 | 866 |
865 | 867 |
866 // A template-ized version of the IsXXX functions. | 868 // A template-ized version of the IsXXX functions. |
867 template <class C> inline bool Is(Object* obj); | 869 template <class C> inline bool Is(Object* obj); |
868 | 870 |
869 #ifdef VERIFY_HEAP | 871 #ifdef VERIFY_HEAP |
(...skipping 5862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6732 | 6734 |
6733 // Unconditionally clear the type feedback vector (including vector ICs). | 6735 // Unconditionally clear the type feedback vector (including vector ICs). |
6734 void ClearTypeFeedbackInfo(); | 6736 void ClearTypeFeedbackInfo(); |
6735 | 6737 |
6736 // Clear the type feedback vector with a more subtle policy at GC time. | 6738 // Clear the type feedback vector with a more subtle policy at GC time. |
6737 void ClearTypeFeedbackInfoAtGCTime(); | 6739 void ClearTypeFeedbackInfoAtGCTime(); |
6738 | 6740 |
6739 // Trims the optimized code map after entries have been removed. | 6741 // Trims the optimized code map after entries have been removed. |
6740 void TrimOptimizedCodeMap(int shrink_by); | 6742 void TrimOptimizedCodeMap(int shrink_by); |
6741 | 6743 |
| 6744 // Initialize a SharedFunctionInfo from a parsed function literal. |
| 6745 static void InitFromFunctionLiteral(Handle<SharedFunctionInfo> shared_info, |
| 6746 FunctionLiteral* lit); |
| 6747 |
6742 // Add a new entry to the optimized code map. | 6748 // Add a new entry to the optimized code map. |
6743 static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, | 6749 static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, |
6744 Handle<Context> native_context, | 6750 Handle<Context> native_context, |
6745 Handle<Code> code, | 6751 Handle<Code> code, |
6746 Handle<FixedArray> literals, | 6752 Handle<FixedArray> literals, |
6747 BailoutId osr_ast_id); | 6753 BailoutId osr_ast_id); |
6748 | 6754 |
6749 // Layout description of the optimized code map. | 6755 // Layout description of the optimized code map. |
6750 static const int kNextMapIndex = 0; | 6756 static const int kNextMapIndex = 0; |
6751 static const int kEntriesStart = 1; | 6757 static const int kEntriesStart = 1; |
(...skipping 4210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10962 } else { | 10968 } else { |
10963 value &= ~(1 << bit_position); | 10969 value &= ~(1 << bit_position); |
10964 } | 10970 } |
10965 return value; | 10971 return value; |
10966 } | 10972 } |
10967 }; | 10973 }; |
10968 | 10974 |
10969 } } // namespace v8::internal | 10975 } } // namespace v8::internal |
10970 | 10976 |
10971 #endif // V8_OBJECTS_H_ | 10977 #endif // V8_OBJECTS_H_ |
OLD | NEW |