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_IC_H_ | 5 #ifndef V8_IC_H_ |
6 #define V8_IC_H_ | 6 #define V8_IC_H_ |
7 | 7 |
8 #include "src/ic/ic-state.h" | 8 #include "src/ic/ic-state.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 #include "src/messages.h" | 10 #include "src/messages.h" |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 } | 203 } |
204 | 204 |
205 Map* FirstTargetMap() { | 205 Map* FirstTargetMap() { |
206 FindTargetMaps(); | 206 FindTargetMaps(); |
207 return target_maps_.length() > 0 ? *target_maps_.at(0) : NULL; | 207 return target_maps_.length() > 0 ? *target_maps_.at(0) : NULL; |
208 } | 208 } |
209 | 209 |
210 inline void UpdateTarget(); | 210 inline void UpdateTarget(); |
211 | 211 |
212 Handle<TypeFeedbackVector> vector() const { return nexus()->vector_handle(); } | 212 Handle<TypeFeedbackVector> vector() const { return nexus()->vector_handle(); } |
213 FeedbackVectorICSlot slot() const { return nexus()->slot(); } | 213 FeedbackVectorSlot slot() const { return nexus()->slot(); } |
214 State saved_state() const { | 214 State saved_state() const { |
215 return state() == PROTOTYPE_FAILURE ? old_state_ : state(); | 215 return state() == PROTOTYPE_FAILURE ? old_state_ : state(); |
216 } | 216 } |
217 | 217 |
218 template <class NexusClass> | 218 template <class NexusClass> |
219 NexusClass* casted_nexus() { | 219 NexusClass* casted_nexus() { |
220 return static_cast<NexusClass*>(nexus_); | 220 return static_cast<NexusClass*>(nexus_); |
221 } | 221 } |
222 FeedbackNexus* nexus() const { return nexus_; } | 222 FeedbackNexus* nexus() const { return nexus_; } |
223 | 223 |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 | 682 |
683 | 683 |
684 // Helper for BinaryOpIC and CompareIC. | 684 // Helper for BinaryOpIC and CompareIC. |
685 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 685 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
686 void PatchInlinedSmiCode(Address address, InlinedSmiCheck check); | 686 void PatchInlinedSmiCode(Address address, InlinedSmiCheck check); |
687 | 687 |
688 } // namespace internal | 688 } // namespace internal |
689 } // namespace v8 | 689 } // namespace v8 |
690 | 690 |
691 #endif // V8_IC_H_ | 691 #endif // V8_IC_H_ |
OLD | NEW |