Index: src/compiler/instruction.h |
diff --git a/src/compiler/instruction.h b/src/compiler/instruction.h |
index b6fcb3c074aaa8a441d38e7f5c7746c0f8a34857..8a6006a424dea35fb8e3a55929f3b9484ec3bf06 100644 |
--- a/src/compiler/instruction.h |
+++ b/src/compiler/instruction.h |
@@ -332,6 +332,11 @@ class SubKindOperand FINAL : public InstructionOperand { |
return reinterpret_cast<SubKindOperand*>(op); |
} |
+ static const SubKindOperand* cast(const InstructionOperand* op) { |
+ DCHECK(op->kind() == kOperandKind); |
+ return reinterpret_cast<const SubKindOperand*>(op); |
+ } |
+ |
static void SetUpCache(); |
static void TearDownCache(); |
@@ -581,7 +586,7 @@ class GapInstruction : public Instruction { |
return parallel_moves_[pos]; |
} |
- ParallelMove* GetParallelMove(InnerPosition pos) { |
+ ParallelMove* GetParallelMove(InnerPosition pos) const { |
return parallel_moves_[pos]; |
} |
@@ -917,6 +922,7 @@ class InstructionSequence FINAL { |
typedef InstructionDeque::const_iterator const_iterator; |
const_iterator begin() const { return instructions_.begin(); } |
const_iterator end() const { return instructions_.end(); } |
+ const InstructionDeque& instructions() const { return instructions_; } |
GapInstruction* GapAt(int index) const { |
return GapInstruction::cast(InstructionAt(index)); |