final X86RegisterPool pool = ec.getPool();  switch (getKind()) { case Kind.REGISTER: pool.release(reg); assertCondition(pool.isFree(reg), "reg is free"); break;  case Kind.LOCAL:  break;  case Kind.CONSTANT:  break;  case Kind.FPUSTACK:  break;  case Kind.STACK:  break;  default: throw new IllegalArgumentException("Invalid item kind"); }  this.reg = null; this.kind = 0;
cleanup(ec); ec.getItemFactory().release(this);
	final void release(EmitterContext ec) {		//assertCondition(!ec.getVStack().contains(this), "Cannot release while		// on vstack");		final X86RegisterPool pool = ec.getPool();		switch (getKind()) {		case Kind.REGISTER:			pool.release(reg);			assertCondition(pool.isFree(reg), "reg is free");			break;		case Kind.LOCAL:			// nothing to do			break;		case Kind.CONSTANT:			// nothing to do			break;		case Kind.FPUSTACK:			// nothing to do			break;		case Kind.STACK:			//nothing to do			break;		default:			throw new IllegalArgumentException("Invalid item kind");		}		this.reg = null;		this.kind = 0;	}