release(ec); kind = Kind.STACK;
cleanup(ec); kind = Kind.STACK;
	final void push(EmitterContext ec) {		final AbstractX86Stream os = ec.getStream();		final VirtualStack stack = ec.getVStack();		//os.log("LongItem.push "+Integer.toString(getKind()));		switch (getKind()) {		case Kind.REGISTER:			os.writePUSH(msb);			os.writePUSH(lsb);			break;		case Kind.LOCAL:			os.writePUSH(FP, getMsbOffsetToFP());			os.writePUSH(FP, getLsbOffsetToFP());			break;		case Kind.CONSTANT:			pushConstant(ec, os);			break;		case Kind.FPUSTACK:			// Make sure this item is on top of the FPU stack			final FPUStack fpuStack = stack.fpuStack;			if (!fpuStack.isTos(this)) {				FPUHelper.fxch(os, fpuStack, fpuStack.getRegister(this));			}			stack.fpuStack.pop(this);			// Convert & move to new space on normal stack			os.writeLEA(SP, SP, -8);			popFromFPU(os, SP, 0);			break;		case Kind.STACK:			//nothing to do			if (VirtualStack.checkOperandStack) {				// the item is not really pushed and popped				// but this checks that it is really the top				// element				stack.operandStack.pop(this);			}			break;		}		release(ec);		kind = Kind.STACK;		if (VirtualStack.checkOperandStack) {			stack.operandStack.push(this);		}	}