Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 902736ecec8a61f95a9e881d270ba4a4b22c00e6..e19caf34c2a901be98b7a9eb414fcb59c9e10c35 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -229,7 +229,30 @@ bool LCodeGen::GenerateBody() { |
} |
if (emit_instructions) { |
- Comment(";;; @%d: %s.", current_instruction_, instr->Mnemonic()); |
+ if (FLAG_code_comments) { |
+ HValue* hydrogen = instr->hydrogen_value(); |
+ if (hydrogen != NULL) { |
+ if (hydrogen->IsChange()) { |
+ HValue* changed_value = HChange::cast(hydrogen)->value(); |
+ int use_id = 0; |
+ const char* use_mnemo = "dead"; |
+ if (hydrogen->UseCount() >= 1) { |
+ HValue* use_value = hydrogen->uses().value(); |
+ use_id = use_value->id(); |
+ use_mnemo = use_value->Mnemonic(); |
+ } |
+ Comment(";;; @%d: %s. <of #%d %s for #%d %s>", |
+ current_instruction_, instr->Mnemonic(), |
+ changed_value->id(), changed_value->Mnemonic(), |
+ use_id, use_mnemo); |
+ } else { |
+ Comment(";;; @%d: %s. <#%d>", current_instruction_, |
+ instr->Mnemonic(), hydrogen->id()); |
+ } |
+ } else { |
+ Comment(";;; @%d: %s.", current_instruction_, instr->Mnemonic()); |
+ } |
+ } |
instr->CompileToNative(this); |
} |
} |