| 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/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
| 6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
| (...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1375 break; | 1375 break; |
| 1376 case kMipsLb: | 1376 case kMipsLb: |
| 1377 __ lb(i.OutputRegister(), i.MemoryOperand()); | 1377 __ lb(i.OutputRegister(), i.MemoryOperand()); |
| 1378 break; | 1378 break; |
| 1379 case kMipsSb: | 1379 case kMipsSb: |
| 1380 __ sb(i.InputRegister(2), i.MemoryOperand()); | 1380 __ sb(i.InputRegister(2), i.MemoryOperand()); |
| 1381 break; | 1381 break; |
| 1382 case kMipsLhu: | 1382 case kMipsLhu: |
| 1383 __ lhu(i.OutputRegister(), i.MemoryOperand()); | 1383 __ lhu(i.OutputRegister(), i.MemoryOperand()); |
| 1384 break; | 1384 break; |
| 1385 case kMipsUlhu: |
| 1386 __ Ulhu(i.OutputRegister(), i.MemoryOperand()); |
| 1387 break; |
| 1385 case kMipsLh: | 1388 case kMipsLh: |
| 1386 __ lh(i.OutputRegister(), i.MemoryOperand()); | 1389 __ lh(i.OutputRegister(), i.MemoryOperand()); |
| 1387 break; | 1390 break; |
| 1391 case kMipsUlh: |
| 1392 __ Ulh(i.OutputRegister(), i.MemoryOperand()); |
| 1393 break; |
| 1388 case kMipsSh: | 1394 case kMipsSh: |
| 1389 __ sh(i.InputRegister(2), i.MemoryOperand()); | 1395 __ sh(i.InputRegister(2), i.MemoryOperand()); |
| 1390 break; | 1396 break; |
| 1397 case kMipsUsh: |
| 1398 __ Ush(i.InputRegister(2), i.MemoryOperand(), kScratchReg); |
| 1399 break; |
| 1391 case kMipsLw: | 1400 case kMipsLw: |
| 1392 __ lw(i.OutputRegister(), i.MemoryOperand()); | 1401 __ lw(i.OutputRegister(), i.MemoryOperand()); |
| 1393 break; | 1402 break; |
| 1403 case kMipsUlw: |
| 1404 __ Ulw(i.OutputRegister(), i.MemoryOperand()); |
| 1405 break; |
| 1394 case kMipsSw: | 1406 case kMipsSw: |
| 1395 __ sw(i.InputRegister(2), i.MemoryOperand()); | 1407 __ sw(i.InputRegister(2), i.MemoryOperand()); |
| 1396 break; | 1408 break; |
| 1409 case kMipsUsw: |
| 1410 __ Usw(i.InputRegister(2), i.MemoryOperand()); |
| 1411 break; |
| 1397 case kMipsLwc1: { | 1412 case kMipsLwc1: { |
| 1398 __ lwc1(i.OutputSingleRegister(), i.MemoryOperand()); | 1413 __ lwc1(i.OutputSingleRegister(), i.MemoryOperand()); |
| 1399 break; | 1414 break; |
| 1400 } | 1415 } |
| 1416 case kMipsUlwc1: { |
| 1417 __ Ulwc1(i.OutputSingleRegister(), i.MemoryOperand(), kScratchReg); |
| 1418 break; |
| 1419 } |
| 1401 case kMipsSwc1: { | 1420 case kMipsSwc1: { |
| 1402 size_t index = 0; | 1421 size_t index = 0; |
| 1403 MemOperand operand = i.MemoryOperand(&index); | 1422 MemOperand operand = i.MemoryOperand(&index); |
| 1404 __ swc1(i.InputSingleRegister(index), operand); | 1423 __ swc1(i.InputSingleRegister(index), operand); |
| 1405 break; | 1424 break; |
| 1406 } | 1425 } |
| 1426 case kMipsUswc1: { |
| 1427 size_t index = 0; |
| 1428 MemOperand operand = i.MemoryOperand(&index); |
| 1429 __ Uswc1(i.InputSingleRegister(index), operand, kScratchReg); |
| 1430 break; |
| 1431 } |
| 1407 case kMipsLdc1: | 1432 case kMipsLdc1: |
| 1408 __ ldc1(i.OutputDoubleRegister(), i.MemoryOperand()); | 1433 __ ldc1(i.OutputDoubleRegister(), i.MemoryOperand()); |
| 1409 break; | 1434 break; |
| 1435 case kMipsUldc1: |
| 1436 __ Uldc1(i.OutputDoubleRegister(), i.MemoryOperand(), kScratchReg); |
| 1437 break; |
| 1410 case kMipsSdc1: | 1438 case kMipsSdc1: |
| 1411 __ sdc1(i.InputDoubleRegister(2), i.MemoryOperand()); | 1439 __ sdc1(i.InputDoubleRegister(2), i.MemoryOperand()); |
| 1412 break; | 1440 break; |
| 1441 case kMipsUsdc1: |
| 1442 __ Usdc1(i.InputDoubleRegister(2), i.MemoryOperand(), kScratchReg); |
| 1443 break; |
| 1413 case kMipsPush: | 1444 case kMipsPush: |
| 1414 if (instr->InputAt(0)->IsFPRegister()) { | 1445 if (instr->InputAt(0)->IsFPRegister()) { |
| 1415 __ sdc1(i.InputDoubleRegister(0), MemOperand(sp, -kDoubleSize)); | 1446 __ sdc1(i.InputDoubleRegister(0), MemOperand(sp, -kDoubleSize)); |
| 1416 __ Subu(sp, sp, Operand(kDoubleSize)); | 1447 __ Subu(sp, sp, Operand(kDoubleSize)); |
| 1417 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); | 1448 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); |
| 1418 } else { | 1449 } else { |
| 1419 __ Push(i.InputRegister(0)); | 1450 __ Push(i.InputRegister(0)); |
| 1420 frame_access_state()->IncreaseSPDelta(1); | 1451 frame_access_state()->IncreaseSPDelta(1); |
| 1421 } | 1452 } |
| 1422 break; | 1453 break; |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2125 padding_size -= v8::internal::Assembler::kInstrSize; | 2156 padding_size -= v8::internal::Assembler::kInstrSize; |
| 2126 } | 2157 } |
| 2127 } | 2158 } |
| 2128 } | 2159 } |
| 2129 | 2160 |
| 2130 #undef __ | 2161 #undef __ |
| 2131 | 2162 |
| 2132 } // namespace compiler | 2163 } // namespace compiler |
| 2133 } // namespace internal | 2164 } // namespace internal |
| 2134 } // namespace v8 | 2165 } // namespace v8 |
| OLD | NEW |