pike.git / src / peep.in

version» Context lines:

pike.git/src/peep.in:62:   ASSIGN_GLOBAL_NUMBER_AND_POP GLOBAL($1a) : ASSIGN_GLOBAL_NUMBER_AND_POP($1a,$1b) NUMBER($1b)   NUMBER COMPL: NUMBER(~$1a)   ASSIGN_LOCAL_NUMBER_AND_POP LOCAL_LVALUE LOCAL($1a) : ASSIGN_LOCAL_NUMBER_AND_POP($1a,$1b) LOCAL_LVALUE($2a) NUMBER($1b)   ASSIGN_GLOBAL_NUMBER_AND_POP GLOBAL_LVALUE GLOBAL($1a) : ASSIGN_GLOBAL_NUMBER_AND_POP($1a,$1b) GLOBAL_LVALUE($2a) NUMBER($1b)   ASSIGN_LOCAL_NUMBER_AND_POP GLOBAL_LVALUE LOCAL($1a) : ASSIGN_LOCAL_NUMBER_AND_POP($1a,$1b) GLOBAL_LVALUE($2a) NUMBER($1b)      // Ok, this is ridiculously specific, but it is generated by for(..)   // when the variable is not used, like above, but for globals:   ASSIGN_GLOBAL_NUMBER_AND_POP[$1b > -0x80000000] GLOBAL_LVALUE($1a) DEC: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b - 1) NUMBER($1b - 1)    - ASSIGN_GLOBAL_NUMBER_AND_POP[$1b < 0x80000000] GLOBAL_LVALUE($1a) INC: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b + 1) NUMBER($1b + 1) + ASSIGN_GLOBAL_NUMBER_AND_POP[$1b < 0x7fffffff] GLOBAL_LVALUE($1a) INC: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b + 1) NUMBER($1b + 1)      ASSIGN_GLOBAL_NUMBER_AND_POP[$1b > -0x80000000] GLOBAL_LVALUE($1a) DEC_AND_POP: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b - 1) - ASSIGN_GLOBAL_NUMBER_AND_POP[$1b < 0x80000000] GLOBAL_LVALUE($1a) INC_AND_POP: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b + 1) + ASSIGN_GLOBAL_NUMBER_AND_POP[$1b < 0x7fffffff] GLOBAL_LVALUE($1a) INC_AND_POP: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b + 1)      LOCAL_LVALUE LOCAL ADD_TO_AND_POP : ADD_LOCALS_AND_POP($1a,$2a)   LOCAL_LVALUE NUMBER ADD_TO_AND_POP: ADD_LOCAL_INT_AND_POP($1a,$2a)   LOCAL_LVALUE CONST_1 ADD_TO_AND_POP: ADD_LOCAL_INT_AND_POP($1a,-1)   LOCAL_LVALUE CONST1 ADD_TO_AND_POP: ADD_LOCAL_INT_AND_POP($1a,1)   LOCAL_LVALUE CONST0 ADD_TO_AND_POP:      NUMBER ASSIGN_LOCAL_AND_POP : ASSIGN_LOCAL_NUMBER_AND_POP($2a,$1a)   CONST0 ASSIGN_LOCAL_AND_POP : CLEAR_LOCAL($2a)   CONST1 ASSIGN_LOCAL_AND_POP : ASSIGN_LOCAL_NUMBER_AND_POP($2a,1)
pike.git/src/peep.in:399:   // It is not really neccessary to set up a frame for these cases.   // Deluxe version: Also avoid the argument/local clearing, asm-level   // register pushing etc.   //   // These are functions returning a constant, and doing nothing else.   MARK_AT(0) POP_TO_MARK INIT_FRAME RETURN_0 : RETURN_0   MARK_AT(0) POP_TO_MARK INIT_FRAME RETURN_1 : RETURN_1   MARK_AT(0) POP_TO_MARK INIT_FRAME NUMBER RETURN : NUMBER($4a) RETURN   MARK_AT(0) POP_TO_MARK INIT_FRAME STRING RETURN : STRING($4a) RETURN   MARK_AT(0) POP_TO_MARK INIT_FRAME CONSTANT RETURN : CONSTANT($4a) RETURN - MARK_AT(0) POP_TO_MARK INIT_FRAME NUMBER RETURN : NUMBER($4a) RETURN - MARK_AT(0) POP_TO_MARK INIT_FRAME STRING RETURN : STRING($4a) RETURN - MARK_AT(0) POP_TO_MARK INIT_FRAME CONSTANT RETURN : CONSTANT RETURN + MARK_AT(0) POP_TO_MARK INIT_FRAME NEG_NUMBER RETURN : NEG_NUMBER($4a) RETURN      // Branches that jump to the next instruction   // Basic branches   BRANCH LABEL($1a) : LABEL($1a)   BRANCH_WHEN_ZERO LABEL($1a) : POP_VALUE LABEL($1a)   BRANCH_WHEN_NON_ZERO LABEL($1a) : POP_VALUE LABEL($1a)   BRANCH_WHEN_EQ LABEL($1a) : POP_VALUE POP_VALUE LABEL($1a)   BRANCH_WHEN_NE LABEL($1a) : POP_VALUE POP_VALUE LABEL($1a)   BRANCH_WHEN_LT LABEL($1a) : POP_VALUE POP_VALUE LABEL($1a)   BRANCH_WHEN_LE LABEL($1a) : POP_VALUE POP_VALUE LABEL($1a)