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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 }; | 258 }; |
259 | 259 |
260 | 260 |
261 class CallIC : public IC { | 261 class CallIC : public IC { |
262 public: | 262 public: |
263 CallIC(Isolate* isolate, CallICNexus* nexus) | 263 CallIC(Isolate* isolate, CallICNexus* nexus) |
264 : IC(EXTRA_CALL_FRAME, isolate, nexus) { | 264 : IC(EXTRA_CALL_FRAME, isolate, nexus) { |
265 DCHECK(nexus != NULL); | 265 DCHECK(nexus != NULL); |
266 } | 266 } |
267 | 267 |
268 void HandleMiss(Handle<Object> function); | |
269 | |
270 static void Clear(Isolate* isolate, Code* host, CallICNexus* nexus); | 268 static void Clear(Isolate* isolate, Code* host, CallICNexus* nexus); |
271 }; | 269 }; |
272 | 270 |
273 | 271 |
274 class LoadIC : public IC { | 272 class LoadIC : public IC { |
275 public: | 273 public: |
276 LoadIC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus = NULL) | 274 LoadIC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus = NULL) |
277 : IC(depth, isolate, nexus) { | 275 : IC(depth, isolate, nexus) { |
278 DCHECK(nexus != NULL); | 276 DCHECK(nexus != NULL); |
279 DCHECK(IsLoadStub()); | 277 DCHECK(IsLoadStub()); |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 | 498 |
501 // Helper for BinaryOpIC and CompareIC. | 499 // Helper for BinaryOpIC and CompareIC. |
502 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 500 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
503 void PatchInlinedSmiCode(Isolate* isolate, Address address, | 501 void PatchInlinedSmiCode(Isolate* isolate, Address address, |
504 InlinedSmiCheck check); | 502 InlinedSmiCheck check); |
505 | 503 |
506 } // namespace internal | 504 } // namespace internal |
507 } // namespace v8 | 505 } // namespace v8 |
508 | 506 |
509 #endif // V8_IC_H_ | 507 #endif // V8_IC_H_ |
OLD | NEW |