OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 "src/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/ppc/macro-assembler-ppc.h" | 10 #include "src/ppc/macro-assembler-ppc.h" |
(...skipping 1362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1373 DCHECK(destination->IsStackSlot()); | 1373 DCHECK(destination->IsStackSlot()); |
1374 MemOperand dst = g.ToMemOperand(destination); | 1374 MemOperand dst = g.ToMemOperand(destination); |
1375 __ mr(temp, src); | 1375 __ mr(temp, src); |
1376 __ LoadP(src, dst); | 1376 __ LoadP(src, dst); |
1377 __ StoreP(temp, dst); | 1377 __ StoreP(temp, dst); |
1378 } | 1378 } |
1379 #if V8_TARGET_ARCH_PPC64 | 1379 #if V8_TARGET_ARCH_PPC64 |
1380 } else if (source->IsStackSlot() || source->IsDoubleStackSlot()) { | 1380 } else if (source->IsStackSlot() || source->IsDoubleStackSlot()) { |
1381 #else | 1381 #else |
1382 } else if (source->IsStackSlot()) { | 1382 } else if (source->IsStackSlot()) { |
| 1383 DCHECK(destination->IsStackSlot()); |
1383 #endif | 1384 #endif |
1384 DCHECK(destination->IsStackSlot()); | |
1385 Register temp_0 = kScratchReg; | 1385 Register temp_0 = kScratchReg; |
1386 Register temp_1 = r0; | 1386 Register temp_1 = r0; |
1387 MemOperand src = g.ToMemOperand(source); | 1387 MemOperand src = g.ToMemOperand(source); |
1388 MemOperand dst = g.ToMemOperand(destination); | 1388 MemOperand dst = g.ToMemOperand(destination); |
1389 __ LoadP(temp_0, src); | 1389 __ LoadP(temp_0, src); |
1390 __ LoadP(temp_1, dst); | 1390 __ LoadP(temp_1, dst); |
1391 __ StoreP(temp_0, dst); | 1391 __ StoreP(temp_0, dst); |
1392 __ StoreP(temp_1, src); | 1392 __ StoreP(temp_1, src); |
1393 } else if (source->IsDoubleRegister()) { | 1393 } else if (source->IsDoubleRegister()) { |
1394 DoubleRegister temp = kScratchDoubleReg; | 1394 DoubleRegister temp = kScratchDoubleReg; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 } | 1452 } |
1453 } | 1453 } |
1454 MarkLazyDeoptSite(); | 1454 MarkLazyDeoptSite(); |
1455 } | 1455 } |
1456 | 1456 |
1457 #undef __ | 1457 #undef __ |
1458 | 1458 |
1459 } // namespace compiler | 1459 } // namespace compiler |
1460 } // namespace internal | 1460 } // namespace internal |
1461 } // namespace v8 | 1461 } // namespace v8 |
OLD | NEW |