Add support invoke-custom to dexdump
o Update bytecode.txt with codepoints for invoke-custom
instructions and run opcode-gen/regen-all.
o Update dexdump to support invoke-custom with output equivalent to
dexdump2.
Bug: 30550796,33191717,33231751
Test: manually tested with DEX files generated from ART run-tests.
Change-Id: If2cedea21875e93525c4850005d335901897484a
diff --git a/opcode-gen/bytecode.txt b/opcode-gen/bytecode.txt
index dc0778d..840d433 100644
--- a/opcode-gen/bytecode.txt
+++ b/opcode-gen/bytecode.txt
@@ -69,6 +69,7 @@
# vtable-offset
# field-offset
# method-and-proto-ref
+# call-site-ref
# flags; pipe-combined combo of one or more of:
# optimized -- optimized; not to be included in unoptimized dex files
# branch -- might branch to an address
@@ -343,11 +344,11 @@
# Invoke-polymorphic
op fa invoke-polymorphic 45cc y method-and-proto-ref continue|throw|invoke
op fb invoke-polymorphic/range 4rcc y method-and-proto-ref continue|throw|invoke
+op fc invoke-custom 35c y call-site-ref continue|throw|invoke
+op fd invoke-custom/range 3rc y call-site-ref continue|throw|invoke
# More optimized opcodes (not valid in an unoptimized dex file)
-op fc +iput-object-volatile 22c n field-ref optimized|continue|throw
-op fd +sget-object-volatile 21c y field-ref optimized|continue|throw
op fe +sput-object-volatile 21c n field-ref optimized|continue|throw
# unused: op ff
diff --git a/opcode-gen/opcode-gen.awk b/opcode-gen/opcode-gen.awk
index d1e9a08..baf774b 100644
--- a/opcode-gen/opcode-gen.awk
+++ b/opcode-gen/opcode-gen.awk
@@ -485,6 +485,7 @@
indexTypeValues["vtable-offset"] = "kIndexVtableOffset";
indexTypeValues["field-offset"] = "kIndexFieldOffset";
indexTypeValues["method-and-proto-ref"] = "kIndexMethodAndProtoRef";
+ indexTypeValues["call-site-ref"] = "kCallSiteRef";
}
# Initialize the flags data.