Branch: Tag:

2001-02-09

2001-02-09 10:29:54 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

limited tailrecursion to assure mutex functionality

Rev: src/las.c:1.233
Rev: src/las.h:1.46
Rev: src/peep.in:1.49
Rev: src/pike_types.c:1.146
Rev: src/pike_types.h:1.47

1:   // - // $Id: peep.in,v 1.48 2001/02/01 04:06:12 mast Exp $ + // $Id: peep.in,v 1.49 2001/02/09 10:29:54 hubbe Exp $   //      NOP :
227:   LOCAL CONST1 ADD_TO_AND_POP : INC_LOCAL_AND_POP($1a)   LOCAL CONST_1 ADD_TO_AND_POP : DEC_LOCAL_AND_POP($1a)    - APPLY [ !(debug_options & NO_TAILRECURSION) ] RETURN : APPLY_AND_RETURN($1a) - CALL_FUNCTION [ !(debug_options & NO_TAILRECURSION) ] RETURN : CALL_FUNCTION_AND_RETURN - CALL_LFUN [ !(debug_options & NO_TAILRECURSION) ] RETURN : CALL_LFUN_AND_RETURN($1a) + APPLY [ check_tailrecursion() ] RETURN : APPLY_AND_RETURN($1a) + CALL_FUNCTION [ check_tailrecursion() ] RETURN : CALL_FUNCTION_AND_RETURN + CALL_LFUN [ check_tailrecursion() ] RETURN : CALL_LFUN_AND_RETURN($1a)      LOCAL RETURN : RETURN_LOCAL($1a)   APPLY ASSIGN_LOCAL_AND_POP : APPLY_ASSIGN_LOCAL_AND_POP($1a,$2a)
351:   TRAMPOLINE POP_VALUE :       - RECUR RETURN: TAIL_RECUR ($1a) + RECUR RETURN [check_tailrecursion()] : TAIL_RECUR ($1a)      // This doesn't really work   // MARK TAIL_RECUR : BRANCH ($1a)