Branch: Tag:

2000-05-01

2000-05-01 02:11:25 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

all recursive functions now optimized.. (no real need for 'local' or
'inline' in those cases anymore)

Rev: src/docode.c:1.71
Rev: src/interpret_functions.h:1.19
Rev: src/language.yacc:1.182
Rev: src/las.c:1.176
Rev: src/las.h:1.36
Rev: src/lex.c:1.79
Rev: src/peep.c:1.32
Rev: src/peep.in:1.35
Rev: src/program.c:1.235

1:   // - // $Id: peep.in,v 1.34 2000/04/30 23:15:16 hubbe Exp $ + // $Id: peep.in,v 1.35 2000/05/01 02:11:25 hubbe Exp $   //      NOP :
35:   CONST0 ASSIGN_LOCAL_AND_POP : CLEAR_LOCAL($2a)      // Remove clearing of locals from the beginning of functions - CLEAR_LOCAL [(fifo_len == (long)instrbuf.s.len / (long)sizeof(p_instr)) && $1a>=remove_clear_locals] : - CLEAR_2_LOCAL [(fifo_len == (long)instrbuf.s.len / (long)sizeof(p_instr)) && $1a>=remove_clear_locals] : - CLEAR_4_LOCAL [(fifo_len == (long)instrbuf.s.len / (long)sizeof(p_instr)) && $1a>=remove_clear_locals] : + START_FUNCTION LABEL(0) CLEAR_LOCAL : LABEL(0) + START_FUNCTION LABEL(0) CLEAR_2_LOCAL : LABEL(0) + START_FUNCTION LABEL(0) CLEAR_4_LOCAL : LABEL(0)    -  + START_FUNCTION CLEAR_LOCAL : + START_FUNCTION CLEAR_2_LOCAL : + START_FUNCTION CLEAR_4_LOCAL : +    CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a) : CLEAR_LOCAL($1a)   CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a+1) : CLEAR_2_LOCAL($1a)   CLEAR_2_LOCAL CLEAR_2_LOCAL($1a+2) : CLEAR_4_LOCAL($1a)
297:         RECUR RETURN: TAIL_RECUR ($1a) - MARK TAIL_RECUR : BRANCH ($1a) +     -  + // This doesn't really work + // MARK TAIL_RECUR : BRANCH ($1a) +    ASSIGN_LOCAL BRANCH_WHEN_ZERO 2_LOCALS(,$1a) BRANCH_WHEN_EQ : ASSIGN_LOCAL($1a) BRANCH_AND_POP_WHEN_ZERO($2a) LOCAL($3a) BRANCH_WHEN_EQ($4a)   ASSIGN_LOCAL BRANCH_WHEN_ZERO 2_LOCALS(,$1a) BRANCH_WHEN_NE : ASSIGN_LOCAL($1a) BRANCH_AND_POP_WHEN_ZERO($2a) LOCAL($3a) BRANCH_WHEN_NE($4a)