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(), |