final IntItem res = IntItem.createReg(resr); pool.transferOwnerTo(resr, res); vstack.push(res);
fpuStack.pop(); fpuStack.pop();
    final static void compare(AbstractX86Stream os, EmitterContext ec,            VirtualStack vstack, boolean gt, int type, Label curInstrLabel) {        final Item v2 = vstack.pop(type);        final Item v1 = vstack.pop(type);        // Prepare operands        final FPUStack fpuStack = vstack.fpuStack;        final Register reg;        reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);        // We need reg to be ST1.        fxchST1(os, fpuStack, reg);        final X86RegisterPool pool = ec.getPool();        pool.request(EAX);        final Register resr = pool.request(JvmType.INT);        if (gt) {            // Reverse order            fxch(os, fpuStack, Register.ST1);        }        os.writeFUCOMPP(); // Compare, Pop twice        os.writeFNSTSW_AX(); // Store fp status word in AX        os.writeSAHF(); // Store AH to Flags                // Pop fpu stack twice (FUCOMPP)        fpuStack.pop();        fpuStack.pop();                final Label eqLabel = new Label(curInstrLabel + "eq");        final Label ltLabel = new Label(curInstrLabel + "lt");        final Label endLabel = new Label(curInstrLabel + "end");        os.writeJCC(eqLabel, X86Constants.JE);        os.writeJCC(ltLabel, X86Constants.JB);        // Greater        if (gt) {            os.writeMOV_Const(resr, -1);        } else {            os.writeMOV_Const(resr, 1);        }        os.writeJMP(endLabel);        // Equal        os.setObjectRef(eqLabel);        os.writeXOR(resr, resr);        os.writeJMP(endLabel);        // Less        os.setObjectRef(ltLabel);        if (gt) {            os.writeMOV_Const(resr, 1);        } else {            os.writeMOV_Const(resr, -1);        }        // End        os.setObjectRef(endLabel);        // Push result        final IntItem res = IntItem.createReg(resr);        pool.transferOwnerTo(resr, res);        vstack.push(res);        // Release        pool.release(EAX);    }