Commit 5e53393f authored by pcregut's avatar pcregut

The outSize was incorrect for an invoke-static/range (one too large). Dexdump...

The outSize was incorrect for an invoke-static/range (one too large). Dexdump will complain because it checks that the out is compatible with the number of register (as it must be built as a slice, it cannot be bigger than the number or registers).
parent 4c656fe9
......@@ -340,7 +340,7 @@ public class MethodWriter extends MethodVisitor {
int outgoingSize = (Prototype.getSizeOfDescriptor(desc, true) / 2);
// If the opcode of the call shows a non-static call, we have to count "this" in
// the current Outgoing Arguments size.
if (opcode != Opcodes.INSN_INVOKE_STATIC) {
if (opcode != Opcodes.INSN_INVOKE_STATIC && opcode != Opcodes.INSN_INVOKE_STATIC_RANGE) {
outgoingSize++;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment