public void visitFillArrayDataPayloadInsn(int currentAddress, int opcode, Object data, int size, int elementWidth) { FillArrayDataPayloadInstructionHolder insnHolder = new FillArrayDataPayloadInstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.data = data; insnHolder.size = size; insnHolder.elementWidth = elementWidth; result[currentAddress] = insnHolder; } });
public void visitZeroRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal) { InstructionHolder insnHolder = new InstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.index = index; insnHolder.target = target; insnHolder.literal = literal; result[currentAddress] = insnHolder; }
public void visitPackedSwitchPayloadInsn(int currentAddress, int opcode, int firstKey, int[] targets) { PackedSwitchPayloadInsntructionHolder insnHolder = new PackedSwitchPayloadInsntructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.firstKey = firstKey; insnHolder.targets = targets; result[currentAddress] = insnHolder; }
/** * Writes a code unit. */ public void write(short codeUnit) { ensureArrayLength(1); array[cursor()] = codeUnit; advance(1); }
public void visitSparseSwitchPayloadInsn(int currentAddress, int opcode, int[] keys, int[] targets) { SparseSwitchPayloadInsntructionHolder insnHolder = new SparseSwitchPayloadInsntructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.keys = keys; insnHolder.targets = targets; result[currentAddress] = insnHolder; }
public void visitZeroRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal) { if (prevIv != null) { prevIv.visitZeroRegisterInsn(currentAddress, opcode, index, indexType, target, literal); } }
public void visitRegisterRangeInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int registerCount) { if (prevIv != null) { prevIv.visitRegisterRangeInsn(currentAddress, opcode, index, indexType, target, literal, a, registerCount); } }
public void visitOneRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a) { if (prevIv != null) { prevIv.visitOneRegisterInsn(currentAddress, opcode, index, indexType, target, literal, a); } }
public void visitThreeRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int b, int c) { if (prevIv != null) { prevIv.visitThreeRegisterInsn(currentAddress, opcode, index, indexType, target, literal, a, b, c); } }
public void visitFourRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int b, int c, int d) { if (prevIv != null) { prevIv.visitFourRegisterInsn(currentAddress, opcode, index, indexType, target, literal, a, b, c, d); } }
@Override public void visitPackedSwitchPayloadInsn(int currentAddress, int opcode, int firstKey, int[] targets) { mapAddressIfNeeded(currentAddress); this.currentPromotedAddress += 2 + 2; this.currentPromotedAddress += targets.length * 2; }
public void visitPackedSwitchPayloadInsn(int currentAddress, int opcode, int firstKey, int[] targets) { if (prevIv != null) { prevIv.visitPackedSwitchPayloadInsn(currentAddress, opcode, firstKey, targets); } }
/** * Returns whether there are any more code units to read. This * is analogous to {@code hasNext()} on an interator. */ public boolean hasMore() { return cursor() < array.length; }
public void visitOneRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a) { InstructionHolder insnHolder = new InstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.index = index; insnHolder.target = target; insnHolder.literal = literal; insnHolder.registerCount = 1; insnHolder.a = a; result[currentAddress] = insnHolder; }
public void visitRegisterRangeInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int registerCount) { InstructionHolder insnHolder = new InstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.index = index; insnHolder.target = target; insnHolder.literal = literal; insnHolder.registerCount = registerCount; insnHolder.a = a; result[currentAddress] = insnHolder; }
public void visitTwoRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int b) { InstructionHolder insnHolder = new InstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.index = index; insnHolder.target = target; insnHolder.literal = literal; insnHolder.registerCount = 2; insnHolder.a = a; insnHolder.b = b; result[currentAddress] = insnHolder; }
public void visitThreeRegisterInsn(int currentAddress, int opcode, int index, int indexType, int target, long literal, int a, int b, int c) { InstructionHolder insnHolder = new InstructionHolder(); insnHolder.insnFormat = InstructionCodec.getInstructionFormat(opcode); insnHolder.address = currentAddress; insnHolder.opcode = opcode; insnHolder.index = index; insnHolder.target = target; insnHolder.literal = literal; insnHolder.registerCount = 3; insnHolder.a = a; insnHolder.b = b; insnHolder.c = c; result[currentAddress] = insnHolder; }