| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX. |
| 6 | 6 |
| 7 #include "vm/flow_graph_compiler.h" | 7 #include "vm/flow_graph_compiler.h" |
| 8 | 8 |
| 9 #include "vm/bit_vector.h" | 9 #include "vm/bit_vector.h" |
| 10 #include "vm/cha.h" | 10 #include "vm/cha.h" |
| (...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1349 resolver_->RestoreFpuScratch(reg_); | 1349 resolver_->RestoreFpuScratch(reg_); |
| 1350 } | 1350 } |
| 1351 } | 1351 } |
| 1352 | 1352 |
| 1353 | 1353 |
| 1354 ParallelMoveResolver::ScratchRegisterScope::ScratchRegisterScope( | 1354 ParallelMoveResolver::ScratchRegisterScope::ScratchRegisterScope( |
| 1355 ParallelMoveResolver* resolver, Register blocked) | 1355 ParallelMoveResolver* resolver, Register blocked) |
| 1356 : resolver_(resolver), | 1356 : resolver_(resolver), |
| 1357 reg_(kNoRegister), | 1357 reg_(kNoRegister), |
| 1358 spilled_(false) { | 1358 spilled_(false) { |
| 1359 uword blocked_mask = ((blocked != kNoRegister) ? 1 << blocked : 0) | 1359 uword blocked_mask = ((blocked > kNoRegister) ? 1 << blocked : 0) |
| 1360 | 1 << CTX | 1360 | 1 << CTX |
| 1361 | 1 << SPREG | 1361 | 1 << SPREG |
| 1362 | 1 << FPREG | 1362 | 1 << FPREG |
| 1363 | ((TMP != kNoRegister) ? 1 << TMP : 0) | 1363 | ((TMP > kNoRegister) ? 1 << TMP : 0) |
| 1364 | ((TMP2 != kNoRegister) ? 1 << TMP2 : 0) | 1364 | ((TMP2 > kNoRegister) ? 1 << TMP2 : 0) |
| 1365 | ((PP != kNoRegister) ? 1 << PP : 0); | 1365 | ((PP > kNoRegister) ? 1 << PP : 0); |
| 1366 reg_ = static_cast<Register>( | 1366 reg_ = static_cast<Register>( |
| 1367 resolver_->AllocateScratchRegister(Location::kRegister, | 1367 resolver_->AllocateScratchRegister(Location::kRegister, |
| 1368 blocked_mask, | 1368 blocked_mask, |
| 1369 kFirstFreeCpuRegister, | 1369 kFirstFreeCpuRegister, |
| 1370 kLastFreeCpuRegister, | 1370 kLastFreeCpuRegister, |
| 1371 &spilled_)); | 1371 &spilled_)); |
| 1372 | 1372 |
| 1373 if (spilled_) { | 1373 if (spilled_) { |
| 1374 resolver->SpillScratch(reg_); | 1374 resolver->SpillScratch(reg_); |
| 1375 } | 1375 } |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 threshold = FLAG_optimization_counter_scale * basic_blocks + | 1459 threshold = FLAG_optimization_counter_scale * basic_blocks + |
| 1460 FLAG_min_optimization_counter_threshold; | 1460 FLAG_min_optimization_counter_threshold; |
| 1461 if (threshold > FLAG_optimization_counter_threshold) { | 1461 if (threshold > FLAG_optimization_counter_threshold) { |
| 1462 threshold = FLAG_optimization_counter_threshold; | 1462 threshold = FLAG_optimization_counter_threshold; |
| 1463 } | 1463 } |
| 1464 } | 1464 } |
| 1465 return threshold; | 1465 return threshold; |
| 1466 } | 1466 } |
| 1467 | 1467 |
| 1468 } // namespace dart | 1468 } // namespace dart |
| OLD | NEW |