/** * marks the end of a branch. The current stack frame is checked for compatibility with the stack frame at the branch start */ public void branchEnd(BranchEnd end) { mergeStackFrames(end.getStackFrame()); final int jump = currentOffset - end.getOffsetLocation(); if (end.isJump32Bit()) { jumpLocations32.put(end.getBranchLocation(), jump); } else { if (jump > Short.MAX_VALUE) { throw new RuntimeException(jump + " is to big to be written as a 16 bit value"); } jumpLocations.put(end.getBranchLocation(), jump); } }
/** * marks the end of a branch. The current stack frame is checked for compatibility with the stack frame at the branch start */ public void branchEnd(BranchEnd end) { mergeStackFrames(end.getStackFrame()); final int jump = currentOffset - end.getOffsetLocation(); if (end.isJump32Bit()) { jumpLocations32.put(end.getBranchLocation(), jump); } else { if (jump > Short.MAX_VALUE) { throw new RuntimeException(jump + " is to big to be written as a 16 bit value"); } jumpLocations.put(end.getBranchLocation(), jump); } }
/** * marks the end of a branch. The current stack frame is checked for compatibility with the stack frame at the branch start */ public void branchEnd(BranchEnd end) { mergeStackFrames(end.getStackFrame()); final int jump = currentOffset - end.getOffsetLocation(); if (end.isJump32Bit()) { jumpLocations32.put(end.getBranchLocation(), jump); } else { if(jump > Short.MAX_VALUE) { throw new RuntimeException(jump + " is to big to be written as a 16 bit value"); } jumpLocations.put(end.getBranchLocation(), jump); } }
/** * marks the end of a branch. The current stack frame is checked for compatibility with the stack frame at the branch start */ public void branchEnd(BranchEnd end) { mergeStackFrames(end.getStackFrame()); final int jump = currentOffset - end.getOffsetLocation(); if (end.isJump32Bit()) { jumpLocations32.put(end.getBranchLocation(), jump); } else { if (jump > Short.MAX_VALUE) { throw new RuntimeException(jump + " is to big to be written as a 16 bit value"); } jumpLocations.put(end.getBranchLocation(), jump); } }
/** * marks the end of a branch. The current stack frame is checked for compatibility with the stack frame at the branch start */ public void branchEnd(BranchEnd end) { mergeStackFrames(end.getStackFrame()); final int jump = currentOffset - end.getOffsetLocation(); if (end.isJump32Bit()) { jumpLocations32.put(end.getBranchLocation(), jump); } else { if (jump > Short.MAX_VALUE) { throw new RuntimeException(jump + " is to big to be written as a 16 bit value"); } jumpLocations.put(end.getBranchLocation(), jump); } }