| 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 1103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1114 int false_block_id() const { return false_block_id_; } | 1114 int false_block_id() const { return false_block_id_; } |
| 1115 | 1115 |
| 1116 private: | 1116 private: |
| 1117 int true_block_id_; | 1117 int true_block_id_; |
| 1118 int false_block_id_; | 1118 int false_block_id_; |
| 1119 }; | 1119 }; |
| 1120 | 1120 |
| 1121 | 1121 |
| 1122 class LCmpMapAndBranch: public LUnaryOperation { | 1122 class LCmpMapAndBranch: public LUnaryOperation { |
| 1123 public: | 1123 public: |
| 1124 LCmpMapAndBranch(LOperand* value, | 1124 LCmpMapAndBranch(LOperand* value, LOperand* temp) |
| 1125 Handle<Map> map, | 1125 : LUnaryOperation(value), temp_(temp) { } |
| 1126 int true_block_id, | |
| 1127 int false_block_id) | |
| 1128 : LUnaryOperation(value), | |
| 1129 map_(map), | |
| 1130 true_block_id_(true_block_id), | |
| 1131 false_block_id_(false_block_id) { } | |
| 1132 | 1126 |
| 1133 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") | 1127 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") |
| 1128 DECLARE_HYDROGEN_ACCESSOR(CompareMapAndBranch) |
| 1134 | 1129 |
| 1135 virtual bool IsControl() const { return true; } | 1130 virtual bool IsControl() const { return true; } |
| 1136 | 1131 |
| 1137 Handle<Map> map() const { return map_; } | 1132 LOperand* temp() const { return temp_; } |
| 1138 int true_block_id() const { return true_block_id_; } | 1133 Handle<Map> map() const { return hydrogen()->map(); } |
| 1139 int false_block_id() const { return false_block_id_; } | 1134 int true_block_id() const { |
| 1135 return hydrogen()->true_destination()->block_id(); |
| 1136 } |
| 1137 int false_block_id() const { |
| 1138 return hydrogen()->false_destination()->block_id(); |
| 1139 } |
| 1140 | 1140 |
| 1141 private: | 1141 private: |
| 1142 Handle<Map> map_; | 1142 LOperand* temp_; |
| 1143 int true_block_id_; | |
| 1144 int false_block_id_; | |
| 1145 }; | 1143 }; |
| 1146 | 1144 |
| 1147 | 1145 |
| 1148 class LJSArrayLength: public LUnaryOperation { | 1146 class LJSArrayLength: public LUnaryOperation { |
| 1149 public: | 1147 public: |
| 1150 explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { } | 1148 explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { } |
| 1151 | 1149 |
| 1152 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") | 1150 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") |
| 1153 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) | 1151 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) |
| 1154 }; | 1152 }; |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1671 public: | 1669 public: |
| 1672 explicit LCheckMap(LOperand* use) : LUnaryOperation(use) { } | 1670 explicit LCheckMap(LOperand* use) : LUnaryOperation(use) { } |
| 1673 | 1671 |
| 1674 DECLARE_CONCRETE_INSTRUCTION(CheckMap, "check-map") | 1672 DECLARE_CONCRETE_INSTRUCTION(CheckMap, "check-map") |
| 1675 DECLARE_HYDROGEN_ACCESSOR(CheckMap) | 1673 DECLARE_HYDROGEN_ACCESSOR(CheckMap) |
| 1676 }; | 1674 }; |
| 1677 | 1675 |
| 1678 | 1676 |
| 1679 class LCheckPrototypeMaps: public LInstruction { | 1677 class LCheckPrototypeMaps: public LInstruction { |
| 1680 public: | 1678 public: |
| 1681 LCheckPrototypeMaps(LOperand* temp, | 1679 LCheckPrototypeMaps(LOperand* temp1, |
| 1680 LOperand* temp2, |
| 1682 Handle<JSObject> holder, | 1681 Handle<JSObject> holder, |
| 1683 Handle<Map> receiver_map) | 1682 Handle<Map> receiver_map) |
| 1684 : temp_(temp), | 1683 : temp1_(temp1), |
| 1684 temp2_(temp2), |
| 1685 holder_(holder), | 1685 holder_(holder), |
| 1686 receiver_map_(receiver_map) { } | 1686 receiver_map_(receiver_map) { } |
| 1687 | 1687 |
| 1688 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps") | 1688 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps") |
| 1689 | 1689 |
| 1690 LOperand* temp() const { return temp_; } | 1690 LOperand* temp1() const { return temp1_; } |
| 1691 LOperand* temp2() const { return temp2_; } |
| 1691 Handle<JSObject> holder() const { return holder_; } | 1692 Handle<JSObject> holder() const { return holder_; } |
| 1692 Handle<Map> receiver_map() const { return receiver_map_; } | 1693 Handle<Map> receiver_map() const { return receiver_map_; } |
| 1693 | 1694 |
| 1694 private: | 1695 private: |
| 1695 LOperand* temp_; | 1696 LOperand* temp1_; |
| 1697 LOperand* temp2_; |
| 1696 Handle<JSObject> holder_; | 1698 Handle<JSObject> holder_; |
| 1697 Handle<Map> receiver_map_; | 1699 Handle<Map> receiver_map_; |
| 1698 }; | 1700 }; |
| 1699 | 1701 |
| 1700 | 1702 |
| 1701 class LCheckSmi: public LUnaryOperation { | 1703 class LCheckSmi: public LUnaryOperation { |
| 1702 public: | 1704 public: |
| 1703 LCheckSmi(LOperand* use, Condition condition) | 1705 LCheckSmi(LOperand* use, Condition condition) |
| 1704 : LUnaryOperation(use), condition_(condition) { } | 1706 : LUnaryOperation(use), condition_(condition) { } |
| 1705 | 1707 |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2129 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2131 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2130 }; | 2132 }; |
| 2131 | 2133 |
| 2132 #undef DECLARE_HYDROGEN_ACCESSOR | 2134 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2133 #undef DECLARE_INSTRUCTION | 2135 #undef DECLARE_INSTRUCTION |
| 2134 #undef DECLARE_CONCRETE_INSTRUCTION | 2136 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2135 | 2137 |
| 2136 } } // namespace v8::internal | 2138 } } // namespace v8::internal |
| 2137 | 2139 |
| 2138 #endif // V8_ARM_LITHIUM_ARM_H_ | 2140 #endif // V8_ARM_LITHIUM_ARM_H_ |
| OLD | NEW |