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

Side by Side Diff: src/compiler/arm64/instruction-selector-arm64.cc

Issue 2874713003: [turbofan] Reland of `Add alignment parameter to StackSlot operator` (Closed)
Patch Set: Fix failures with control flow integrity bots Created 3 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/arm/instruction-selector-arm.cc ('k') | src/compiler/frame.h » ('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 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/assembler-inl.h" 5 #include "src/assembler-inl.h"
6 #include "src/compiler/instruction-selector-impl.h" 6 #include "src/compiler/instruction-selector-impl.h"
7 #include "src/compiler/node-matchers.h" 7 #include "src/compiler/node-matchers.h"
8 #include "src/compiler/node-properties.h" 8 #include "src/compiler/node-properties.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 uint64_t value_minus_one = m->right().Value() - 1; 520 uint64_t value_minus_one = m->right().Value() - 1;
521 if (base::bits::IsPowerOfTwo64(value_minus_one)) { 521 if (base::bits::IsPowerOfTwo64(value_minus_one)) {
522 return WhichPowerOf2_64(value_minus_one); 522 return WhichPowerOf2_64(value_minus_one);
523 } 523 }
524 } 524 }
525 return 0; 525 return 0;
526 } 526 }
527 527
528 } // namespace 528 } // namespace
529 529
530 void InstructionSelector::VisitStackSlot(Node* node) {
531 StackSlotRepresentation rep = StackSlotRepresentationOf(node->op());
532 int slot = frame_->AllocateSpillSlot(rep.size());
533 OperandGenerator g(this);
534
535 Emit(kArchStackSlot, g.DefineAsRegister(node),
536 sequence()->AddImmediate(Constant(slot)), 0, nullptr);
537 }
538
530 void EmitLoad(InstructionSelector* selector, Node* node, InstructionCode opcode, 539 void EmitLoad(InstructionSelector* selector, Node* node, InstructionCode opcode,
531 ImmediateMode immediate_mode, MachineRepresentation rep, 540 ImmediateMode immediate_mode, MachineRepresentation rep,
532 Node* output = nullptr) { 541 Node* output = nullptr) {
533 Arm64OperandGenerator g(selector); 542 Arm64OperandGenerator g(selector);
534 Node* base = node->InputAt(0); 543 Node* base = node->InputAt(0);
535 Node* index = node->InputAt(1); 544 Node* index = node->InputAt(1);
536 InstructionOperand inputs[3]; 545 InstructionOperand inputs[3];
537 size_t input_count = 0; 546 size_t input_count = 0;
538 InstructionOperand outputs[1]; 547 InstructionOperand outputs[1];
539 548
(...skipping 2326 matching lines...) Expand 10 before | Expand all | Expand 10 after
2866 // static 2875 // static
2867 MachineOperatorBuilder::AlignmentRequirements 2876 MachineOperatorBuilder::AlignmentRequirements
2868 InstructionSelector::AlignmentRequirements() { 2877 InstructionSelector::AlignmentRequirements() {
2869 return MachineOperatorBuilder::AlignmentRequirements:: 2878 return MachineOperatorBuilder::AlignmentRequirements::
2870 FullUnalignedAccessSupport(); 2879 FullUnalignedAccessSupport();
2871 } 2880 }
2872 2881
2873 } // namespace compiler 2882 } // namespace compiler
2874 } // namespace internal 2883 } // namespace internal
2875 } // namespace v8 2884 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm/instruction-selector-arm.cc ('k') | src/compiler/frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698