prepareForOperation(v1, v2);
if (prepareForOperation(v1, v2, (jccOpcode == X86Constants.JE) || (jccOpcode == X86Constants.JNE))) {  final IntItem tmp = v2; v2 = v1; v1 = tmp; }
	private final void visit_if_icmp(int address, int jccOpcode) {		IntItem v2 = vstack.popInt();		IntItem v1 = vstack.popInt();		// flush vstack before jumping		vstack.push(eContext);		//TODO: can be less restrictive: v1 must not be register		prepareForOperation(v1, v2);		Register r1 = v1.getRegister();		switch (v2.getKind()) {		case Item.Kind.REGISTER:			os.writeCMP(r1, v2.getRegister());			break;		case Item.Kind.LOCAL:			os.writeCMP(r1, FP, v2.getOffsetToFP());			break;		case Item.Kind.CONSTANT:			int c2 = v2.getValue();			os.writeCMP_Const(r1, c2);			break;		}		v1.release(eContext);		v2.release(eContext);		os.writeJCC(helper.getInstrLabel(address), jccOpcode);	}