final IntItem idx = vstack.popInt(); final RefItem ref = vstack.popRef();  idx.loadIf(eContext, ~Item.Kind.CONSTANT); ref.load(eContext); final Register refr = ref.getRegister();  checkBounds(ref, idx); FPUHelper.ensureStackCapacity(os, eContext, vstack, 1);  if (idx.isConstant()) { final int offset = idx.getValue(); os.writeFLD32(refr, (offset + VmArray.DATA_OFFSET) * 4); } else { final Register idxr = idx.getRegister(); os.writeFLD32(refr, idxr, 4, VmArray.DATA_OFFSET * 4); }   ref.release(eContext); idx.release(eContext);   final Item result = FloatItem.createFPUStack(); vstack.fpuStack.push(result); vstack.push(result);
waload(JvmType.FLOAT);
	public final void visit_faload() {		final IntItem idx = vstack.popInt();		final RefItem ref = vstack.popRef();		idx.loadIf(eContext, ~Item.Kind.CONSTANT);		ref.load(eContext);		final Register refr = ref.getRegister();		checkBounds(ref, idx);		FPUHelper.ensureStackCapacity(os, eContext, vstack, 1);		if (idx.isConstant()) {			final int offset = idx.getValue();			os.writeFLD32(refr, (offset + VmArray.DATA_OFFSET) * 4);		} else {			final Register idxr = idx.getRegister();			os.writeFLD32(refr, idxr, 4, VmArray.DATA_OFFSET * 4);		}		// Release		ref.release(eContext);		idx.release(eContext);		// Push result		final Item result = FloatItem.createFPUStack();		vstack.fpuStack.push(result);		vstack.push(result);	}