| 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 | |
| 639 class ToBooleanIC : public IC { | 627 class ToBooleanIC : public IC { |
| 640 public: | 628 public: |
| 641 explicit ToBooleanIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} | 629 explicit ToBooleanIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} |
| 642 | 630 |
| 643 Handle<Object> ToBoolean(Handle<Object> object); | 631 Handle<Object> ToBoolean(Handle<Object> object); |
| 644 }; | 632 }; |
| 645 | 633 |
| 646 | 634 |
| 647 // Helper for BinaryOpIC and CompareIC. | 635 // Helper for BinaryOpIC and CompareIC. |
| 648 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 636 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
| 649 void PatchInlinedSmiCode(Isolate* isolate, Address address, | 637 void PatchInlinedSmiCode(Isolate* isolate, Address address, |
| 650 InlinedSmiCheck check); | 638 InlinedSmiCheck check); |
| 651 | 639 |
| 652 } // namespace internal | 640 } // namespace internal |
| 653 } // namespace v8 | 641 } // namespace v8 |
| 654 | 642 |
| 655 #endif // V8_IC_H_ | 643 #endif // V8_IC_H_ |
| OLD | NEW |