kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

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; }