| 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 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 | 617 |
| 618 static void Clear(Isolate* isolate, Address address, Code* target, | 618 static void Clear(Isolate* isolate, Address address, Code* target, |
| 619 Address constant_pool); | 619 Address constant_pool); |
| 620 | 620 |
| 621 Token::Value op_; | 621 Token::Value op_; |
| 622 | 622 |
| 623 friend class IC; | 623 friend class IC; |
| 624 }; | 624 }; |
| 625 | 625 |
| 626 | 626 |
| 627 class CompareNilIC : public IC { |
| 628 public: |
| 629 explicit CompareNilIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} |
| 630 |
| 631 Handle<Object> CompareNil(Handle<Object> object); |
| 632 |
| 633 static Handle<Code> GetUninitialized(); |
| 634 |
| 635 static void Clear(Address address, Code* target, Address constant_pool); |
| 636 }; |
| 637 |
| 638 |
| 627 class ToBooleanIC : public IC { | 639 class ToBooleanIC : public IC { |
| 628 public: | 640 public: |
| 629 explicit ToBooleanIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} | 641 explicit ToBooleanIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} |
| 630 | 642 |
| 631 Handle<Object> ToBoolean(Handle<Object> object); | 643 Handle<Object> ToBoolean(Handle<Object> object); |
| 632 }; | 644 }; |
| 633 | 645 |
| 634 | 646 |
| 635 // Helper for BinaryOpIC and CompareIC. | 647 // Helper for BinaryOpIC and CompareIC. |
| 636 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 648 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
| 637 void PatchInlinedSmiCode(Isolate* isolate, Address address, | 649 void PatchInlinedSmiCode(Isolate* isolate, Address address, |
| 638 InlinedSmiCheck check); | 650 InlinedSmiCheck check); |
| 639 | 651 |
| 640 } // namespace internal | 652 } // namespace internal |
| 641 } // namespace v8 | 653 } // namespace v8 |
| 642 | 654 |
| 643 #endif // V8_IC_H_ | 655 #endif // V8_IC_H_ |
| OLD | NEW |