Chromium Code Reviews| 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) |
|
Vyacheslav Egorov (Google)
2014/09/05 11:18:49
how about this:
static inline uword rmask(Registe
| |
| 1360 | 1 << CTX | 1360 | FlowGraphCompiler::PlatformBlockedRegisterMask(); |
| 1361 | 1 << SPREG | |
| 1362 | 1 << FPREG | |
| 1363 | ((TMP > kNoRegister) ? 1 << TMP : 0) | |
| 1364 | ((TMP2 > kNoRegister) ? 1 << TMP2 : 0) | |
| 1365 | ((PP > kNoRegister) ? 1 << PP : 0); | |
| 1366 reg_ = static_cast<Register>( | 1361 reg_ = static_cast<Register>( |
| 1367 resolver_->AllocateScratchRegister(Location::kRegister, | 1362 resolver_->AllocateScratchRegister(Location::kRegister, |
| 1368 blocked_mask, | 1363 blocked_mask, |
| 1369 kFirstFreeCpuRegister, | 1364 kFirstFreeCpuRegister, |
| 1370 kLastFreeCpuRegister, | 1365 kLastFreeCpuRegister, |
| 1371 &spilled_)); | 1366 &spilled_)); |
| 1372 | 1367 |
| 1373 if (spilled_) { | 1368 if (spilled_) { |
| 1374 resolver->SpillScratch(reg_); | 1369 resolver->SpillScratch(reg_); |
| 1375 } | 1370 } |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1459 threshold = FLAG_optimization_counter_scale * basic_blocks + | 1454 threshold = FLAG_optimization_counter_scale * basic_blocks + |
| 1460 FLAG_min_optimization_counter_threshold; | 1455 FLAG_min_optimization_counter_threshold; |
| 1461 if (threshold > FLAG_optimization_counter_threshold) { | 1456 if (threshold > FLAG_optimization_counter_threshold) { |
| 1462 threshold = FLAG_optimization_counter_threshold; | 1457 threshold = FLAG_optimization_counter_threshold; |
| 1463 } | 1458 } |
| 1464 } | 1459 } |
| 1465 return threshold; | 1460 return threshold; |
| 1466 } | 1461 } |
| 1467 | 1462 |
| 1468 } // namespace dart | 1463 } // namespace dart |
| OLD | NEW |