| 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 332     } else if (g.CanBeImmediate(base, mode)) { | 332     } else if (g.CanBeImmediate(base, mode)) { | 
| 333       Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), | 333       Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), | 
| 334            g.UseRegister(offset), g.UseImmediate(base), g.UseRegister(value)); | 334            g.UseRegister(offset), g.UseImmediate(base), g.UseRegister(value)); | 
| 335     } else { | 335     } else { | 
| 336       Emit(opcode | AddressingModeField::encode(kMode_MRR), g.NoOutput(), | 336       Emit(opcode | AddressingModeField::encode(kMode_MRR), g.NoOutput(), | 
| 337            g.UseRegister(base), g.UseRegister(offset), g.UseRegister(value)); | 337            g.UseRegister(base), g.UseRegister(offset), g.UseRegister(value)); | 
| 338     } | 338     } | 
| 339   } | 339   } | 
| 340 } | 340 } | 
| 341 | 341 | 
|  | 342 void InstructionSelector::VisitProtectedStore(Node* node) { | 
|  | 343   // TODO(eholk) | 
|  | 344   UNIMPLEMENTED(); | 
|  | 345 } | 
|  | 346 | 
| 342 // Architecture supports unaligned access, therefore VisitLoad is used instead | 347 // Architecture supports unaligned access, therefore VisitLoad is used instead | 
| 343 void InstructionSelector::VisitUnalignedLoad(Node* node) { UNREACHABLE(); } | 348 void InstructionSelector::VisitUnalignedLoad(Node* node) { UNREACHABLE(); } | 
| 344 | 349 | 
| 345 // Architecture supports unaligned access, therefore VisitStore is used instead | 350 // Architecture supports unaligned access, therefore VisitStore is used instead | 
| 346 void InstructionSelector::VisitUnalignedStore(Node* node) { UNREACHABLE(); } | 351 void InstructionSelector::VisitUnalignedStore(Node* node) { UNREACHABLE(); } | 
| 347 | 352 | 
| 348 void InstructionSelector::VisitCheckedLoad(Node* node) { | 353 void InstructionSelector::VisitCheckedLoad(Node* node) { | 
| 349   CheckedLoadRepresentation load_rep = CheckedLoadRepresentationOf(node->op()); | 354   CheckedLoadRepresentation load_rep = CheckedLoadRepresentationOf(node->op()); | 
| 350   PPCOperandGenerator g(this); | 355   PPCOperandGenerator g(this); | 
| 351   Node* const base = node->InputAt(0); | 356   Node* const base = node->InputAt(0); | 
| (...skipping 1741 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2093 // static | 2098 // static | 
| 2094 MachineOperatorBuilder::AlignmentRequirements | 2099 MachineOperatorBuilder::AlignmentRequirements | 
| 2095 InstructionSelector::AlignmentRequirements() { | 2100 InstructionSelector::AlignmentRequirements() { | 
| 2096   return MachineOperatorBuilder::AlignmentRequirements:: | 2101   return MachineOperatorBuilder::AlignmentRequirements:: | 
| 2097       FullUnalignedAccessSupport(); | 2102       FullUnalignedAccessSupport(); | 
| 2098 } | 2103 } | 
| 2099 | 2104 | 
| 2100 }  // namespace compiler | 2105 }  // namespace compiler | 
| 2101 }  // namespace internal | 2106 }  // namespace internal | 
| 2102 }  // namespace v8 | 2107 }  // namespace v8 | 
| OLD | NEW | 
|---|