Plan 9 from Bell Labs’s /usr/web/sources/contrib/gabidiaz/root/sys/src/cmd/perl/ext/B/ramblings/reg.alloc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


while ($i--) {
    foo();
}
exit

    PP code			if i an int register	if i an int but not a
				(i.e. can't be		register (i.e. can be
				implicitly invalidated)	implicitly invalidated)
    nextstate
    enterloop

							
  loop:
    gvsv  GV (0xe6078) *i	validates i		validates i
    postdec			invalidates $i		invalidates $i
    and if_false goto out;
				i valid; $i invalid	i valid; $i invalid

				i valid; $i invalid	i valid; $i invalid
    nextstate
    pushmark
    gv  GV (0xe600c) *foo
    entersub						validates $i; invals i

    unstack
    goto loop:

				i valid; $i invalid
  out:
    leaveloop
    nextstate
    exit

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.