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 | 10 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 void ConfigureVectorState(Handle<Name> name, MapHandleList* maps, | 157 void ConfigureVectorState(Handle<Name> name, MapHandleList* maps, |
158 CodeHandleList* handlers); | 158 CodeHandleList* handlers); |
159 | 159 |
160 char TransitionMarkFromState(IC::State state); | 160 char TransitionMarkFromState(IC::State state); |
161 void TraceIC(const char* type, Handle<Object> name); | 161 void TraceIC(const char* type, Handle<Object> name); |
162 void TraceIC(const char* type, Handle<Object> name, State old_state, | 162 void TraceIC(const char* type, Handle<Object> name, State old_state, |
163 State new_state); | 163 State new_state); |
164 | 164 |
165 MaybeHandle<Object> TypeError(const char* type, Handle<Object> object, | 165 MaybeHandle<Object> TypeError(const char* type, Handle<Object> object, |
166 Handle<Object> key); | 166 Handle<Object> key); |
167 MaybeHandle<Object> ReferenceError(const char* type, Handle<Name> name); | 167 MaybeHandle<Object> ReferenceError(Handle<Name> name); |
168 | 168 |
169 // Access the target code for the given IC address. | 169 // Access the target code for the given IC address. |
170 static inline Code* GetTargetAtAddress(Address address, | 170 static inline Code* GetTargetAtAddress(Address address, |
171 ConstantPoolArray* constant_pool); | 171 ConstantPoolArray* constant_pool); |
172 static inline void SetTargetAtAddress(Address address, Code* target, | 172 static inline void SetTargetAtAddress(Address address, Code* target, |
173 ConstantPoolArray* constant_pool); | 173 ConstantPoolArray* constant_pool); |
174 static void OnTypeFeedbackChanged(Isolate* isolate, Address address, | 174 static void OnTypeFeedbackChanged(Isolate* isolate, Address address, |
175 State old_state, State new_state, | 175 State old_state, State new_state, |
176 bool target_remains_ic_stub); | 176 bool target_remains_ic_stub); |
177 // As a vector-based IC, type feedback must be updated differently. | 177 // As a vector-based IC, type feedback must be updated differently. |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 | 766 |
767 // Support functions for interceptor handlers. | 767 // Support functions for interceptor handlers. |
768 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); | 768 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); |
769 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); | 769 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); |
770 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); | 770 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); |
771 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); | 771 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); |
772 } | 772 } |
773 } // namespace v8::internal | 773 } // namespace v8::internal |
774 | 774 |
775 #endif // V8_IC_H_ | 775 #endif // V8_IC_H_ |
OLD | NEW |