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/checks.h" | 10 #include "src/checks.h" |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 // IC slots need metadata to recognize the type of IC. | 185 // IC slots need metadata to recognize the type of IC. |
186 Code::Kind GetKind(FeedbackVectorICSlot slot) const; | 186 Code::Kind GetKind(FeedbackVectorICSlot slot) const; |
187 | 187 |
188 template <typename Spec> | 188 template <typename Spec> |
189 static Handle<TypeFeedbackVector> Allocate(Isolate* isolate, | 189 static Handle<TypeFeedbackVector> Allocate(Isolate* isolate, |
190 const Spec* spec); | 190 const Spec* spec); |
191 | 191 |
192 static Handle<TypeFeedbackVector> Copy(Isolate* isolate, | 192 static Handle<TypeFeedbackVector> Copy(Isolate* isolate, |
193 Handle<TypeFeedbackVector> vector); | 193 Handle<TypeFeedbackVector> vector); |
194 | 194 |
| 195 #ifdef OBJECT_PRINT |
| 196 // For gdb debugging. |
| 197 void Print(); |
| 198 #endif // OBJECT_PRINT |
| 199 |
| 200 DECLARE_PRINTER(TypeFeedbackVector) |
| 201 |
195 // Clears the vector slots and the vector ic slots. | 202 // Clears the vector slots and the vector ic slots. |
196 void ClearSlots(SharedFunctionInfo* shared) { ClearSlotsImpl(shared, true); } | 203 void ClearSlots(SharedFunctionInfo* shared) { ClearSlotsImpl(shared, true); } |
197 void ClearSlotsAtGCTime(SharedFunctionInfo* shared) { | 204 void ClearSlotsAtGCTime(SharedFunctionInfo* shared) { |
198 ClearSlotsImpl(shared, false); | 205 ClearSlotsImpl(shared, false); |
199 } | 206 } |
200 | 207 |
201 void ClearICSlots(SharedFunctionInfo* shared) { | 208 void ClearICSlots(SharedFunctionInfo* shared) { |
202 ClearICSlotsImpl(shared, true); | 209 ClearICSlotsImpl(shared, true); |
203 } | 210 } |
204 void ClearICSlotsAtGCTime(SharedFunctionInfo* shared) { | 211 void ClearICSlotsAtGCTime(SharedFunctionInfo* shared) { |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 void ConfigurePolymorphic(Handle<Name> name, MapHandleList* maps, | 468 void ConfigurePolymorphic(Handle<Name> name, MapHandleList* maps, |
462 CodeHandleList* handlers); | 469 CodeHandleList* handlers); |
463 | 470 |
464 InlineCacheState StateFromFeedback() const override; | 471 InlineCacheState StateFromFeedback() const override; |
465 Name* FindFirstName() const override; | 472 Name* FindFirstName() const override; |
466 }; | 473 }; |
467 } | 474 } |
468 } // namespace v8::internal | 475 } // namespace v8::internal |
469 | 476 |
470 #endif // V8_TRANSITIONS_H_ | 477 #endif // V8_TRANSITIONS_H_ |
OLD | NEW |