| 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/compiler/instruction-selector-impl.h" |     5 #include "src/compiler/instruction-selector-impl.h" | 
|     6 #include "src/compiler/node-matchers.h" |     6 #include "src/compiler/node-matchers.h" | 
|     7 #include "src/compiler/node-properties.h" |     7 #include "src/compiler/node-properties.h" | 
|     8  |     8  | 
|     9 namespace v8 { |     9 namespace v8 { | 
|    10 namespace internal { |    10 namespace internal { | 
| (...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   599   Node* base = node->InputAt(0); |   599   Node* base = node->InputAt(0); | 
|   600   Node* index = node->InputAt(1); |   600   Node* index = node->InputAt(1); | 
|   601   Node* value = node->InputAt(2); |   601   Node* value = node->InputAt(2); | 
|   602  |   602  | 
|   603   StoreRepresentation store_rep = StoreRepresentationOf(node->op()); |   603   StoreRepresentation store_rep = StoreRepresentationOf(node->op()); | 
|   604   WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind(); |   604   WriteBarrierKind write_barrier_kind = store_rep.write_barrier_kind(); | 
|   605   MachineRepresentation rep = store_rep.representation(); |   605   MachineRepresentation rep = store_rep.representation(); | 
|   606  |   606  | 
|   607   // TODO(arm64): I guess this could be done in a better way. |   607   // TODO(arm64): I guess this could be done in a better way. | 
|   608   if (write_barrier_kind != kNoWriteBarrier) { |   608   if (write_barrier_kind != kNoWriteBarrier) { | 
|   609     DCHECK_EQ(MachineRepresentation::kTagged, rep); |   609     DCHECK(CanBeTaggedPointer(rep)); | 
|   610     AddressingMode addressing_mode; |   610     AddressingMode addressing_mode; | 
|   611     InstructionOperand inputs[3]; |   611     InstructionOperand inputs[3]; | 
|   612     size_t input_count = 0; |   612     size_t input_count = 0; | 
|   613     inputs[input_count++] = g.UseUniqueRegister(base); |   613     inputs[input_count++] = g.UseUniqueRegister(base); | 
|   614     // OutOfLineRecordWrite uses the index in an arithmetic instruction, so we |   614     // OutOfLineRecordWrite uses the index in an arithmetic instruction, so we | 
|   615     // must check kArithmeticImm as well as kLoadStoreImm64. |   615     // must check kArithmeticImm as well as kLoadStoreImm64. | 
|   616     if (g.CanBeImmediate(index, kArithmeticImm) && |   616     if (g.CanBeImmediate(index, kArithmeticImm) && | 
|   617         g.CanBeImmediate(index, kLoadStoreImm64)) { |   617         g.CanBeImmediate(index, kLoadStoreImm64)) { | 
|   618       inputs[input_count++] = g.UseImmediate(index); |   618       inputs[input_count++] = g.UseImmediate(index); | 
|   619       addressing_mode = kMode_MRI; |   619       addressing_mode = kMode_MRI; | 
| (...skipping 2170 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2790 // static |  2790 // static | 
|  2791 MachineOperatorBuilder::AlignmentRequirements |  2791 MachineOperatorBuilder::AlignmentRequirements | 
|  2792 InstructionSelector::AlignmentRequirements() { |  2792 InstructionSelector::AlignmentRequirements() { | 
|  2793   return MachineOperatorBuilder::AlignmentRequirements:: |  2793   return MachineOperatorBuilder::AlignmentRequirements:: | 
|  2794       FullUnalignedAccessSupport(); |  2794       FullUnalignedAccessSupport(); | 
|  2795 } |  2795 } | 
|  2796  |  2796  | 
|  2797 }  // namespace compiler |  2797 }  // namespace compiler | 
|  2798 }  // namespace internal |  2798 }  // namespace internal | 
|  2799 }  // namespace v8 |  2799 }  // namespace v8 | 
| OLD | NEW |