helper.writeGetStaticsEntry(curInstrLabel, resultr, (VmIsolatedStaticsEntry)sf);
final GPR tmp = (GPR) L1AHelper.requestRegister(eContext, JvmType.REFERENCE, false); helper.writeGetStaticsEntry(curInstrLabel, resultr, (VmIsolatedStaticsEntry) sf, tmp); L1AHelper.releaseRegister(eContext, tmp);
	public final void visit_getstatic(VmConstFieldRef fieldRef) {		fieldRef.resolve(loader);		final int type = JvmType.SignatureToType(fieldRef.getSignature());		final VmStaticField sf = (VmStaticField) fieldRef.getResolvedVmField();		// Initialize if needed		if (!sf.getDeclaringClass().isInitialized()) {			final X86RegisterPool pool = eContext.getGPRPool();			final GPR tmp = (GPR) L1AHelper.requestRegister(eContext,					JvmType.INT, false);			writeInitializeClass(fieldRef, tmp);			pool.release(tmp);		}		// Get static field object		if (JvmType.isFloat(type)) {			final boolean is32bit = !fieldRef.isWide();            if (sf.isShared()) {                helper.writeGetStaticsEntryToFPU(curInstrLabel, (VmSharedStaticsEntry)sf, is32bit);            } else {                final GPR tmp = (GPR) L1AHelper.requestRegister(eContext,                        JvmType.REFERENCE, false);                helper.writeGetStaticsEntryToFPU(curInstrLabel,                        (VmIsolatedStaticsEntry) sf, is32bit, tmp);                L1AHelper.releaseRegister(eContext, tmp);            }			final Item result = ifac.createFPUStack(type);			vstack.fpuStack.push(result);			vstack.push(result);		} else if (!fieldRef.isWide()) {			final WordItem result = L1AHelper.requestWordRegister(eContext,					type, false);			final GPR resultr = result.getRegister();            if (os.isCode32() || (type != JvmType.REFERENCE)) {                if (sf.isShared()) {                    helper.writeGetStaticsEntry(curInstrLabel, resultr, (VmSharedStaticsEntry)sf);                } else {                    helper.writeGetStaticsEntry(curInstrLabel, resultr, (VmIsolatedStaticsEntry)sf);                                    }            } else {                if (sf.isShared()) {                    helper.writeGetStaticsEntry64(curInstrLabel, (GPR64)resultr, (VmSharedStaticsEntry)sf);                } else {                    helper.writeGetStaticsEntry64(curInstrLabel, (GPR64)resultr, (VmIsolatedStaticsEntry)sf);                                    }            }			vstack.push(result);		} else {			final DoubleWordItem result = L1AHelper.requestDoubleWordRegisters(					eContext, type);			if (os.isCode32()) {				final GPR lsb = result.getLsbRegister(eContext);				final GPR msb = result.getMsbRegister(eContext);                if (sf.isShared()) {                    helper.writeGetStaticsEntry64(curInstrLabel, lsb, msb, (VmSharedStaticsEntry)sf);                } else {                    helper.writeGetStaticsEntry64(curInstrLabel, lsb, msb, (VmIsolatedStaticsEntry)sf);                                    }			} else {				final GPR64 reg = result.getRegister(eContext);                if (sf.isShared()) {                    helper.writeGetStaticsEntry64(curInstrLabel, reg, (VmSharedStaticsEntry)sf);                } else {                    helper.writeGetStaticsEntry64(curInstrLabel, reg, (VmIsolatedStaticsEntry)sf);                }			}			vstack.push(result);		}	}