Chromium Code Reviews| Index: src/interpreter/bytecodes.h |
| diff --git a/src/interpreter/bytecodes.h b/src/interpreter/bytecodes.h |
| index 5af551376893d3c1bf3c1f1df87e475343eb530f..9bea3913d37577c9b40d11f184e0e05049b011f5 100644 |
| --- a/src/interpreter/bytecodes.h |
| +++ b/src/interpreter/bytecodes.h |
| @@ -29,8 +29,9 @@ namespace interpreter { |
| V(MaybeReg8, OperandSize::kByte) \ |
| \ |
| /* Short operands. */ \ |
| + V(Idx16, OperandSize::kShort) \ |
|
rmcilroy
2016/01/04 11:54:54
nit - alphabetical ordering?
oth
2016/01/04 14:01:42
Done.
|
| V(Count16, OperandSize::kShort) \ |
| - V(Idx16, OperandSize::kShort) |
| + V(Reg16, OperandSize::kShort) |
| // The list of bytecodes which are interpreted by the interpreter. |
| #define BYTECODE_LIST(V) \ |
| @@ -78,6 +79,8 @@ namespace interpreter { |
| \ |
| /* Register-register transfers */ \ |
| V(Mov, OperandType::kReg8, OperandType::kReg8) \ |
| + V(Exchange, OperandType::kReg8, OperandType::kReg16) \ |
|
rmcilroy
2016/01/04 11:54:54
Is it worth having the non-wide version? It only s
oth
2016/01/04 14:01:42
I've not found a case that would need it in the ne
|
| + V(ExchangeWide, OperandType::kReg16, OperandType::kReg16) \ |
| \ |
| /* LoadIC operations */ \ |
| V(LoadICSloppy, OperandType::kReg8, OperandType::kIdx8, OperandType::kIdx8) \ |
| @@ -254,10 +257,7 @@ class Register { |
| Register() : index_(kIllegalIndex) {} |
| - explicit Register(int index) : index_(index) { |
| - DCHECK_LE(index_, kMaxRegisterIndex); |
| - DCHECK_GE(index_, kMinRegisterIndex); |
| - } |
| + explicit Register(int index) : index_(index) {} |
| int index() const { |
| DCHECK(index_ != kIllegalIndex); |
| @@ -285,6 +285,9 @@ class Register { |
| static Register FromOperand(uint8_t operand); |
| uint8_t ToOperand() const; |
| + static Register FromWideOperand(uint16_t operand); |
| + uint16_t ToWideOperand() const; |
| + |
| static bool AreContiguous(Register reg1, Register reg2, |
| Register reg3 = Register(), |
| Register reg4 = Register(), |