| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "arm64/lithium-gap-resolver-arm64.h" | 7 #include "src/arm64/lithium-gap-resolver-arm64.h" |
| 8 #include "arm64/lithium-codegen-arm64.h" | 8 #include "src/arm64/lithium-codegen-arm64.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 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 LOperand* src = moves_[index].source(); | 302 LOperand* src = moves_[index].source(); |
| 303 LOperand* dst = moves_[index].destination(); | 303 LOperand* dst = moves_[index].destination(); |
| 304 | 304 |
| 305 ASSERT(src->IsStackSlot()); | 305 ASSERT(src->IsStackSlot()); |
| 306 ASSERT(dst->IsStackSlot()); | 306 ASSERT(dst->IsStackSlot()); |
| 307 __ Ldr(temp, cgen_->ToMemOperand(src)); | 307 __ Ldr(temp, cgen_->ToMemOperand(src)); |
| 308 __ Str(temp, cgen_->ToMemOperand(dst)); | 308 __ Str(temp, cgen_->ToMemOperand(dst)); |
| 309 } | 309 } |
| 310 | 310 |
| 311 } } // namespace v8::internal | 311 } } // namespace v8::internal |
| OLD | NEW |