final IntItem v2 = vstack.popInt(); final LongItem v1 = vstack.popLong();
final GPR ECX = X86Register.ECX;  final IntItem cnt = vstack.popInt(); final LongItem val = vstack.popLong();
	public final void visit_lshl() {		final IntItem v2 = vstack.popInt();		final LongItem v1 = vstack.popLong();		L1AHelper.requestRegister(eContext, X86Register.ECX, v2);		v2.loadTo(eContext, X86Register.ECX);		v1.load(eContext);		if (os.isCode32()) {			final GPR v1_lsb = v1.getLsbRegister(eContext);			final GPR v1_msb = v1.getMsbRegister(eContext);            final Label curInstrLabel = getCurInstrLabel();			os.writeAND(X86Register.ECX, 63);			os.writeCMP_Const(X86Register.ECX, 32);			final Label gt32Label = new Label(curInstrLabel + "gt32");			final Label endLabel = new Label(curInstrLabel + "end");			os.writeJCC(gt32Label, X86Constants.JAE); // JAE			/** ECX < 32 */			os.writeSHLD_CL(v1_msb, v1_lsb);			os.writeSHL_CL(v1_lsb);			os.writeJMP(endLabel);			/** ECX >= 32 */			os.setObjectRef(gt32Label);			os.writeMOV(INTSIZE, v1_msb, v1_lsb);			os.writeXOR(v1_lsb, v1_lsb);			os.writeSHL_CL(v1_msb);			os.setObjectRef(endLabel);		} else {			final GPR64 v1r = v1.getRegister(eContext);			os.writeSHL_CL(v1r);		}		// Release		v2.release(eContext);		vstack.push(v1);	}