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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 protected: | 84 protected: |
85 Address fp() const { return fp_; } | 85 Address fp() const { return fp_; } |
86 Address pc() const { return *pc_address_; } | 86 Address pc() const { return *pc_address_; } |
87 Isolate* isolate() const { return isolate_; } | 87 Isolate* isolate() const { return isolate_; } |
88 | 88 |
89 // Get the shared function info of the caller. | 89 // Get the shared function info of the caller. |
90 SharedFunctionInfo* GetSharedFunctionInfo() const; | 90 SharedFunctionInfo* GetSharedFunctionInfo() const; |
91 // Get the code object of the caller. | 91 // Get the code object of the caller. |
92 Code* GetCode() const; | 92 Code* GetCode() const; |
93 | 93 |
94 bool AddressIsOptimizedCode() const; | |
95 inline bool AddressIsDeoptimizedCode() const; | 94 inline bool AddressIsDeoptimizedCode() const; |
96 inline static bool AddressIsDeoptimizedCode(Isolate* isolate, | 95 inline static bool AddressIsDeoptimizedCode(Isolate* isolate, |
97 Address address); | 96 Address address); |
98 | 97 |
99 // Set the call-site target. | 98 // Set the call-site target. |
100 inline void set_target(Code* code); | 99 inline void set_target(Code* code); |
101 bool is_vector_set() { return vector_set_; } | 100 bool is_vector_set() { return vector_set_; } |
102 | 101 |
103 bool UseVector() const { | 102 bool UseVector() const { |
104 bool use = ICUseVector(kind()); | 103 bool use = ICUseVector(kind()); |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 | 502 |
504 // Helper for BinaryOpIC and CompareIC. | 503 // Helper for BinaryOpIC and CompareIC. |
505 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 504 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
506 void PatchInlinedSmiCode(Isolate* isolate, Address address, | 505 void PatchInlinedSmiCode(Isolate* isolate, Address address, |
507 InlinedSmiCheck check); | 506 InlinedSmiCheck check); |
508 | 507 |
509 } // namespace internal | 508 } // namespace internal |
510 } // namespace v8 | 509 } // namespace v8 |
511 | 510 |
512 #endif // V8_IC_H_ | 511 #endif // V8_IC_H_ |
OLD | NEW |