Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(594)

Side by Side Diff: src/arm/deoptimizer-arm.cc

Issue 2652303002: [deoptimizer] Preserve double bit patterns correctly. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/arm64/deoptimizer-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 ExternalReference xref(&function, ExternalReference::BUILTIN_CALL, isolate_); 88 ExternalReference xref(&function, ExternalReference::BUILTIN_CALL, isolate_);
89 intptr_t handler = reinterpret_cast<intptr_t>(xref.address()); 89 intptr_t handler = reinterpret_cast<intptr_t>(xref.address());
90 int params = descriptor->GetHandlerParameterCount(); 90 int params = descriptor->GetHandlerParameterCount();
91 output_frame->SetRegister(r0.code(), params); 91 output_frame->SetRegister(r0.code(), params);
92 output_frame->SetRegister(r1.code(), handler); 92 output_frame->SetRegister(r1.code(), handler);
93 } 93 }
94 94
95 95
96 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { 96 void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) {
97 for (int i = 0; i < DwVfpRegister::kMaxNumRegisters; ++i) { 97 for (int i = 0; i < DwVfpRegister::kMaxNumRegisters; ++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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) { 367 void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) {
368 DCHECK(FLAG_enable_embedded_constant_pool); 368 DCHECK(FLAG_enable_embedded_constant_pool);
369 SetFrameSlot(offset, value); 369 SetFrameSlot(offset, value);
370 } 370 }
371 371
372 372
373 #undef __ 373 #undef __
374 374
375 } // namespace internal 375 } // namespace internal
376 } // namespace v8 376 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/arm64/deoptimizer-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698