| 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 "src/arm64/frames-arm64.h" | 5 #include "src/arm64/frames-arm64.h" |
| 6 #include "src/codegen.h" | 6 #include "src/codegen.h" |
| 7 #include "src/deoptimizer.h" | 7 #include "src/deoptimizer.h" |
| 8 #include "src/full-codegen/full-codegen.h" | 8 #include "src/full-codegen/full-codegen.h" |
| 9 #include "src/register-configuration.h" | 9 #include "src/register-configuration.h" |
| 10 #include "src/safepoint-table.h" | 10 #include "src/safepoint-table.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 void Deoptimizer::TableEntryGenerator::Generate() { | 90 void Deoptimizer::TableEntryGenerator::Generate() { |
| 91 GeneratePrologue(); | 91 GeneratePrologue(); |
| 92 | 92 |
| 93 // TODO(all): This code needs to be revisited. We probably only need to save | 93 // TODO(all): This code needs to be revisited. We probably only need to save |
| 94 // caller-saved registers here. Callee-saved registers can be stored directly | 94 // caller-saved registers here. Callee-saved registers can be stored directly |
| 95 // in the input frame. | 95 // in the input frame. |
| 96 | 96 |
| 97 // Save all allocatable floating point registers. | 97 // Save all allocatable floating point registers. |
| 98 CPURegList saved_fp_registers( | 98 CPURegList saved_fp_registers( |
| 99 CPURegister::kFPRegister, kDRegSizeInBits, | 99 CPURegister::kFPRegister, kDRegSizeInBits, |
| 100 RegisterConfiguration::ArchDefault(RegisterConfiguration::CRANKSHAFT) | 100 RegisterConfiguration::Crankshaft()->allocatable_double_codes_mask()); |
| 101 ->allocatable_double_codes_mask()); | |
| 102 __ PushCPURegList(saved_fp_registers); | 101 __ PushCPURegList(saved_fp_registers); |
| 103 | 102 |
| 104 // We save all the registers expcept jssp, sp and lr. | 103 // We save all the registers expcept jssp, sp and lr. |
| 105 CPURegList saved_registers(CPURegister::kRegister, kXRegSizeInBits, 0, 27); | 104 CPURegList saved_registers(CPURegister::kRegister, kXRegSizeInBits, 0, 27); |
| 106 saved_registers.Combine(fp); | 105 saved_registers.Combine(fp); |
| 107 __ PushCPURegList(saved_registers); | 106 __ PushCPURegList(saved_registers); |
| 108 | 107 |
| 109 __ Mov(x3, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate()))); | 108 __ Mov(x3, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate()))); |
| 110 __ Str(fp, MemOperand(x3)); | 109 __ Str(fp, MemOperand(x3)); |
| 111 | 110 |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { | 339 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { |
| 341 // No embedded constant pool support. | 340 // No embedded constant pool support. |
| 342 UNREACHABLE(); | 341 UNREACHABLE(); |
| 343 } | 342 } |
| 344 | 343 |
| 345 | 344 |
| 346 #undef __ | 345 #undef __ |
| 347 | 346 |
| 348 } // namespace internal | 347 } // namespace internal |
| 349 } // namespace v8 | 348 } // namespace v8 |
| OLD | NEW |