Lines Matching refs:stack

40 my @stack;		# shadows perl's stack when contents are known.
191 sub top_int { @stack ? $stack[-1]->as_int : "TOPi" }
192 sub top_double { @stack ? $stack[-1]->as_double : "TOPn" }
193 sub top_numeric { @stack ? $stack[-1]->as_numeric : "TOPn" }
194 sub top_sv { @stack ? $stack[-1]->as_sv : "TOPs" }
195 sub top_bool { @stack ? $stack[-1]->as_bool : "SvTRUE(TOPs)" }
197 sub pop_int { @stack ? (pop @stack)->as_int : "POPi" }
198 sub pop_double { @stack ? (pop @stack)->as_double : "POPn" }
199 sub pop_numeric { @stack ? (pop @stack)->as_numeric : "POPn" }
200 sub pop_sv { @stack ? (pop @stack)->as_sv : "POPs" }
202 if (@stack) {
203 return ((pop @stack)->as_bool);
251 return unless @stack;
252 runtime(sprintf("EXTEND(sp, %d);", scalar(@stack)));
253 foreach $obj (@stack) {
256 @stack = ();
357 # Context stack shadowing. Mimics stuff in pp_ctl.c, cop.h and so on.
457 sub peek_stack { sprintf "stack = %s\n", join(" ", map($_->minipeek, @stack)) }
510 push(@stack, $obj);
511 # XXX Change to push a constant sv_undef Stackobj onto @stack
520 @stack = ();
530 if (@stack >= 1) {
548 if (@stack >= 1) {
549 my $bool = pop_bool @stack;
577 push(@stack, $pad[$ix]);
605 push(@stack, $obj);
612 @stack = ();
726 if (@stack >= 1) {
728 $stack[-1]->set_int(&$operator($left, $right));
738 push(@stack, $targ);
751 $force_int ||= ($flags & INTS_CLOSED && @stack >= 2
752 && valid_int($stack[-2]) && valid_int($stack[-1]));
755 if (@stack >= 1) {
758 $stack[-1]->set_int(&$operator($left, $right));
760 $stack[-1]->set_numeric(&$operator($left, $right));
791 push(@stack, $targ);
800 if (@stack >= 1) {
803 $stack[-1]->set_int(1);
804 $stack[-1]->write_back();
806 $stack[-1]->set_int(-1);
807 $stack[-1]->write_back();
809 $stack[-1]->set_int(0);
810 $stack[-1]->write_back();
812 $stack[-1]->set_sv("&PL_sv_undef");
845 push(@stack, $targ);
854 if (@stack >= 1) {
857 $stack[-1]->set_int(&$operator($left, $right));
859 $stack[-1]->set_numeric(&$operator($left, $right));
864 $stack[-1]->invalidate;
890 push(@stack, $targ);
902 push(@stack, $bool);
914 push(@stack, $bool);
923 push(@stack, $bool);
1005 if (@stack >= 2) {
1006 $dst = pop @stack;
1007 $src = pop @stack;
1017 push(@stack, $dst);
1018 } elsif (@stack == 1) {
1020 my $src = pop @stack;
1036 my $dst = $stack[-1];
1065 if (@stack >= 1) {
1066 my $obj = $stack[-1];
1883 Outputs the contents of the shadow stack at each OP