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

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

Issue 2301833004: [wasm] Trap handling: ProtectedLoad instruction (Closed)
Patch Set: Add VisitProtectedLoad stubs for other architectures Created 4 years, 3 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/machine-operator.cc ('k') | src/compiler/mips64/instruction-selector-mips64.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 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/base/adapters.h" 5 #include "src/base/adapters.h"
6 #include "src/base/bits.h" 6 #include "src/base/bits.h"
7 #include "src/compiler/instruction-selector-impl.h" 7 #include "src/compiler/instruction-selector-impl.h"
8 #include "src/compiler/node-matchers.h" 8 #include "src/compiler/node-matchers.h"
9 #include "src/compiler/node-properties.h" 9 #include "src/compiler/node-properties.h"
10 10
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 } else { 178 } else {
179 InstructionOperand addr_reg = g.TempRegister(); 179 InstructionOperand addr_reg = g.TempRegister();
180 Emit(kMipsAdd | AddressingModeField::encode(kMode_None), addr_reg, 180 Emit(kMipsAdd | AddressingModeField::encode(kMode_None), addr_reg,
181 g.UseRegister(index), g.UseRegister(base)); 181 g.UseRegister(index), g.UseRegister(base));
182 // Emit desired load opcode, using temp addr_reg. 182 // Emit desired load opcode, using temp addr_reg.
183 Emit(opcode | AddressingModeField::encode(kMode_MRI), 183 Emit(opcode | AddressingModeField::encode(kMode_MRI),
184 g.DefineAsRegister(node), addr_reg, g.TempImmediate(0)); 184 g.DefineAsRegister(node), addr_reg, g.TempImmediate(0));
185 } 185 }
186 } 186 }
187 187
188 void InstructionSelector::VisitProtectedLoad(Node* node) {
189 // TODO(eholk)
190 UNIMPLEMENTED();
191 }
188 192
189 void InstructionSelector::VisitStore(Node* node) { 193 void InstructionSelector::VisitStore(Node* node) {
190 MipsOperandGenerator g(this); 194 MipsOperandGenerator g(this);
191 Node* base = node->InputAt(0); 195 Node* base = node->InputAt(0);
192 Node* index = node->InputAt(1); 196 Node* index = node->InputAt(1);
193 Node* value = node->InputAt(2); 197 Node* value = node->InputAt(2);
194 198
195 StoreRepresentation store_rep = StoreRepresentationOf(node->op()); 199 StoreRepresentation store_rep = StoreRepresentationOf(node->op());
196 WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind(); 200 WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind();
197 MachineRepresentation rep = store_rep.representation(); 201 MachineRepresentation rep = store_rep.representation();
(...skipping 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || 1662 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) ||
1659 IsMipsArchVariant(kMips32r2)); 1663 IsMipsArchVariant(kMips32r2));
1660 return MachineOperatorBuilder::AlignmentRequirements:: 1664 return MachineOperatorBuilder::AlignmentRequirements::
1661 NoUnalignedAccessSupport(); 1665 NoUnalignedAccessSupport();
1662 } 1666 }
1663 } 1667 }
1664 1668
1665 } // namespace compiler 1669 } // namespace compiler
1666 } // namespace internal 1670 } // namespace internal
1667 } // namespace v8 1671 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/machine-operator.cc ('k') | src/compiler/mips64/instruction-selector-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698