Branch: Tag:

2001-02-09

2001-02-09 17:30:23 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.47
Rev: src/pike_types.c:1.146
Rev: src/pike_types.h:1.47

1:   // - // $Id: peep.in,v 1.46 2001/01/18 00:28:39 grubba Exp $ + // $Id: peep.in,v 1.47 2001/02/09 17:30:21 hubbe Exp $   //      NOP :
220:   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)
344:   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)