pike.git / src / peep.in

version» Context lines:

pike.git/src/peep.in:1:   // - // $Id: peep.in,v 1.29 2000/04/25 09:32:46 hubbe Exp $ + // $Id: peep.in,v 1.30 2000/04/27 02:12:05 hubbe Exp $   //      NOP :   POP_N_ELEMS (0) :   POP_N_ELEMS POP_VALUE : POP_N_ELEMS ($1a + 1)   POP_VALUE POP_VALUE : POP_N_ELEMS (2)   POP_VALUE POP_N_ELEMS : POP_N_ELEMS ($2a + 1)   POP_N_ELEMS POP_N_ELEMS : POP_N_ELEMS ($1a + $2a)   POP_N_ELEMS(1) : POP_VALUE   
pike.git/src/peep.in:57:   CONST_1 XOR: COMPL   CONST0 RETURN: RETURN_0   CONST1 RETURN: RETURN_1   INC POP_VALUE: INC_AND_POP   POST_INC POP_VALUE: INC_AND_POP   DEC POP_VALUE: DEC_AND_POP   POST_DEC POP_VALUE: DEC_AND_POP   NOT BRANCH_WHEN_NON_ZERO: BRANCH_WHEN_ZERO($2a)   NOT BRANCH_WHEN_ZERO: BRANCH_WHEN_NON_ZERO($2a)    + POP_VALUE RETURN_0: RETURN_0 + POP_N_ELEMS RETURN_0: RETURN_0 + POP_VALUE RETURN_1: RETURN_1 + POP_N_ELEMS RETURN_1: RETURN_1 +    BRANCH !LABEL : BRANCH($1a)   RETURN !LABEL : RETURN   RETURN_0 !LABEL : RETURN_0   RETURN_1 !LABEL : RETURN_1   RETURN_LOCAL !LABEL : RETURN_LOCAL($1a)   APPLY_AND_RETURN !LABEL : APPLY_AND_RETURN($1a)   CALL_FUNCTION_AND_RETURN !LABEL : CALL_FUNCTION_AND_RETURN($1a)   CALL_LFUN_AND_RETURN !LABEL : CALL_LFUN_AND_RETURN($1a)   BRANCH LABEL ($1a) : LABEL ($1a)   
pike.git/src/peep.in:245:    BasicBranch2(Branch,Oper,Pre,Post,LOCAL) \    BasicBranch2(Branch,Oper,Pre,Post,GLOBAL)      #define BasicBranch0(Branch,Oper) \    BasicBranch1(Branch,Oper,MARK,MARK_X(1)) \    BasicBranch1(Branch,Oper, , )      BasicBranch0(BRANCH_WHEN_NON_ZERO, BRANCH_AND_POP_WHEN_NON_ZERO)   BasicBranch0(BRANCH_WHEN_ZERO, BRANCH_AND_POP_WHEN_ZERO)    + #define SimpleBranch(Sequence,X) \ +  Sequence BRANCH_WHEN_ZERO Sequence : Sequence BRANCH_AND_POP_WHEN_ZERO ( X ) ; \ +  Sequence BRANCH_WHEN_ZERO MARK Sequence : Sequence BRANCH_AND_POP_WHEN_ZERO ( X ) MARK_X(1) ; +  + SimpleBranch( LOCAL_ARROW($1a, $1b), $2a ) + SimpleBranch( LOCAL_ARROW($1a, $1b) ARROW($2a), $3a ) + SimpleBranch( LOCAL_ARROW($1a, $1b) ARROW($2a) ARROW($3a), $4a ) + SimpleBranch( LOCAL_ARROW($1a, $1b) ARROW($2a) ARROW($3a) ARROW($4a), $5a ) +  + SimpleBranch( GLOBAL($1a) ARROW ($2a), $3a ) +    LOCAL ASSIGN_LOCAL_AND_POP : LOCAL_2_LOCAL($2a,$1a)   GLOBAL ASSIGN_LOCAL_AND_POP : GLOBAL_2_LOCAL($1a,$2a)   LOCAL ASSIGN_GLOBAL_AND_POP : LOCAL_2_GLOBAL($2a,$1a)      LOCAL ARROW : LOCAL_ARROW($2a,$1a)   LOCAL_ARROW BRANCH_WHEN_ZERO: BRANCH_IF_NOT_LOCAL_ARROW($1a,$1b) POINTER($2a)      GLOBAL LOCAL_INDEX : GLOBAL_LOCAL_INDEX($1a,$2a)      SIZEOF CONST1 BRANCH_WHEN_LT : SIZEOF BRANCH_WHEN_ZERO ($3a)
pike.git/src/peep.in:272:   NUMBER POP_VALUE :   STRING POP_VALUE :   FLOAT POP_VALUE :   CONSTANT POP_VALUE :   LOCAL POP_VALUE :   IDENTIFIER POP_VALUE :   TRAMPOLINE POP_VALUE :         RECUR RETURN: TAIL_RECUR ($1a) + MARK TAIL_RECUR : BRANCH ($1a) +  + ASSIGN_LOCAL BRANCH_WHEN_ZERO 2_LOCALS(,$1a) BRANCH_WHEN_EQ : ASSIGN_LOCAL 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 BRANCH_AND_POP_WHEN_ZERO($2a) LOCAL($3a) BRANCH_WHEN_NE($4a) +  + /* This will facilitate other optimizations I hope */ + CLEAR_LOCAL MARK LOCAL [ $1a != $3a ] : MARK LOCAL($3a) CLEAR_LOCAL($1a) +  + /* The result of this optimization could be reordered... */ + CLEAR_LOCAL MARK LOCAL($1a) : MARK CLEAR_LOCAL($1a) CONST0