prepareForOperation(v1, v2);
if (prepareForOperation(v1, v2, true)) {  final IntItem tmp = v2; v2 = v1; v1 = tmp; }
	public final void visit_imul() {		IntItem v2 = vstack.popInt();		IntItem v1 = vstack.popInt();		prepareForOperation(v1, v2);		final Register r1 = v1.getRegister();		switch (v2.getKind()) {		case Item.Kind.REGISTER:			os.writeIMUL(r1, v2.getRegister());			break;		case Item.Kind.CONSTANT:			os.writeIMUL_3(r1, r1, v2.getValue());			break;		case Item.Kind.LOCAL:			os.writeIMUL(r1, FP, v2.getOffsetToFP());			break;		}		v2.release(eContext);		vstack.push(v1);	}