OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/interpreter/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 } | 445 } |
446 | 446 |
447 Node* InterpreterAssembler::BytecodeOperandImmIntPtr(int operand_index) { | 447 Node* InterpreterAssembler::BytecodeOperandImmIntPtr(int operand_index) { |
448 return ChangeInt32ToIntPtr(BytecodeOperandImm(operand_index)); | 448 return ChangeInt32ToIntPtr(BytecodeOperandImm(operand_index)); |
449 } | 449 } |
450 | 450 |
451 Node* InterpreterAssembler::BytecodeOperandImmSmi(int operand_index) { | 451 Node* InterpreterAssembler::BytecodeOperandImmSmi(int operand_index) { |
452 return SmiFromWord32(BytecodeOperandImm(operand_index)); | 452 return SmiFromWord32(BytecodeOperandImm(operand_index)); |
453 } | 453 } |
454 | 454 |
455 Node* InterpreterAssembler::BytecodeOperandIdx(int operand_index) { | 455 Node* InterpreterAssembler::BytecodeOperandIdxInt32(int operand_index) { |
456 DCHECK(OperandType::kIdx == | 456 DCHECK(OperandType::kIdx == |
457 Bytecodes::GetOperandType(bytecode_, operand_index)); | 457 Bytecodes::GetOperandType(bytecode_, operand_index)); |
458 OperandSize operand_size = | 458 OperandSize operand_size = |
459 Bytecodes::GetOperandSize(bytecode_, operand_index, operand_scale()); | 459 Bytecodes::GetOperandSize(bytecode_, operand_index, operand_scale()); |
460 return ChangeUint32ToWord( | 460 return BytecodeUnsignedOperand(operand_index, operand_size); |
461 BytecodeUnsignedOperand(operand_index, operand_size)); | 461 } |
| 462 |
| 463 Node* InterpreterAssembler::BytecodeOperandIdx(int operand_index) { |
| 464 return ChangeUint32ToWord(BytecodeOperandIdxInt32(operand_index)); |
462 } | 465 } |
463 | 466 |
464 Node* InterpreterAssembler::BytecodeOperandIdxSmi(int operand_index) { | 467 Node* InterpreterAssembler::BytecodeOperandIdxSmi(int operand_index) { |
465 return SmiTag(BytecodeOperandIdx(operand_index)); | 468 return SmiTag(BytecodeOperandIdx(operand_index)); |
466 } | 469 } |
467 | 470 |
468 Node* InterpreterAssembler::BytecodeOperandReg(int operand_index) { | 471 Node* InterpreterAssembler::BytecodeOperandReg(int operand_index) { |
469 DCHECK(Bytecodes::IsRegisterOperandType( | 472 DCHECK(Bytecodes::IsRegisterOperandType( |
470 Bytecodes::GetOperandType(bytecode_, operand_index))); | 473 Bytecodes::GetOperandType(bytecode_, operand_index))); |
471 OperandSize operand_size = | 474 OperandSize operand_size = |
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1419 Goto(&loop); | 1422 Goto(&loop); |
1420 } | 1423 } |
1421 Bind(&done_loop); | 1424 Bind(&done_loop); |
1422 | 1425 |
1423 return array; | 1426 return array; |
1424 } | 1427 } |
1425 | 1428 |
1426 } // namespace interpreter | 1429 } // namespace interpreter |
1427 } // namespace internal | 1430 } // namespace internal |
1428 } // namespace v8 | 1431 } // namespace v8 |
OLD | NEW |