| 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/arm64/macro-assembler-arm64.h" |     7 #include "src/arm64/macro-assembler-arm64.h" | 
|     8 #include "src/compiler/code-generator-impl.h" |     8 #include "src/compiler/code-generator-impl.h" | 
|     9 #include "src/compiler/gap-resolver.h" |     9 #include "src/compiler/gap-resolver.h" | 
|    10 #include "src/compiler/node-matchers.h" |    10 #include "src/compiler/node-matchers.h" | 
| (...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   952       __ Mov(dst, temp); |   952       __ Mov(dst, temp); | 
|   953     } else { |   953     } else { | 
|   954       DCHECK(destination->IsStackSlot()); |   954       DCHECK(destination->IsStackSlot()); | 
|   955       MemOperand dst = g.ToMemOperand(destination, masm()); |   955       MemOperand dst = g.ToMemOperand(destination, masm()); | 
|   956       __ Mov(temp, src); |   956       __ Mov(temp, src); | 
|   957       __ Ldr(src, dst); |   957       __ Ldr(src, dst); | 
|   958       __ Str(temp, dst); |   958       __ Str(temp, dst); | 
|   959     } |   959     } | 
|   960   } else if (source->IsStackSlot() || source->IsDoubleStackSlot()) { |   960   } else if (source->IsStackSlot() || source->IsDoubleStackSlot()) { | 
|   961     UseScratchRegisterScope scope(masm()); |   961     UseScratchRegisterScope scope(masm()); | 
|   962     CPURegister temp_0 = scope.AcquireX(); |   962     DoubleRegister temp_0 = scope.AcquireD(); | 
|   963     CPURegister temp_1 = scope.AcquireX(); |   963     DoubleRegister temp_1 = scope.AcquireD(); | 
|   964     MemOperand src = g.ToMemOperand(source, masm()); |   964     MemOperand src = g.ToMemOperand(source, masm()); | 
|   965     MemOperand dst = g.ToMemOperand(destination, masm()); |   965     MemOperand dst = g.ToMemOperand(destination, masm()); | 
|   966     __ Ldr(temp_0, src); |   966     __ Ldr(temp_0, src); | 
|   967     __ Ldr(temp_1, dst); |   967     __ Ldr(temp_1, dst); | 
|   968     __ Str(temp_0, dst); |   968     __ Str(temp_0, dst); | 
|   969     __ Str(temp_1, src); |   969     __ Str(temp_1, src); | 
|   970   } else if (source->IsDoubleRegister()) { |   970   } else if (source->IsDoubleRegister()) { | 
|   971     UseScratchRegisterScope scope(masm()); |   971     UseScratchRegisterScope scope(masm()); | 
|   972     FPRegister temp = scope.AcquireD(); |   972     FPRegister temp = scope.AcquireD(); | 
|   973     FPRegister src = g.ToDoubleRegister(source); |   973     FPRegister src = g.ToDoubleRegister(source); | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1013     } |  1013     } | 
|  1014   } |  1014   } | 
|  1015   MarkLazyDeoptSite(); |  1015   MarkLazyDeoptSite(); | 
|  1016 } |  1016 } | 
|  1017  |  1017  | 
|  1018 #undef __ |  1018 #undef __ | 
|  1019  |  1019  | 
|  1020 }  // namespace compiler |  1020 }  // namespace compiler | 
|  1021 }  // namespace internal |  1021 }  // namespace internal | 
|  1022 }  // namespace v8 |  1022 }  // namespace v8 | 
| OLD | NEW |