Branch: Tag:

2002-02-26

2002-02-26 18:56:56 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Backported fix for too optimistic optimization from Pike 7.3.

Rev: src/peep.in:1.48

1:   // - // $Id: peep.in,v 1.47 2001/02/09 17:30:21 hubbe Exp $ + // $Id: peep.in,v 1.48 2002/02/26 18:56:56 grubba Exp $   //      NOP :
40:   LOCAL_2_LOCAL [$1a == $1b] :      // Remove clearing of locals from the beginning of functions - 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) + // But don't remove clearing of arguments! + BYTE START_FUNCTION LABEL(0) CLEAR_LOCAL [$1a <= $4a] : BYTE($1a) START_FUNCTION LABEL(0) + BYTE START_FUNCTION LABEL(0) CLEAR_2_LOCAL [$1a <= $4a] : BYTE($1a) START_FUNCTION LABEL(0) + BYTE START_FUNCTION LABEL(0) CLEAR_4_LOCAL [$1a <= $4a] : BYTE($1a) START_FUNCTION LABEL(0)    - START_FUNCTION CLEAR_LOCAL : - START_FUNCTION CLEAR_2_LOCAL : - START_FUNCTION CLEAR_4_LOCAL : + BYTE START_FUNCTION CLEAR_LOCAL [$1a <= $3a] : BYTE($1a) START_FUNCTION + BYTE START_FUNCTION CLEAR_2_LOCAL [$1a <= $3a] : BYTE($1a) START_FUNCTION + BYTE START_FUNCTION CLEAR_4_LOCAL [$1a <= $3a] : BYTE($1a) START_FUNCTION      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)