+defcode("ccall0-ret", ccall0_ret, &ccall6, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t result = ((value_t (*)(void))func)();
+ onward_aspush(result);
+}
+
+defcode("ccall1-ret", ccall1_ret, &ccall0_ret, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t arg1 = onward_aspop();
+ value_t result = ((value_t (*)(value_t))func)(arg1);
+ onward_aspush(result);
+}
+
+defcode("ccall2-ret", ccall2_ret, &ccall1_ret, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t arg2 = onward_aspop();
+ value_t arg1 = onward_aspop();
+ value_t result = ((value_t (*)(value_t,value_t))func)(arg1, arg2);
+ onward_aspush(result);
+}
+
+defcode("ccall3-ret", ccall3_ret, &ccall2_ret, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t arg3 = onward_aspop();
+ value_t arg2 = onward_aspop();
+ value_t arg1 = onward_aspop();
+ value_t result = ((value_t (*)(value_t,value_t,value_t))func)( arg1, arg2, arg3 );
+ onward_aspush(result);
+}
+
+defcode("ccall4-ret", ccall4_ret, &ccall3_ret, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t arg4 = onward_aspop();
+ value_t arg3 = onward_aspop();
+ value_t arg2 = onward_aspop();
+ value_t arg1 = onward_aspop();
+ value_t result = ((value_t (*)(value_t,value_t,value_t,value_t))func)( arg1, arg2, arg3, arg4 );
+ onward_aspush(result);
+}
+
+defcode("ccall5-ret", ccall5_ret, &ccall4_ret, 0u) {
+ void* func = (void*)onward_aspop();
+ value_t arg5 = onward_aspop();
+ value_t arg4 = onward_aspop();
+ value_t arg3 = onward_aspop();
+ value_t arg2 = onward_aspop();
+ value_t arg1 = onward_aspop();
+ value_t result = ((value_t (*)(value_t,value_t,value_t,value_t,value_t))func)( arg1, arg2, arg3, arg4, arg5 );
+ onward_aspush(result);
+}