25_tail_many_stack_args.toy (489B)
1 fn target(a: i64, b: i64, c: i64, d: i64, e: i64, 2 f: i64, g: i64, h: i64, i: i64, j: i64): i64 { 3 return a + b * 2 + c * 3 + d * 4 + e * 5 + 4 f * 6 + g * 7 + h * 8 + i * 9 + j * 10; 5 } 6 7 fn caller(a: i64, b: i64, c: i64, d: i64, e: i64, 8 f: i64, g: i64, h: i64, i: i64, j: i64): i64 { 9 return tail target(j, i, h, g, f, e, d, c, b, a); 10 } 11 12 fn __user_main(): i64 { 13 return caller(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 14 } 15 16 fn main(): i32 { return __user_main() as i32; }