/** * writes a goto instruction. * <p/> * TODO: implemented goto_w */ public void gotoInstruction(CodeLocation location) { writeByte(Opcode.GOTO); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; currentFrame = null; }
/** * writes a goto instruction. * <p/> * TODO: implemented goto_w */ public void gotoInstruction(CodeLocation location) { writeByte(Opcode.GOTO); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; currentFrame = null; }
public void setupFrame(String ... types) { final LocalVariableState localVariableState = new LocalVariableState(constPool, types); final StackFrame f = new StackFrame(new StackState(constPool), localVariableState, StackFrameType.FULL_FRAME); mergeStackFrames(f); }
/** * writes a goto instruction. * <p/> * TODO: implemented goto_w */ public void gotoInstruction(CodeLocation location) { writeByte(Opcode.GOTO); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; currentFrame = null; }
public void setupFrame(String... types) { final LocalVariableState localVariableState = new LocalVariableState(constPool, types); final StackFrame f = new StackFrame(new StackState(constPool), localVariableState, StackFrameType.FULL_FRAME); mergeStackFrames(f); }
/** * writes a goto instruction. * <p/> * TODO: implemented goto_w */ public void gotoInstruction(CodeLocation location) { writeByte(Opcode.GOTO); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; currentFrame = null; }
public void setupFrame(String... types) { final LocalVariableState localVariableState = new LocalVariableState(constPool, types); final StackFrame f = new StackFrame(new StackState(constPool), localVariableState, StackFrameType.FULL_FRAME); mergeStackFrames(f); }
private void addNullComparison(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.OBJECT, name + " requires reference type on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
private void addIf(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.INT, name + " requires int on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
private void addIf(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.INT, name + " requires int on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
private void addIf(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.INT, name + " requires int on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
private void addNullComparison(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.OBJECT, name + " requires reference type on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
private void addNullComparison(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.OBJECT, name + " requires reference type on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop()); mergeStackFrames(location.getStackFrame()); }
public void ifAcmpne(CodeLocation location) { assertTypeOnStack(StackEntryType.OBJECT, "ifAcmpne requires reference type on stack"); assertTypeOnStack(1, StackEntryType.OBJECT, "ifAcmpne requires reference type in position 2 on stack"); writeByte(Opcode.IF_ACMPNE); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; advanceFrame(currentFrame.pop2()); }
private void addIfIcmp(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.INT, name + " requires int on stack"); assertTypeOnStack(1, StackEntryType.INT, name + " requires int in position 2 on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop2()); mergeStackFrames(location.getStackFrame()); }
public void ifAcmpeq(CodeLocation location) { assertTypeOnStack(StackEntryType.OBJECT, "ifAcmpeq requires reference type on stack"); assertTypeOnStack(1, StackEntryType.OBJECT, "ifAcmpeq requires reference type in position 2 on stack"); writeByte(Opcode.IF_ACMPEQ); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; advanceFrame(currentFrame.pop2()); }
public void ifAcmpne(CodeLocation location) { assertTypeOnStack(StackEntryType.OBJECT, "ifAcmpne requires reference type on stack"); assertTypeOnStack(1, StackEntryType.OBJECT, "ifAcmpne requires reference type in position 2 on stack"); writeByte(Opcode.IF_ACMPNE); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; advanceFrame(currentFrame.pop2()); }
public void ifAcmpeq(CodeLocation location) { assertTypeOnStack(StackEntryType.OBJECT, "ifAcmpeq requires reference type on stack"); assertTypeOnStack(1, StackEntryType.OBJECT, "ifAcmpeq requires reference type in position 2 on stack"); writeByte(Opcode.IF_ACMPEQ); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; advanceFrame(currentFrame.pop2()); }
public void ifAcmpne(CodeLocation location) { assertTypeOnStack(StackEntryType.OBJECT, "ifAcmpne requires reference type on stack"); assertTypeOnStack(1, StackEntryType.OBJECT, "ifAcmpne requires reference type in position 2 on stack"); writeByte(Opcode.IF_ACMPNE); writeShort(location.getLocation() - currentOffset); mergeStackFrames(location.getStackFrame()); currentOffset += 3; advanceFrame(currentFrame.pop2()); }
private void addIfIcmp(CodeLocation location, int opcode, String name) { assertTypeOnStack(StackEntryType.INT, name + " requires int on stack"); assertTypeOnStack(1, StackEntryType.INT, name + " requires int in position 2 on stack"); writeByte(opcode); writeShort(location.getLocation() - currentOffset); currentOffset += 3; advanceFrame(currentFrame.pop2()); mergeStackFrames(location.getStackFrame()); }