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/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 Handle<Smi> slot, | 370 Handle<Smi> slot, |
371 const State& state); | 371 const State& state); |
372 | 372 |
373 // Code generator routines. | 373 // Code generator routines. |
374 static Handle<Code> initialize_stub(Isolate* isolate, | 374 static Handle<Code> initialize_stub(Isolate* isolate, |
375 int argc, | 375 int argc, |
376 CallType call_type); | 376 CallType call_type); |
377 | 377 |
378 static void Clear(Isolate* isolate, Address address, Code* target, | 378 static void Clear(Isolate* isolate, Address address, Code* target, |
379 ConstantPoolArray* constant_pool); | 379 ConstantPoolArray* constant_pool); |
| 380 |
| 381 private: |
| 382 void UpdateTypeFeedbackInfo(Object* old_feedback, Object* new_feedback); |
| 383 IC::State FeedbackObjectToState(Object* feedback); |
380 }; | 384 }; |
381 | 385 |
382 | 386 |
383 OStream& operator<<(OStream& os, const CallIC::State& s); | 387 OStream& operator<<(OStream& os, const CallIC::State& s); |
384 | 388 |
385 | 389 |
386 class LoadIC: public IC { | 390 class LoadIC: public IC { |
387 public: | 391 public: |
388 enum ParameterIndices { | 392 enum ParameterIndices { |
389 kReceiverIndex, | 393 kReceiverIndex, |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 DECLARE_RUNTIME_FUNCTION(ElementsTransitionAndStoreIC_Miss); | 1036 DECLARE_RUNTIME_FUNCTION(ElementsTransitionAndStoreIC_Miss); |
1033 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_Miss); | 1037 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_Miss); |
1034 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_MissWithAllocationSite); | 1038 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_MissWithAllocationSite); |
1035 DECLARE_RUNTIME_FUNCTION(CompareNilIC_Miss); | 1039 DECLARE_RUNTIME_FUNCTION(CompareNilIC_Miss); |
1036 DECLARE_RUNTIME_FUNCTION(ToBooleanIC_Miss); | 1040 DECLARE_RUNTIME_FUNCTION(ToBooleanIC_Miss); |
1037 | 1041 |
1038 | 1042 |
1039 } } // namespace v8::internal | 1043 } } // namespace v8::internal |
1040 | 1044 |
1041 #endif // V8_IC_H_ | 1045 #endif // V8_IC_H_ |
OLD | NEW |