final Register tmpr = requestRegister(JvmType.INT, false);
final Register tmpr = L1AHelper.requestRegister(eContext, JvmType.INT, false);
	public final void visit_checkcast(VmConstClass classRef) { 		// Pre-claim ECX		requestRegister(ECX);		requestRegister(EAX);		// check that top item is a reference		final RefItem ref = vstack.popRef();		// Load the ref		ref.load(eContext);		final Register refr = ref.getRegister();		final Register classr = EAX;		final Register tmpr = requestRegister(JvmType.INT, false);		// Resolve the class		writeResolveAndLoadClassToReg(classRef, classr);		final Label okLabel = new Label(this.curInstrLabel + "cc-ok");		/* Is objectref null? */		os.writeTEST(refr, refr);		os.writeJCC(okLabel, X86Constants.JZ);		/* Is instanceof? */		instanceOf(refr, classr, tmpr, okLabel, true);		/* Not instanceof */		// Release temp registers here, so invokeJavaMethod can use it		releaseRegister(ECX);		releaseRegister(classr);		releaseRegister(tmpr);		// Call SoftByteCodes.systemException		os.writePUSH(SoftByteCodes.EX_CLASSCAST);		os.writePUSH(0);		invokeJavaMethod(context.getSystemExceptionMethod());		final RefItem exi = vstack.popRef();		assertCondition(exi.uses(EAX), "item must be in eax");		exi.release(eContext);		/* Exception in EAX, throw it */		helper.writeJumpTableCALL(X86JumpTable.VM_ATHROW_OFS);		/* Normal exit */		os.setObjectRef(okLabel);		// Leave ref on stack		vstack.push(ref);	}