OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_TYPE_FEEDBACK_VECTOR_H_ | 5 #ifndef V8_TYPE_FEEDBACK_VECTOR_H_ |
6 #define V8_TYPE_FEEDBACK_VECTOR_H_ | 6 #define V8_TYPE_FEEDBACK_VECTOR_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "src/base/logging.h" | 10 #include "src/base/logging.h" |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 static const int kSlotsCountIndex = 0; | 195 static const int kSlotsCountIndex = 0; |
196 static const int kReservedIndexCount = 1; | 196 static const int kReservedIndexCount = 1; |
197 | 197 |
198 // Returns number of feedback vector elements used by given slot kind. | 198 // Returns number of feedback vector elements used by given slot kind. |
199 static inline int GetSlotSize(FeedbackVectorSlotKind kind); | 199 static inline int GetSlotSize(FeedbackVectorSlotKind kind); |
200 | 200 |
201 bool SpecDiffersFrom(const FeedbackVectorSpec* other_spec) const; | 201 bool SpecDiffersFrom(const FeedbackVectorSpec* other_spec) const; |
202 | 202 |
203 bool DiffersFrom(const TypeFeedbackMetadata* other_metadata) const; | 203 bool DiffersFrom(const TypeFeedbackMetadata* other_metadata) const; |
204 | 204 |
| 205 bool HasFunctionLiteralSlots(); |
| 206 |
205 inline bool is_empty() const; | 207 inline bool is_empty() const; |
206 | 208 |
207 // Returns number of slots in the vector. | 209 // Returns number of slots in the vector. |
208 inline int slot_count() const; | 210 inline int slot_count() const; |
209 | 211 |
210 // Returns slot kind for given slot. | 212 // Returns slot kind for given slot. |
211 FeedbackVectorSlotKind GetKind(FeedbackVectorSlot slot) const; | 213 FeedbackVectorSlotKind GetKind(FeedbackVectorSlot slot) const; |
212 | 214 |
213 template <typename Spec> | 215 template <typename Spec> |
214 static Handle<TypeFeedbackMetadata> New(Isolate* isolate, const Spec* spec); | 216 static Handle<TypeFeedbackMetadata> New(Isolate* isolate, const Spec* spec); |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 InlineCacheState StateFromFeedback() const override; | 740 InlineCacheState StateFromFeedback() const override; |
739 }; | 741 }; |
740 | 742 |
741 inline BinaryOperationHint BinaryOperationHintFromFeedback(int type_feedback); | 743 inline BinaryOperationHint BinaryOperationHintFromFeedback(int type_feedback); |
742 inline CompareOperationHint CompareOperationHintFromFeedback(int type_feedback); | 744 inline CompareOperationHint CompareOperationHintFromFeedback(int type_feedback); |
743 | 745 |
744 } // namespace internal | 746 } // namespace internal |
745 } // namespace v8 | 747 } // namespace v8 |
746 | 748 |
747 #endif // V8_TRANSITIONS_H_ | 749 #endif // V8_TRANSITIONS_H_ |
OLD | NEW |