Index: src/compiler/instruction.cc |
diff --git a/src/compiler/instruction.cc b/src/compiler/instruction.cc |
index 177de6f379a4fc231677f5c8caccccec264cbd7f..62bd5b74e951456a0a8ab1d6a4d4e085df51514c 100644 |
--- a/src/compiler/instruction.cc |
+++ b/src/compiler/instruction.cc |
@@ -46,19 +46,22 @@ std::ostream& operator<<(std::ostream& os, |
<< "]"; |
case InstructionOperand::IMMEDIATE: |
return os << "[immediate:" << ImmediateOperand::cast(op).index() << "]"; |
- case InstructionOperand::STACK_SLOT: |
- return os << "[stack:" << StackSlotOperand::cast(op).index() << "]"; |
- case InstructionOperand::DOUBLE_STACK_SLOT: |
- return os << "[double_stack:" << DoubleStackSlotOperand::cast(op).index() |
- << "]"; |
- case InstructionOperand::REGISTER: |
- return os << "[" |
- << conf->general_register_name( |
- RegisterOperand::cast(op).index()) << "|R]"; |
- case InstructionOperand::DOUBLE_REGISTER: |
- return os << "[" |
- << conf->double_register_name( |
- DoubleRegisterOperand::cast(op).index()) << "|R]"; |
+ case InstructionOperand::ALLOCATED: |
+ switch (AllocatedOperand::cast(op).allocated_kind()) { |
+ case AllocatedOperand::STACK_SLOT: |
+ return os << "[stack:" << StackSlotOperand::cast(op).index() << "]"; |
+ case AllocatedOperand::DOUBLE_STACK_SLOT: |
+ return os << "[double_stack:" |
+ << DoubleStackSlotOperand::cast(op).index() << "]"; |
+ case AllocatedOperand::REGISTER: |
+ return os << "[" |
+ << conf->general_register_name( |
+ RegisterOperand::cast(op).index()) << "|R]"; |
+ case AllocatedOperand::DOUBLE_REGISTER: |
+ return os << "[" |
+ << conf->double_register_name( |
+ DoubleRegisterOperand::cast(op).index()) << "|R]"; |
+ } |
case InstructionOperand::INVALID: |
return os << "(x)"; |
} |