OLD | NEW |
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/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 #include "src/ppc/frames-ppc.h" | 9 #include "src/ppc/frames-ppc.h" |
10 | 10 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 #if V8_TARGET_ARCH_PPC64 | 245 #if V8_TARGET_ARCH_PPC64 |
246 && g.CanBeImmediate(offset, kInt16Imm_4ByteAligned) | 246 && g.CanBeImmediate(offset, kInt16Imm_4ByteAligned) |
247 #endif | 247 #endif |
248 ) { | 248 ) { |
249 inputs[input_count++] = g.UseImmediate(offset); | 249 inputs[input_count++] = g.UseImmediate(offset); |
250 addressing_mode = kMode_MRI; | 250 addressing_mode = kMode_MRI; |
251 } else { | 251 } else { |
252 inputs[input_count++] = g.UseUniqueRegister(offset); | 252 inputs[input_count++] = g.UseUniqueRegister(offset); |
253 addressing_mode = kMode_MRR; | 253 addressing_mode = kMode_MRR; |
254 } | 254 } |
255 inputs[input_count++] = (write_barrier_kind == kMapWriteBarrier) | 255 inputs[input_count++] = g.UseUniqueRegister(value); |
256 ? g.UseRegister(value) | |
257 : g.UseUniqueRegister(value); | |
258 RecordWriteMode record_write_mode = RecordWriteMode::kValueIsAny; | 256 RecordWriteMode record_write_mode = RecordWriteMode::kValueIsAny; |
259 switch (write_barrier_kind) { | 257 switch (write_barrier_kind) { |
260 case kNoWriteBarrier: | 258 case kNoWriteBarrier: |
261 UNREACHABLE(); | 259 UNREACHABLE(); |
262 break; | 260 break; |
263 case kMapWriteBarrier: | 261 case kMapWriteBarrier: |
264 record_write_mode = RecordWriteMode::kValueIsMap; | 262 record_write_mode = RecordWriteMode::kValueIsMap; |
265 break; | 263 break; |
266 case kPointerWriteBarrier: | 264 case kPointerWriteBarrier: |
267 record_write_mode = RecordWriteMode::kValueIsPointer; | 265 record_write_mode = RecordWriteMode::kValueIsPointer; |
(...skipping 1565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1833 MachineOperatorBuilder::kFloat64RoundTruncate | | 1831 MachineOperatorBuilder::kFloat64RoundTruncate | |
1834 MachineOperatorBuilder::kFloat64RoundTiesAway | | 1832 MachineOperatorBuilder::kFloat64RoundTiesAway | |
1835 MachineOperatorBuilder::kWord32Popcnt | | 1833 MachineOperatorBuilder::kWord32Popcnt | |
1836 MachineOperatorBuilder::kWord64Popcnt; | 1834 MachineOperatorBuilder::kWord64Popcnt; |
1837 // We omit kWord32ShiftIsSafe as s[rl]w use 0x3f as a mask rather than 0x1f. | 1835 // We omit kWord32ShiftIsSafe as s[rl]w use 0x3f as a mask rather than 0x1f. |
1838 } | 1836 } |
1839 | 1837 |
1840 } // namespace compiler | 1838 } // namespace compiler |
1841 } // namespace internal | 1839 } // namespace internal |
1842 } // namespace v8 | 1840 } // namespace v8 |
OLD | NEW |