diff -r 34b3aeb65fbe -r fddf099a82f8 progs/fun/funt.sc --- a/progs/fun/funt.sc Tue Nov 28 11:45:48 2023 +0000 +++ b/progs/fun/funt.sc Sat Dec 02 21:37:04 2023 +0000 @@ -98,12 +98,12 @@ compile_expT(a2, env, name) ++ l"$if_end" } - case Call(n, args) => if (name == n) { + case Call(n, args) => if (name == n) { // can apply tail-call optimisation val stores = args.zipWithIndex.map { case (x, y) => i"istore $y" } args.map(a => compile_expT(a, env, "")).mkString ++ stores.reverse.mkString ++ i"goto ${n}_Start" - } else { + } else { // normal call val is = "I" * args.length args.map(a => compile_expT(a, env, "")).mkString ++ i"invokestatic XXX/XXX/${n}(${is})I"