Fix instruction printing for filled-new-array
Only print the registers that are actually used. The rest is
garbage.
Change-Id: Ic9f03a51f81b95f7c70cf3e19122c8980003ae36
diff --git a/runtime/dex_instruction.cc b/runtime/dex_instruction.cc
index 8fccd6d..7546245 100644
--- a/runtime/dex_instruction.cc
+++ b/runtime/dex_instruction.cc
@@ -551,6 +551,20 @@
uint32_t arg[5];
GetArgs(arg);
switch (Opcode()) {
+ case FILLED_NEW_ARRAY:
+ {
+ const int32_t a = VRegA_35c();
+ os << opcode << " {";
+ for (int i = 0; i < a; ++i) {
+ if (i > 0) {
+ os << ", ";
+ }
+ os << "v" << arg[i];
+ }
+ os << "}, type@" << VRegB_35c();
+ }
+ break;
+
case INVOKE_VIRTUAL:
case INVOKE_SUPER:
case INVOKE_DIRECT: