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

Side by Side Diff: src/compiler/code-generator.cc

Issue 1959763002: [turbofan] Rename floating point register / slot methods. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Unfix arm64. Created 4 years, 7 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 | « src/compiler/arm64/code-generator-arm64.cc ('k') | src/compiler/gap-resolver.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 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/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/address-map.h" 7 #include "src/address-map.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/linkage.h" 9 #include "src/compiler/linkage.h"
10 #include "src/compiler/pipeline.h" 10 #include "src/compiler/pipeline.h"
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 if (!descriptor->state_combine().IsOutputIgnored()) { 526 if (!descriptor->state_combine().IsOutputIgnored()) {
527 deopt_state_id = BuildTranslation(instr, -1, frame_state_offset, 527 deopt_state_id = BuildTranslation(instr, -1, frame_state_offset,
528 OutputFrameStateCombine::Ignore()); 528 OutputFrameStateCombine::Ignore());
529 } 529 }
530 #if DEBUG 530 #if DEBUG
531 // Make sure all the values live in stack slots or they are immediates. 531 // Make sure all the values live in stack slots or they are immediates.
532 // (The values should not live in register because registers are clobbered 532 // (The values should not live in register because registers are clobbered
533 // by calls.) 533 // by calls.)
534 for (size_t i = 0; i < descriptor->GetSize(); i++) { 534 for (size_t i = 0; i < descriptor->GetSize(); i++) {
535 InstructionOperand* op = instr->InputAt(frame_state_offset + 1 + i); 535 InstructionOperand* op = instr->InputAt(frame_state_offset + 1 + i);
536 CHECK(op->IsStackSlot() || op->IsDoubleStackSlot() || op->IsImmediate()); 536 CHECK(op->IsStackSlot() || op->IsFPStackSlot() || op->IsImmediate());
537 } 537 }
538 #endif 538 #endif
539 safepoints()->RecordLazyDeoptimizationIndex(deopt_state_id); 539 safepoints()->RecordLazyDeoptimizationIndex(deopt_state_id);
540 } 540 }
541 } 541 }
542 542
543 543
544 int CodeGenerator::DefineDeoptimizationLiteral(Handle<Object> literal) { 544 int CodeGenerator::DefineDeoptimizationLiteral(Handle<Object> literal) {
545 int result = static_cast<int>(deoptimization_literals_.size()); 545 int result = static_cast<int>(deoptimization_literals_.size());
546 for (unsigned i = 0; i < deoptimization_literals_.size(); ++i) { 546 for (unsigned i = 0; i < deoptimization_literals_.size(); ++i) {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 type == MachineType::Int32()) { 708 type == MachineType::Int32()) {
709 translation->StoreInt32StackSlot(LocationOperand::cast(op)->index()); 709 translation->StoreInt32StackSlot(LocationOperand::cast(op)->index());
710 } else if (type == MachineType::Uint8() || type == MachineType::Uint16() || 710 } else if (type == MachineType::Uint8() || type == MachineType::Uint16() ||
711 type == MachineType::Uint32()) { 711 type == MachineType::Uint32()) {
712 translation->StoreUint32StackSlot(LocationOperand::cast(op)->index()); 712 translation->StoreUint32StackSlot(LocationOperand::cast(op)->index());
713 } else if (type.representation() == MachineRepresentation::kTagged) { 713 } else if (type.representation() == MachineRepresentation::kTagged) {
714 translation->StoreStackSlot(LocationOperand::cast(op)->index()); 714 translation->StoreStackSlot(LocationOperand::cast(op)->index());
715 } else { 715 } else {
716 CHECK(false); 716 CHECK(false);
717 } 717 }
718 } else if (op->IsDoubleStackSlot()) { 718 } else if (op->IsFPStackSlot()) {
719 DCHECK(IsFloatingPoint(type.representation())); 719 DCHECK(IsFloatingPoint(type.representation()));
720 translation->StoreDoubleStackSlot(LocationOperand::cast(op)->index()); 720 translation->StoreDoubleStackSlot(LocationOperand::cast(op)->index());
721 } else if (op->IsRegister()) { 721 } else if (op->IsRegister()) {
722 InstructionOperandConverter converter(this, instr); 722 InstructionOperandConverter converter(this, instr);
723 if (type.representation() == MachineRepresentation::kBit) { 723 if (type.representation() == MachineRepresentation::kBit) {
724 translation->StoreBoolRegister(converter.ToRegister(op)); 724 translation->StoreBoolRegister(converter.ToRegister(op));
725 } else if (type == MachineType::Int8() || type == MachineType::Int16() || 725 } else if (type == MachineType::Int8() || type == MachineType::Int16() ||
726 type == MachineType::Int32()) { 726 type == MachineType::Int32()) {
727 translation->StoreInt32Register(converter.ToRegister(op)); 727 translation->StoreInt32Register(converter.ToRegister(op));
728 } else if (type == MachineType::Uint8() || type == MachineType::Uint16() || 728 } else if (type == MachineType::Uint8() || type == MachineType::Uint16() ||
729 type == MachineType::Uint32()) { 729 type == MachineType::Uint32()) {
730 translation->StoreUint32Register(converter.ToRegister(op)); 730 translation->StoreUint32Register(converter.ToRegister(op));
731 } else if (type.representation() == MachineRepresentation::kTagged) { 731 } else if (type.representation() == MachineRepresentation::kTagged) {
732 translation->StoreRegister(converter.ToRegister(op)); 732 translation->StoreRegister(converter.ToRegister(op));
733 } else { 733 } else {
734 CHECK(false); 734 CHECK(false);
735 } 735 }
736 } else if (op->IsDoubleRegister()) { 736 } else if (op->IsFPRegister()) {
737 DCHECK(IsFloatingPoint(type.representation())); 737 DCHECK(IsFloatingPoint(type.representation()));
738 InstructionOperandConverter converter(this, instr); 738 InstructionOperandConverter converter(this, instr);
739 translation->StoreDoubleRegister(converter.ToDoubleRegister(op)); 739 translation->StoreDoubleRegister(converter.ToDoubleRegister(op));
740 } else if (op->IsImmediate()) { 740 } else if (op->IsImmediate()) {
741 InstructionOperandConverter converter(this, instr); 741 InstructionOperandConverter converter(this, instr);
742 Constant constant = converter.ToConstant(op); 742 Constant constant = converter.ToConstant(op);
743 Handle<Object> constant_object; 743 Handle<Object> constant_object;
744 switch (constant.type()) { 744 switch (constant.type()) {
745 case Constant::kInt32: 745 case Constant::kInt32:
746 DCHECK(type == MachineType::Int32() || type == MachineType::Uint32() || 746 DCHECK(type == MachineType::Int32() || type == MachineType::Uint32() ||
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 : frame_(gen->frame()), masm_(gen->masm()), next_(gen->ools_) { 807 : frame_(gen->frame()), masm_(gen->masm()), next_(gen->ools_) {
808 gen->ools_ = this; 808 gen->ools_ = this;
809 } 809 }
810 810
811 811
812 OutOfLineCode::~OutOfLineCode() {} 812 OutOfLineCode::~OutOfLineCode() {}
813 813
814 } // namespace compiler 814 } // namespace compiler
815 } // namespace internal 815 } // namespace internal
816 } // namespace v8 816 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm64/code-generator-arm64.cc ('k') | src/compiler/gap-resolver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698