result = DoubleItem.createFPUStack();
result = ifac.createFPUStack(JvmType.DOUBLE);
    public final void visit_getfield(VmConstFieldRef fieldRef) {        fieldRef.resolve(loader);        final VmField field = fieldRef.getResolvedVmField();        if (field.isStatic()) {            throw new IncompatibleClassChangeError(                    "getfield called on static field " + fieldRef.getName());        }        final VmInstanceField inf = (VmInstanceField) field;        final int fieldOffset = inf.getOffset();        final int type = JvmType.SignatureToType(fieldRef.getSignature());        final boolean isfloat = JvmType.isFloat(type);        // Pop & load        final RefItem ref = vstack.popRef();        ref.load(eContext);        final Register refr = ref.getRegister();        // get field        final Item result;        if (!fieldRef.isWide()) {            if (isfloat) {                result = FloatItem.createFPUStack();                os.writeFLD32(refr, fieldOffset);                vstack.fpuStack.push(result);            } else {                final WordItem iw = L1AHelper.requestWordRegister(eContext,                        type, false);                os.writeMOV(INTSIZE, iw.getRegister(), refr, fieldOffset);                result = iw;            }        } else {            if (isfloat) {                result = DoubleItem.createFPUStack();                os.writeFLD64(refr, fieldOffset);                vstack.fpuStack.push(result);            } else {                final DoubleWordItem idw = L1AHelper                        .requestDoubleWordRegisters(eContext, type);                final Register lsb = idw.getLsbRegister();                final Register msb = idw.getMsbRegister();                os.writeMOV(INTSIZE, lsb, refr, fieldOffset + LSB);                os.writeMOV(INTSIZE, msb, refr, fieldOffset + MSB);                result = idw;            }        }        // Release        ref.release(eContext);        // Push result        vstack.push(result);    }