OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 int false_block_id() const { return false_block_id_; } | 701 int false_block_id() const { return false_block_id_; } |
702 | 702 |
703 private: | 703 private: |
704 int true_block_id_; | 704 int true_block_id_; |
705 int false_block_id_; | 705 int false_block_id_; |
706 }; | 706 }; |
707 | 707 |
708 | 708 |
709 class LIsObject: public LUnaryOperation { | 709 class LIsObject: public LUnaryOperation { |
710 public: | 710 public: |
711 LIsObject(LOperand* value, LOperand* temp) | 711 explicit LIsObject(LOperand* value) : LUnaryOperation(value) { } |
712 : LUnaryOperation(value), temp_(temp) {} | |
713 | 712 |
714 DECLARE_CONCRETE_INSTRUCTION(IsObject, "is-object") | 713 DECLARE_CONCRETE_INSTRUCTION(IsObject, "is-object") |
715 | |
716 LOperand* temp() const { return temp_; } | |
717 | |
718 private: | |
719 LOperand* temp_; | |
720 }; | 714 }; |
721 | 715 |
722 | 716 |
723 class LIsObjectAndBranch: public LIsObject { | 717 class LIsObjectAndBranch: public LIsObject { |
724 public: | 718 public: |
725 LIsObjectAndBranch(LOperand* value, | 719 LIsObjectAndBranch(LOperand* value, |
726 LOperand* temp, | 720 LOperand* temp, |
727 LOperand* temp2, | |
728 int true_block_id, | 721 int true_block_id, |
729 int false_block_id) | 722 int false_block_id) |
730 : LIsObject(value, temp), | 723 : LIsObject(value), |
731 temp2_(temp2), | 724 temp_(temp), |
732 true_block_id_(true_block_id), | 725 true_block_id_(true_block_id), |
733 false_block_id_(false_block_id) { } | 726 false_block_id_(false_block_id) { } |
734 | 727 |
735 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") | 728 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") |
736 virtual void PrintDataTo(StringStream* stream) const; | 729 virtual void PrintDataTo(StringStream* stream) const; |
737 virtual bool IsControl() const { return true; } | 730 virtual bool IsControl() const { return true; } |
738 | 731 |
739 int true_block_id() const { return true_block_id_; } | 732 int true_block_id() const { return true_block_id_; } |
740 int false_block_id() const { return false_block_id_; } | 733 int false_block_id() const { return false_block_id_; } |
741 | 734 |
742 LOperand* temp2() const { return temp2_; } | 735 LOperand* temp() const { return temp_; } |
743 | 736 |
744 private: | 737 private: |
745 LOperand* temp2_; | 738 LOperand* temp_; |
746 int true_block_id_; | 739 int true_block_id_; |
747 int false_block_id_; | 740 int false_block_id_; |
748 }; | 741 }; |
749 | 742 |
750 | 743 |
751 class LIsSmi: public LUnaryOperation { | 744 class LIsSmi: public LUnaryOperation { |
752 public: | 745 public: |
753 explicit LIsSmi(LOperand* value) : LUnaryOperation(value) {} | 746 explicit LIsSmi(LOperand* value) : LUnaryOperation(value) {} |
754 | 747 |
755 DECLARE_CONCRETE_INSTRUCTION(IsSmi, "is-smi") | 748 DECLARE_CONCRETE_INSTRUCTION(IsSmi, "is-smi") |
(...skipping 1239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1995 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 1988 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
1996 }; | 1989 }; |
1997 | 1990 |
1998 #undef DECLARE_HYDROGEN_ACCESSOR | 1991 #undef DECLARE_HYDROGEN_ACCESSOR |
1999 #undef DECLARE_INSTRUCTION | 1992 #undef DECLARE_INSTRUCTION |
2000 #undef DECLARE_CONCRETE_INSTRUCTION | 1993 #undef DECLARE_CONCRETE_INSTRUCTION |
2001 | 1994 |
2002 } } // namespace v8::internal | 1995 } } // namespace v8::internal |
2003 | 1996 |
2004 #endif // V8_ARM_LITHIUM_ARM_H_ | 1997 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |