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/deoptimizer.h" | 5 #include "src/deoptimizer.h" |
6 #include "src/codegen.h" | 6 #include "src/codegen.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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 ApiFunction function(descriptor->deoptimization_handler()); | 88 ApiFunction function(descriptor->deoptimization_handler()); |
89 ExternalReference xref(&function, ExternalReference::BUILTIN_CALL, isolate_); | 89 ExternalReference xref(&function, ExternalReference::BUILTIN_CALL, isolate_); |
90 intptr_t handler = reinterpret_cast<intptr_t>(xref.address()); | 90 intptr_t handler = reinterpret_cast<intptr_t>(xref.address()); |
91 int params = descriptor->GetHandlerParameterCount(); | 91 int params = descriptor->GetHandlerParameterCount(); |
92 output_frame->SetRegister(r2.code(), params); | 92 output_frame->SetRegister(r2.code(), params); |
93 output_frame->SetRegister(r3.code(), handler); | 93 output_frame->SetRegister(r3.code(), handler); |
94 } | 94 } |
95 | 95 |
96 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { | 96 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { |
97 for (int i = 0; i < DoubleRegister::kNumRegisters; ++i) { | 97 for (int i = 0; i < DoubleRegister::kNumRegisters; ++i) { |
98 double double_value = input_->GetDoubleRegister(i); | 98 Float64 double_value = input_->GetDoubleRegister(i); |
99 output_frame->SetDoubleRegister(i, double_value); | 99 output_frame->SetDoubleRegister(i, double_value); |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 #define __ masm()-> | 103 #define __ masm()-> |
104 | 104 |
105 // This code tries to be close to ia32 code so that any changes can be | 105 // This code tries to be close to ia32 code so that any changes can be |
106 // easily ported. | 106 // easily ported. |
107 void Deoptimizer::TableEntryGenerator::Generate() { | 107 void Deoptimizer::TableEntryGenerator::Generate() { |
108 GeneratePrologue(); | 108 GeneratePrologue(); |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 | 328 |
329 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { | 329 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { |
330 // No out-of-line constant pool support. | 330 // No out-of-line constant pool support. |
331 UNREACHABLE(); | 331 UNREACHABLE(); |
332 } | 332 } |
333 | 333 |
334 #undef __ | 334 #undef __ |
335 | 335 |
336 } // namespace internal | 336 } // namespace internal |
337 } // namespace v8 | 337 } // namespace v8 |
OLD | NEW |