Print class/method info for virtual callsites in JIT verbose mode.
For example:
chaining cell (predicted): Ljava/lang/Object;getClass
Change-Id: Ia53340baab87d6b744fc7189b141737a4a54cc42
diff --git a/vm/compiler/codegen/arm/ArchUtility.c b/vm/compiler/codegen/arm/ArchUtility.c
index d94b1a7..961a2e1 100644
--- a/vm/compiler/codegen/arm/ArchUtility.c
+++ b/vm/compiler/codegen/arm/ArchUtility.c
@@ -325,10 +325,13 @@
LOGD("-------- chaining cell (hot): 0x%04x\n", dest);
break;
case kArmPseudoChainingCellInvokePredicted:
- LOGD("-------- chaining cell (predicted)\n");
+ LOGD("-------- chaining cell (predicted): %s%s\n",
+ dest ? ((Method *) dest)->clazz->descriptor : "",
+ dest ? ((Method *) dest)->name : "N/A");
break;
case kArmPseudoChainingCellInvokeSingleton:
- LOGD("-------- chaining cell (invoke singleton): %s/%p\n",
+ LOGD("-------- chaining cell (invoke singleton): %s%s/%p\n",
+ ((Method *)dest)->clazz->descriptor,
((Method *)dest)->name,
((Method *)dest)->insns);
break;