home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / ext / B / ramblings / reg.alloc < prev    next >
Text File  |  1999-07-20  |  633b  |  33 lines

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