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

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

Issue 1775083002: [turbofan] Fix register constraint for memory barrier. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix other platforms, too Created 4 years, 9 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
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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind(); 187 WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind();
188 MachineRepresentation rep = store_rep.representation(); 188 MachineRepresentation rep = store_rep.representation();
189 189
190 // TODO(mips): I guess this could be done in a better way. 190 // TODO(mips): I guess this could be done in a better way.
191 if (write_barrier_kind != kNoWriteBarrier) { 191 if (write_barrier_kind != kNoWriteBarrier) {
192 DCHECK_EQ(MachineRepresentation::kTagged, rep); 192 DCHECK_EQ(MachineRepresentation::kTagged, rep);
193 InstructionOperand inputs[3]; 193 InstructionOperand inputs[3];
194 size_t input_count = 0; 194 size_t input_count = 0;
195 inputs[input_count++] = g.UseUniqueRegister(base); 195 inputs[input_count++] = g.UseUniqueRegister(base);
196 inputs[input_count++] = g.UseUniqueRegister(index); 196 inputs[input_count++] = g.UseUniqueRegister(index);
197 inputs[input_count++] = (write_barrier_kind == kMapWriteBarrier) 197 inputs[input_count++] = g.UseUniqueRegister(value);
198 ? g.UseRegister(value)
199 : g.UseUniqueRegister(value);
200 RecordWriteMode record_write_mode = RecordWriteMode::kValueIsAny; 198 RecordWriteMode record_write_mode = RecordWriteMode::kValueIsAny;
201 switch (write_barrier_kind) { 199 switch (write_barrier_kind) {
202 case kNoWriteBarrier: 200 case kNoWriteBarrier:
203 UNREACHABLE(); 201 UNREACHABLE();
204 break; 202 break;
205 case kMapWriteBarrier: 203 case kMapWriteBarrier:
206 record_write_mode = RecordWriteMode::kValueIsMap; 204 record_write_mode = RecordWriteMode::kValueIsMap;
207 break; 205 break;
208 case kPointerWriteBarrier: 206 case kPointerWriteBarrier:
209 record_write_mode = RecordWriteMode::kValueIsPointer; 207 record_write_mode = RecordWriteMode::kValueIsPointer;
(...skipping 1180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1390 MachineOperatorBuilder::kFloat32Max | 1388 MachineOperatorBuilder::kFloat32Max |
1391 MachineOperatorBuilder::kFloat32RoundDown | 1389 MachineOperatorBuilder::kFloat32RoundDown |
1392 MachineOperatorBuilder::kFloat32RoundUp | 1390 MachineOperatorBuilder::kFloat32RoundUp |
1393 MachineOperatorBuilder::kFloat32RoundTruncate | 1391 MachineOperatorBuilder::kFloat32RoundTruncate |
1394 MachineOperatorBuilder::kFloat32RoundTiesEven; 1392 MachineOperatorBuilder::kFloat32RoundTiesEven;
1395 } 1393 }
1396 1394
1397 } // namespace compiler 1395 } // namespace compiler
1398 } // namespace internal 1396 } // namespace internal
1399 } // namespace v8 1397 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/mips64/instruction-selector-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698