Enable tracing of recursion.

Now compiles tail-recursion, up-recursion and down-recursion.
Benchmarks vs. Lua: fib 20x, ack 23x, binary-trees 4.7x.
This commit is contained in:
Mike Pall
2010-03-01 06:46:45 +01:00
parent e7b737aa12
commit 5d0b65519c
5 changed files with 79 additions and 78 deletions

View File

@@ -4790,8 +4790,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
case BC_FUNCF:
#if LJ_HASJIT
| // NYI: Disabled, until the tracer supports recursion/upcalls/leaves.
| // hotcall RB
| hotcall RB
#endif
case BC_FUNCV: /* NYI: compiled vararg functions. */
| // Fall through. Assumes BC_IFUNCF/BC_IFUNCV follow and ins_AD is a no-op.