Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 7615134ec08af7473a2851d7db3b7c9603218d4b..ea465639ad4acfd9ca64dffc937f7b9f24b9bf2e 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -230,7 +230,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); |
} |
} |