| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 719 | 719 |
| 720 private: | 720 private: |
| 721 bool is_strict_; | 721 bool is_strict_; |
| 722 }; | 722 }; |
| 723 | 723 |
| 724 | 724 |
| 725 class LIsNullAndBranch: public LIsNull { | 725 class LIsNullAndBranch: public LIsNull { |
| 726 public: | 726 public: |
| 727 LIsNullAndBranch(LOperand* value, | 727 LIsNullAndBranch(LOperand* value, |
| 728 bool is_strict, | 728 bool is_strict, |
| 729 LOperand* temp, | |
| 730 int true_block_id, | 729 int true_block_id, |
| 731 int false_block_id) | 730 int false_block_id) |
| 732 : LIsNull(value, is_strict), | 731 : LIsNull(value, is_strict), |
| 733 temp_(temp), | |
| 734 true_block_id_(true_block_id), | 732 true_block_id_(true_block_id), |
| 735 false_block_id_(false_block_id) { } | 733 false_block_id_(false_block_id) { } |
| 736 | 734 |
| 737 DECLARE_CONCRETE_INSTRUCTION(IsNullAndBranch, "is-null-and-branch") | 735 DECLARE_CONCRETE_INSTRUCTION(IsNullAndBranch, "is-null-and-branch") |
| 738 virtual void PrintDataTo(StringStream* stream) const; | 736 virtual void PrintDataTo(StringStream* stream) const; |
| 739 virtual bool IsControl() const { return true; } | 737 virtual bool IsControl() const { return true; } |
| 740 | 738 |
| 741 int true_block_id() const { return true_block_id_; } | 739 int true_block_id() const { return true_block_id_; } |
| 742 int false_block_id() const { return false_block_id_; } | 740 int false_block_id() const { return false_block_id_; } |
| 743 | 741 |
| 744 LOperand* temp() const { return temp_; } | |
| 745 | |
| 746 private: | 742 private: |
| 747 LOperand* temp_; | |
| 748 int true_block_id_; | 743 int true_block_id_; |
| 749 int false_block_id_; | 744 int false_block_id_; |
| 750 }; | 745 }; |
| 751 | 746 |
| 752 | 747 |
| 753 class LIsObject: public LUnaryOperation { | 748 class LIsObject: public LUnaryOperation { |
| 754 public: | 749 public: |
| 755 LIsObject(LOperand* value, LOperand* temp) | 750 LIsObject(LOperand* value, LOperand* temp) |
| 756 : LUnaryOperation(value), temp_(temp) {} | 751 : LUnaryOperation(value), temp_(temp) {} |
| 757 | 752 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 DECLARE_HYDROGEN_ACCESSOR(HasInstanceType) | 827 DECLARE_HYDROGEN_ACCESSOR(HasInstanceType) |
| 833 | 828 |
| 834 InstanceType TestType(); // The type to test against when generating code. | 829 InstanceType TestType(); // The type to test against when generating code. |
| 835 Condition BranchCondition(); // The branch condition for 'true'. | 830 Condition BranchCondition(); // The branch condition for 'true'. |
| 836 }; | 831 }; |
| 837 | 832 |
| 838 | 833 |
| 839 class LHasInstanceTypeAndBranch: public LHasInstanceType { | 834 class LHasInstanceTypeAndBranch: public LHasInstanceType { |
| 840 public: | 835 public: |
| 841 LHasInstanceTypeAndBranch(LOperand* value, | 836 LHasInstanceTypeAndBranch(LOperand* value, |
| 842 LOperand* temporary, | |
| 843 int true_block_id, | 837 int true_block_id, |
| 844 int false_block_id) | 838 int false_block_id) |
| 845 : LHasInstanceType(value), | 839 : LHasInstanceType(value), |
| 846 temp_(temporary), | |
| 847 true_block_id_(true_block_id), | 840 true_block_id_(true_block_id), |
| 848 false_block_id_(false_block_id) { } | 841 false_block_id_(false_block_id) { } |
| 849 | 842 |
| 850 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, | 843 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, |
| 851 "has-instance-type-and-branch") | 844 "has-instance-type-and-branch") |
| 852 virtual void PrintDataTo(StringStream* stream) const; | 845 virtual void PrintDataTo(StringStream* stream) const; |
| 853 virtual bool IsControl() const { return true; } | 846 virtual bool IsControl() const { return true; } |
| 854 | 847 |
| 855 int true_block_id() const { return true_block_id_; } | 848 int true_block_id() const { return true_block_id_; } |
| 856 int false_block_id() const { return false_block_id_; } | 849 int false_block_id() const { return false_block_id_; } |
| 857 | 850 |
| 858 LOperand* temp() { return temp_; } | |
| 859 | |
| 860 private: | 851 private: |
| 861 LOperand* temp_; | |
| 862 int true_block_id_; | 852 int true_block_id_; |
| 863 int false_block_id_; | 853 int false_block_id_; |
| 864 }; | 854 }; |
| 865 | 855 |
| 866 | 856 |
| 867 class LHasCachedArrayIndex: public LUnaryOperation { | 857 class LHasCachedArrayIndex: public LUnaryOperation { |
| 868 public: | 858 public: |
| 869 explicit LHasCachedArrayIndex(LOperand* value) : LUnaryOperation(value) {} | 859 explicit LHasCachedArrayIndex(LOperand* value) : LUnaryOperation(value) {} |
| 870 | 860 |
| 871 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndex, "has-cached-array-index") | 861 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndex, "has-cached-array-index") |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1258 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") | 1248 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") |
| 1259 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) | 1249 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) |
| 1260 | 1250 |
| 1261 LOperand* object() const { return input(); } | 1251 LOperand* object() const { return input(); } |
| 1262 Handle<Object> name() const { return hydrogen()->name(); } | 1252 Handle<Object> name() const { return hydrogen()->name(); } |
| 1263 }; | 1253 }; |
| 1264 | 1254 |
| 1265 | 1255 |
| 1266 class LLoadFunctionPrototype: public LUnaryOperation { | 1256 class LLoadFunctionPrototype: public LUnaryOperation { |
| 1267 public: | 1257 public: |
| 1268 LLoadFunctionPrototype(LOperand* function, LOperand* temporary) | 1258 LLoadFunctionPrototype(LOperand* function) : LUnaryOperation(function) { } |
| 1269 : LUnaryOperation(function), temporary_(temporary) { } | |
| 1270 | 1259 |
| 1271 DECLARE_CONCRETE_INSTRUCTION(LoadFunctionPrototype, "load-function-prototype") | 1260 DECLARE_CONCRETE_INSTRUCTION(LoadFunctionPrototype, "load-function-prototype") |
| 1272 DECLARE_HYDROGEN_ACCESSOR(LoadFunctionPrototype) | 1261 DECLARE_HYDROGEN_ACCESSOR(LoadFunctionPrototype) |
| 1273 | 1262 |
| 1274 LOperand* function() const { return input(); } | 1263 LOperand* function() const { return input(); } |
| 1275 LOperand* temporary() const { return temporary_; } | |
| 1276 | |
| 1277 private: | |
| 1278 LOperand* temporary_; | |
| 1279 }; | 1264 }; |
| 1280 | 1265 |
| 1281 | 1266 |
| 1282 class LLoadElements: public LUnaryOperation { | 1267 class LLoadElements: public LUnaryOperation { |
| 1283 public: | 1268 public: |
| 1284 explicit LLoadElements(LOperand* obj) : LUnaryOperation(obj) { } | 1269 explicit LLoadElements(LOperand* obj) : LUnaryOperation(obj) { } |
| 1285 | 1270 |
| 1286 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") | 1271 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") |
| 1287 }; | 1272 }; |
| 1288 | 1273 |
| (...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2129 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2114 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2130 }; | 2115 }; |
| 2131 | 2116 |
| 2132 #undef DECLARE_HYDROGEN_ACCESSOR | 2117 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2133 #undef DECLARE_INSTRUCTION | 2118 #undef DECLARE_INSTRUCTION |
| 2134 #undef DECLARE_CONCRETE_INSTRUCTION | 2119 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2135 | 2120 |
| 2136 } } // namespace v8::internal | 2121 } } // namespace v8::internal |
| 2137 | 2122 |
| 2138 #endif // V8_ARM_LITHIUM_ARM_H_ | 2123 #endif // V8_ARM_LITHIUM_ARM_H_ |
| OLD | NEW |