static void CVMCoder_ReturnInsn(ILCoder *coder, ILEngineType engineType, ILType *returnType) { ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder); switch(engineType) { case ILEngineType_Invalid: { jit_insn_return(jitCoder->function, 0); } break; case ILEngineType_M: case ILEngineType_O: case ILEngineType_T: case ILEngineType_I4: #ifdef IL_NATIVE_INT32 case ILEngineType_I: #endif { jit_insn_return(jitCoder->function, jitCoder->jitStack[jitCoder->stackTop]); JITC_ADJUST(jitCoder, -1); } break; case ILEngineType_I8: #ifdef IL_NATIVE_INT64 case ILEngineType_I: #endif { jit_insn_return(jitCoder->function, jitCoder->jitStack[jitCoder->stackTop]); JITC_ADJUST(jitCoder, -1); } break; case ILEngineType_F: { jit_insn_return(jitCoder->function, jitCoder->jitStack[jitCoder->stackTop]); JITC_ADJUST(jitCoder, -1); } break; case ILEngineType_MV: { jit_insn_return(jitCoder->function, jitCoder->jitStack[jitCoder->stackTop]); JITC_ADJUST(jitCoder, -1); } break; case ILEngineType_TypedRef: { jit_insn_return_ptr(jitCoder->function, jitCoder->jitStack[jitCoder->stackTop]); JITC_ADJUST(jitCoder, -1); } break; } }