pike.git/
src/
peep.in
Branch:
Tag:
Non-build tags
All tags
No tags
2014-09-01
2014-09-01 11:25:40 by Per Hedbor <ph@opera.com>
1edc907c251acd89b116c9b0387d7013c2b4b9e9 (
24
lines) (+
13
/-
11
)
[
Show
|
Annotate
]
Branch:
8.0
Do not remove *_int pop_n_elems if the number of elements to pop is 0.
5:
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_VALUE POP_VALUE : POP_N_ELEMS (2)
POP_N_ELEMS POP_N_ELEMS : POP_N_ELEMS ($1a + $2a) POP_N_ELEMS(1) : POP_VALUE POP_VALUE POP_TO_MARK : POP_TO_MARK
639:
CONST1 POP_N_ELEMS [$2a > 0]: POP_N_ELEMS($2a-1) CONST_1 POP_N_ELEMS [$2a > 0]: POP_N_ELEMS($2a-1) BIGNUM POP_N_ELEMS [$2a > 0]: POP_N_ELEMS($2a-1)
-
MOD_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
LSH_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
RSH_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
SUBTRACT_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
ADD_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
AND_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
OR_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
XOR_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
DIVIDE_INT POP_N_ELEMS: POP_N_ELEMS($2a)
-
MULTIPLY_INT POP_N_ELEMS: POP_N_ELEMS($2a)
+
MOD_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
LSH_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
RSH_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
SUBTRACT_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
ADD_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
ADD_NEG_INT POP_N_ELEMS[$2a > 0]: POP_N_ELEMS($2a)
+
AND_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
OR_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
XOR_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
DIVIDE_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
+
MULTIPLY_INT POP_N_ELEMS
[$2a > 0]
: POP_N_ELEMS($2a)
RECUR RETURN [check_tailrecursion()] : TAIL_RECUR ($1a)