xref.addUnresolvedLink(m_used, 4); write32(ofs);
xref.addUnresolvedLink(m_used, 1); write8(ofs);
    public final void writeJECXZ(Label label) {        final ObjectRef ref = getObjectRef(label);        final int shortOffset = m_used + 2;        if (ref.isResolved()) {            if (isByteDistance(ref, shortOffset)) {                try {                    write8(0x67);                    write8(0xE3);                    write8(ref.getOffset() - shortOffset);                } catch (UnresolvedObjectRefException ex) {                    throw new RuntimeException(ex);                }            } else {                try {                    throw new IllegalArgumentException("Invalid jump distance: " + (ref.getOffset() - shortOffset));                } catch (UnresolvedObjectRefException rex) {                    throw new RuntimeException(rex);                }            }        } else {            write8(0x67);            write8(0xE3);            final int ofs = m_used + 4;            final X86ObjectRef xref = (X86ObjectRef) getObjectRef(label);            xref.setRelJump();            if (xref.isResolved()) {                try {                    write32(xref.getOffset() - ofs);                } catch (UnresolvedObjectRefException ex) {                    throw new RuntimeException(ex);                }            } else {                xref.addUnresolvedLink(m_used, 4);                write32(ofs);            }        }    }