for (int i = 0; i < outputValueList.length; ++i) frame.pushValue(outputValueList[i]);
pushOutputValues(outputValueList);
	public void modelNormalInstruction(Instruction ins, int numWordsConsumed, int numWordsProduced) {		ValueNumberFrame frame = getFrame();		// Get the input operands to this instruction.		ValueNumber[] inputValueList = popInputValues(frame, numWordsConsumed);		// See if we have the output operands in the cache.		// If not, push default (fresh) values for the output,		// and add them to the cache.		ValueNumberCache.Entry entry = new ValueNumberCache.Entry(handle, inputValueList);		ValueNumber[] outputValueList = cache.lookupOutputValues(entry);		if (outputValueList == null) {			outputValueList = new ValueNumber[numWordsProduced];			for (int i = 0; i < numWordsProduced; ++i)				outputValueList[i] = factory.createFreshValue();			cache.addOutputValues(entry, outputValueList);		}		if (VERIFY_INTEGRITY) {			if (outputValueList.length != numWordsProduced)				throw new IllegalStateException("cache produced wrong num words");		}		// Push output operands on stack.		for (int i = 0; i < outputValueList.length; ++i)			frame.pushValue(outputValueList[i]);	}