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 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 int false_block_id() const { return false_block_id_; } | 1138 int false_block_id() const { return false_block_id_; } |
1139 | 1139 |
1140 private: | 1140 private: |
1141 int true_block_id_; | 1141 int true_block_id_; |
1142 int false_block_id_; | 1142 int false_block_id_; |
1143 }; | 1143 }; |
1144 | 1144 |
1145 | 1145 |
1146 class LCmpMapAndBranch: public LUnaryOperation { | 1146 class LCmpMapAndBranch: public LUnaryOperation { |
1147 public: | 1147 public: |
1148 LCmpMapAndBranch(LOperand* value, | 1148 explicit LCmpMapAndBranch(LOperand* value) : LUnaryOperation(value) { } |
1149 Handle<Map> map, | |
1150 int true_block_id, | |
1151 int false_block_id) | |
1152 : LUnaryOperation(value), | |
1153 map_(map), | |
1154 true_block_id_(true_block_id), | |
1155 false_block_id_(false_block_id) { } | |
1156 | 1149 |
1157 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") | 1150 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") |
| 1151 DECLARE_HYDROGEN_ACCESSOR(CompareMapAndBranch) |
1158 | 1152 |
1159 virtual bool IsControl() const { return true; } | 1153 virtual bool IsControl() const { return true; } |
1160 | 1154 |
1161 Handle<Map> map() const { return map_; } | 1155 Handle<Map> map() const { return hydrogen()->map(); } |
1162 int true_block_id() const { return true_block_id_; } | 1156 int true_block_id() const { |
1163 int false_block_id() const { return false_block_id_; } | 1157 return hydrogen()->true_destination()->block_id(); |
1164 | 1158 } |
1165 private: | 1159 int false_block_id() const { |
1166 Handle<Map> map_; | 1160 return hydrogen()->false_destination()->block_id(); |
1167 int true_block_id_; | 1161 } |
1168 int false_block_id_; | |
1169 }; | 1162 }; |
1170 | 1163 |
1171 | 1164 |
1172 class LJSArrayLength: public LUnaryOperation { | 1165 class LJSArrayLength: public LUnaryOperation { |
1173 public: | 1166 public: |
1174 explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { } | 1167 explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { } |
1175 | 1168 |
1176 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") | 1169 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") |
1177 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) | 1170 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) |
1178 }; | 1171 }; |
(...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2166 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2159 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2167 }; | 2160 }; |
2168 | 2161 |
2169 #undef DECLARE_HYDROGEN_ACCESSOR | 2162 #undef DECLARE_HYDROGEN_ACCESSOR |
2170 #undef DECLARE_INSTRUCTION | 2163 #undef DECLARE_INSTRUCTION |
2171 #undef DECLARE_CONCRETE_INSTRUCTION | 2164 #undef DECLARE_CONCRETE_INSTRUCTION |
2172 | 2165 |
2173 } } // namespace v8::internal | 2166 } } // namespace v8::internal |
2174 | 2167 |
2175 #endif // V8_IA32_LITHIUM_IA32_H_ | 2168 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |