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 "src/codegen.h" | 5 #include "src/codegen.h" |
6 #include "src/deoptimizer.h" | 6 #include "src/deoptimizer.h" |
7 #include "src/full-codegen/full-codegen.h" | 7 #include "src/full-codegen/full-codegen.h" |
8 #include "src/register-configuration.h" | 8 #include "src/register-configuration.h" |
9 #include "src/safepoint-table.h" | 9 #include "src/safepoint-table.h" |
10 | 10 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 } | 96 } |
97 | 97 |
98 | 98 |
99 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { | 99 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { |
100 for (int i = 0; i < DwVfpRegister::kMaxNumRegisters; ++i) { | 100 for (int i = 0; i < DwVfpRegister::kMaxNumRegisters; ++i) { |
101 double double_value = input_->GetDoubleRegister(i); | 101 double double_value = input_->GetDoubleRegister(i); |
102 output_frame->SetDoubleRegister(i, double_value); | 102 output_frame->SetDoubleRegister(i, double_value); |
103 } | 103 } |
104 } | 104 } |
105 | 105 |
106 bool Deoptimizer::HasAlignmentPadding(SharedFunctionInfo* shared) { | |
107 // There is no dynamic alignment padding on ARM in the input frame. | |
108 return false; | |
109 } | |
110 | |
111 | |
112 #define __ masm()-> | 106 #define __ masm()-> |
113 | 107 |
114 // This code tries to be close to ia32 code so that any changes can be | 108 // This code tries to be close to ia32 code so that any changes can be |
115 // easily ported. | 109 // easily ported. |
116 void Deoptimizer::TableEntryGenerator::Generate() { | 110 void Deoptimizer::TableEntryGenerator::Generate() { |
117 GeneratePrologue(); | 111 GeneratePrologue(); |
118 | 112 |
119 // Save all general purpose registers before messing with them. | 113 // Save all general purpose registers before messing with them. |
120 const int kNumberOfRegisters = Register::kNumRegisters; | 114 const int kNumberOfRegisters = Register::kNumRegisters; |
121 | 115 |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { | 329 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { |
336 DCHECK(FLAG_enable_embedded_constant_pool); | 330 DCHECK(FLAG_enable_embedded_constant_pool); |
337 SetFrameSlot(offset, value); | 331 SetFrameSlot(offset, value); |
338 } | 332 } |
339 | 333 |
340 | 334 |
341 #undef __ | 335 #undef __ |
342 | 336 |
343 } // namespace internal | 337 } // namespace internal |
344 } // namespace v8 | 338 } // namespace v8 |
OLD | NEW |