| Index: src/interpreter/bytecode-array-iterator.h
 | 
| diff --git a/src/interpreter/bytecode-array-iterator.h b/src/interpreter/bytecode-array-iterator.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..a66fa91767be7df3c4c56bfe62ac20819e90016a
 | 
| --- /dev/null
 | 
| +++ b/src/interpreter/bytecode-array-iterator.h
 | 
| @@ -0,0 +1,54 @@
 | 
| +// Copyright 2015 the V8 project authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +#ifndef V8_INTERPRETER_BYTECODE_ARRAY_ITERATOR_H_
 | 
| +#define V8_INTERPRETER_BYTECODE_ARRAY_ITERATOR_H_
 | 
| +
 | 
| +#include "src/handles.h"
 | 
| +#include "src/interpreter/bytecodes.h"
 | 
| +#include "src/objects.h"
 | 
| +
 | 
| +namespace v8 {
 | 
| +namespace internal {
 | 
| +namespace interpreter {
 | 
| +
 | 
| +class BytecodeArrayIterator {
 | 
| + public:
 | 
| +  explicit BytecodeArrayIterator(Handle<BytecodeArray> bytecode_array);
 | 
| +  ~BytecodeArrayIterator();
 | 
| +
 | 
| +  void Next();
 | 
| +  bool More() const;
 | 
| +
 | 
| +  int8_t GetSmi8Operand(int operand_index) const;
 | 
| +  int GetIndexOperand(int operand_index) const;
 | 
| +  Register GetRegisterOperand(int operand_index) const;
 | 
| +  Handle<Object> GetConstantForIndexOperand(int operand_index) const;
 | 
| +
 | 
| +  const Handle<BytecodeArray>& bytecode_array() const {
 | 
| +    return bytecode_array_;
 | 
| +  }
 | 
| +
 | 
| +  Bytecode current_bytecode() const;
 | 
| +
 | 
| + private:
 | 
| +  uint8_t GetOperand(int operand_index, OperandType operand_type) const;
 | 
| +
 | 
| +  void MarkOperandsUnused();
 | 
| +  void CheckOperandsUsed() const;
 | 
| +  void MarkOperandUsed(int operand_index) const;
 | 
| +
 | 
| +  Handle<BytecodeArray> bytecode_array_;
 | 
| +  int bytecode_offset_;
 | 
| +#ifdef DEBUG
 | 
| +  mutable int operands_used_;
 | 
| +#endif  // DEBUG
 | 
| +  DISALLOW_COPY_AND_ASSIGN(BytecodeArrayIterator);
 | 
| +};
 | 
| +
 | 
| +}  // namespace interpreter
 | 
| +}  // namespace internal
 | 
| +}  // namespace v8
 | 
| +
 | 
| +#endif  // V8_INTERPRETER_BYTECODE_GRAPH_ITERATOR_H_
 | 
| 
 |