OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 } | 91 } |
92 | 92 |
93 | 93 |
94 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { | 94 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { |
95 for (int i = 0; i < DoubleRegister::kMaxNumRegisters; ++i) { | 95 for (int i = 0; i < DoubleRegister::kMaxNumRegisters; ++i) { |
96 double double_value = input_->GetDoubleRegister(i); | 96 double double_value = input_->GetDoubleRegister(i); |
97 output_frame->SetDoubleRegister(i, double_value); | 97 output_frame->SetDoubleRegister(i, double_value); |
98 } | 98 } |
99 } | 99 } |
100 | 100 |
101 bool Deoptimizer::HasAlignmentPadding(SharedFunctionInfo* shared) { | |
102 // There is no dynamic alignment padding on MIPS in the input frame. | |
103 return false; | |
104 } | |
105 | |
106 | |
107 #define __ masm()-> | 101 #define __ masm()-> |
108 | 102 |
109 | 103 |
110 // This code tries to be close to ia32 code so that any changes can be | 104 // This code tries to be close to ia32 code so that any changes can be |
111 // easily ported. | 105 // easily ported. |
112 void Deoptimizer::TableEntryGenerator::Generate() { | 106 void Deoptimizer::TableEntryGenerator::Generate() { |
113 GeneratePrologue(); | 107 GeneratePrologue(); |
114 | 108 |
115 // Unlike on ARM we don't save all the registers, just the useful ones. | 109 // Unlike on ARM we don't save all the registers, just the useful ones. |
116 // For the rest, there are gaps on the stack, so the offsets remain the same. | 110 // For the rest, there are gaps on the stack, so the offsets remain the same. |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 // No embedded constant pool support. | 375 // No embedded constant pool support. |
382 UNREACHABLE(); | 376 UNREACHABLE(); |
383 } | 377 } |
384 | 378 |
385 | 379 |
386 #undef __ | 380 #undef __ |
387 | 381 |
388 | 382 |
389 } // namespace internal | 383 } // namespace internal |
390 } // namespace v8 | 384 } // namespace v8 |
OLD | NEW |