prepareForOperation(v1, v2);
if (prepareForOperation(v1, v2, true)) {  final RefItem tmp = v2; v2 = v1; v1 = tmp; }
	private final void visit_if_acmp(int address, int jccOpcode) {		RefItem v2 = vstack.popRef();		RefItem v1 = vstack.popRef();		// 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:			//TODO: implement writeCMP_Const(reg, object)			//Object c2 = v2.getValue();			//os.writeCMP_Const(r1, c2);			v2.load(eContext);			os.writeCMP(r1, v2.getRegister());			break;		}		v1.release(eContext);		v2.release(eContext);		os.writeJCC(helper.getInstrLabel(address), jccOpcode);	}