Index: src/interpreter/bytecode-array-accessor.h |
diff --git a/src/interpreter/bytecode-array-iterator.h b/src/interpreter/bytecode-array-accessor.h |
similarity index 80% |
copy from src/interpreter/bytecode-array-iterator.h |
copy to src/interpreter/bytecode-array-accessor.h |
index 03279cbd431dcad7ed403d8193472204fc9150f5..efe9e6605eefb90a4110b36bfbac426ae3927b3a 100644 |
--- a/src/interpreter/bytecode-array-iterator.h |
+++ b/src/interpreter/bytecode-array-accessor.h |
@@ -1,9 +1,9 @@ |
-// Copyright 2015 the V8 project authors. All rights reserved. |
+// Copyright 2016 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_ |
+#ifndef V8_INTERPRETER_BYTECODE_ARRAY_ACCESSOR_H_ |
+#define V8_INTERPRETER_BYTECODE_ARRAY_ACCESSOR_H_ |
#include "src/globals.h" |
#include "src/handles.h" |
@@ -16,12 +16,13 @@ namespace v8 { |
namespace internal { |
namespace interpreter { |
-class V8_EXPORT_PRIVATE BytecodeArrayIterator { |
+class V8_EXPORT_PRIVATE BytecodeArrayAccessor { |
public: |
- explicit BytecodeArrayIterator(Handle<BytecodeArray> bytecode_array); |
+ BytecodeArrayAccessor(Handle<BytecodeArray> bytecode_array, |
+ int initial_offset); |
+ |
+ void SetOffset(int offset); |
- void Advance(); |
- bool done() const; |
Bytecode current_bytecode() const; |
int current_bytecode_size() const; |
int current_offset() const { return bytecode_offset_; } |
@@ -48,6 +49,8 @@ class V8_EXPORT_PRIVATE BytecodeArrayIterator { |
int GetJumpTargetOffset() const; |
private: |
+ bool OffsetInBounds() const; |
+ |
uint32_t GetUnsignedOperand(int operand_index, |
OperandType operand_type) const; |
int32_t GetSignedOperand(int operand_index, OperandType operand_type) const; |
@@ -59,11 +62,11 @@ class V8_EXPORT_PRIVATE BytecodeArrayIterator { |
OperandScale operand_scale_; |
int prefix_offset_; |
- DISALLOW_COPY_AND_ASSIGN(BytecodeArrayIterator); |
+ DISALLOW_COPY_AND_ASSIGN(BytecodeArrayAccessor); |
}; |
} // namespace interpreter |
} // namespace internal |
} // namespace v8 |
-#endif // V8_INTERPRETER_BYTECODE_GRAPH_ITERATOR_H_ |
+#endif // V8_INTERPRETER_BYTECODE_GRAPH_ACCESSOR_H_ |