OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "arm/lithium-gap-resolver-arm.h" | 7 #include "src/arm/lithium-gap-resolver-arm.h" |
8 #include "arm/lithium-codegen-arm.h" | 8 #include "src/arm/lithium-codegen-arm.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
11 namespace internal { | 11 namespace internal { |
12 | 12 |
13 // We use the root register to spill a value while breaking a cycle in parallel | 13 // We use the root register to spill a value while breaking a cycle in parallel |
14 // moves. We don't need access to roots while resolving the move list and using | 14 // moves. We don't need access to roots while resolving the move list and using |
15 // the root register has two advantages: | 15 // the root register has two advantages: |
16 // - It is not in crankshaft allocatable registers list, so it can't interfere | 16 // - It is not in crankshaft allocatable registers list, so it can't interfere |
17 // with any of the moves we are resolving. | 17 // with any of the moves we are resolving. |
18 // - We don't need to push it on the stack, as we can reload it with its value | 18 // - We don't need to push it on the stack, as we can reload it with its value |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 UNREACHABLE(); | 293 UNREACHABLE(); |
294 } | 294 } |
295 | 295 |
296 moves_[index].Eliminate(); | 296 moves_[index].Eliminate(); |
297 } | 297 } |
298 | 298 |
299 | 299 |
300 #undef __ | 300 #undef __ |
301 | 301 |
302 } } // namespace v8::internal | 302 } } // namespace v8::internal |
OLD | NEW |