Chromium Code Reviews| Index: src/interpreter/bytecode-array-iterator.h |
| diff --git a/src/interpreter/bytecode-array-iterator.h b/src/interpreter/bytecode-array-iterator.h |
| index 5379bbf0288d3140db0e8114b2f7080c924289f1..6c10938e8892dbca7035d1ce53af01c6d7b22030 100644 |
| --- a/src/interpreter/bytecode-array-iterator.h |
| +++ b/src/interpreter/bytecode-array-iterator.h |
| @@ -23,20 +23,26 @@ class BytecodeArrayIterator { |
| int current_bytecode_size() const; |
| void set_current_offset(int offset) { bytecode_offset_ = offset; } |
|
rmcilroy
2016/03/11 11:35:20
Just though about this - we need to do something f
oth
2016/03/11 16:26:13
Good catch.
The latest rev does multiple Advance(
|
| int current_offset() const { return bytecode_offset_; } |
| + int current_operand_scale() const { return operand_scale_; } |
| + int current_prefix_offset() const { return prefix_offset_; } |
| const Handle<BytecodeArray>& bytecode_array() const { |
| return bytecode_array_; |
| } |
| - int8_t GetImmediateOperand(int operand_index) const; |
| - int GetIndexOperand(int operand_index) const; |
| - int GetRegisterCountOperand(int operand_index) const; |
| + uint32_t GetFlagOperand(int operand_index) const; |
| + int32_t GetImmediateOperand(int operand_index) const; |
| + uint32_t GetIndexOperand(int operand_index) const; |
| + uint32_t GetRegisterCountOperand(int operand_index) const; |
| Register GetRegisterOperand(int operand_index) const; |
| int GetRegisterOperandRange(int operand_index) const; |
| + uint32_t GetRuntimeIdOperand(int operand_index) const; |
| Handle<Object> GetConstantForIndexOperand(int operand_index) const; |
| // Get the raw byte for the given operand. Note: you should prefer using the |
| // typed versions above which cast the return to an appropriate type. |
| uint32_t GetRawOperand(int operand_index, OperandType operand_type) const; |
| + int32_t GetRawOperandSigned(int operand_index, |
| + OperandType operand_type) const; |
| // Returns the absolute offset of the branch target at the current |
| // bytecode. It is an error to call this method if the bytecode is |
| @@ -44,8 +50,12 @@ class BytecodeArrayIterator { |
| int GetJumpTargetOffset() const; |
| private: |
| + void update_operand_scale(); |
| + |
| Handle<BytecodeArray> bytecode_array_; |
| int bytecode_offset_; |
| + int operand_scale_; |
| + int prefix_offset_; |
| DISALLOW_COPY_AND_ASSIGN(BytecodeArrayIterator); |
| }; |