| 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/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
| 8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
| 9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
| 10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
| (...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1314 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); | 1314 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); |
| 1315 } else { | 1315 } else { |
| 1316 __ Push(i.InputRegister(0)); | 1316 __ Push(i.InputRegister(0)); |
| 1317 frame_access_state()->IncreaseSPDelta(1); | 1317 frame_access_state()->IncreaseSPDelta(1); |
| 1318 } | 1318 } |
| 1319 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1319 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
| 1320 break; | 1320 break; |
| 1321 case kPPC_PushFrame: { | 1321 case kPPC_PushFrame: { |
| 1322 int num_slots = i.InputInt32(1); | 1322 int num_slots = i.InputInt32(1); |
| 1323 if (instr->InputAt(0)->IsDoubleRegister()) { | 1323 if (instr->InputAt(0)->IsDoubleRegister()) { |
| 1324 __ stfdu(i.InputDoubleRegister(0), | 1324 __ StoreDoubleU(i.InputDoubleRegister(0), |
| 1325 MemOperand(sp, -num_slots * kPointerSize)); | 1325 MemOperand(sp, -num_slots * kPointerSize), r0); |
| 1326 } else { | 1326 } else { |
| 1327 __ StorePU(i.InputRegister(0), | 1327 __ StorePU(i.InputRegister(0), |
| 1328 MemOperand(sp, -num_slots * kPointerSize), r0); | 1328 MemOperand(sp, -num_slots * kPointerSize), r0); |
| 1329 } | 1329 } |
| 1330 break; | 1330 break; |
| 1331 } | 1331 } |
| 1332 case kPPC_StoreToStackSlot: { | 1332 case kPPC_StoreToStackSlot: { |
| 1333 int slot = i.InputInt32(1); | 1333 int slot = i.InputInt32(1); |
| 1334 if (instr->InputAt(0)->IsDoubleRegister()) { | 1334 if (instr->InputAt(0)->IsDoubleRegister()) { |
| 1335 __ stfd(i.InputDoubleRegister(0), MemOperand(sp, slot * kPointerSize)); | 1335 __ StoreDouble(i.InputDoubleRegister(0), |
| 1336 MemOperand(sp, slot * kPointerSize), r0); |
| 1336 } else { | 1337 } else { |
| 1337 __ StoreP(i.InputRegister(0), MemOperand(sp, slot * kPointerSize), r0); | 1338 __ StoreP(i.InputRegister(0), MemOperand(sp, slot * kPointerSize), r0); |
| 1338 } | 1339 } |
| 1339 break; | 1340 break; |
| 1340 } | 1341 } |
| 1341 case kPPC_ExtendSignWord8: | 1342 case kPPC_ExtendSignWord8: |
| 1342 __ extsb(i.OutputRegister(), i.InputRegister(0)); | 1343 __ extsb(i.OutputRegister(), i.InputRegister(0)); |
| 1343 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1344 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
| 1344 break; | 1345 break; |
| 1345 case kPPC_ExtendSignWord16: | 1346 case kPPC_ExtendSignWord16: |
| (...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2110 padding_size -= v8::internal::Assembler::kInstrSize; | 2111 padding_size -= v8::internal::Assembler::kInstrSize; |
| 2111 } | 2112 } |
| 2112 } | 2113 } |
| 2113 } | 2114 } |
| 2114 | 2115 |
| 2115 #undef __ | 2116 #undef __ |
| 2116 | 2117 |
| 2117 } // namespace compiler | 2118 } // namespace compiler |
| 2118 } // namespace internal | 2119 } // namespace internal |
| 2119 } // namespace v8 | 2120 } // namespace v8 |
| OLD | NEW |