reg.alloc 633 B

123456789101112131415161718192021222324252627282930313233
  1. while ($i--) {
  2. foo();
  3. }
  4. exit
  5. PP code if i an int register if i an int but not a
  6. (i.e. can't be register (i.e. can be
  7. implicitly invalidated) implicitly invalidated)
  8. nextstate
  9. enterloop
  10. loop:
  11. gvsv GV (0xe6078) *i validates i validates i
  12. postdec invalidates $i invalidates $i
  13. and if_false goto out;
  14. i valid; $i invalid i valid; $i invalid
  15. i valid; $i invalid i valid; $i invalid
  16. nextstate
  17. pushmark
  18. gv GV (0xe600c) *foo
  19. entersub validates $i; invals i
  20. unstack
  21. goto loop:
  22. i valid; $i invalid
  23. out:
  24. leaveloop
  25. nextstate
  26. exit