Posted to tcl by dkf at Tue Mar 31 18:37:56 GMT 2015view raw

  1. This is missing a “free {} {var s 16}” after instruction 7.
  2.  
  3. ::appendtest2------>
  4. 0: param {var n 0} {arg 0} : INT
  5. 1: copy {var s 1} {literal {}} : STRING STRING
  6. 2: copy {var i 2} {literal 1} : INT INT
  7. 3: jump {pc 15} :
  8. 4: gt {temp 0 4} {var i 17} {literal 1} : INT INT INT
  9. 5: jumpFalse {pc 28} {temp 0 4} : INT
  10. 6: free {} {temp 0 4} : INT
  11. 7: strcat {var s 7} {var s 16} {literal ,} : STRING STRING STRING
  12. 8: jump {pc 9} :
  13. 9: confluence :
  14. 10: phi {var s 10} {var s 7} {pc 8} {var s 16} {pc 29} : STRING STRING STRING
  15. 11: strcat {var s 11} {var s 10} {var i 17} : STRING STRING INT
  16. 12: free {} {var s 10} : STRING
  17. 13: add {var i 13} {var i 17} {literal 1} : INT INT INT
  18. 14: free {} {var i 17} : INT
  19. 15: confluence :
  20. 16: phi {var s 16} {var s 1} {pc 3} {var s 11} {pc 14} : STRING STRING STRING
  21. 17: phi {var i 17} {var i 2} {pc 3} {var i 13} {pc 14} : INT INT INT
  22. 18: invoke {temp 1 18} {literal tcl::mathfunc::int} {var n 0} : INT STRING INT
  23. 19: le {temp 0 19} {var i 17} {temp 1 18} : INT INT INT
  24. 20: free {} {temp 1 18} : INT
  25. 21: jumpTrue {pc 26} {temp 0 19} : INT
  26. 22: free {} {var n 0} : INT
  27. 23: free {} {var i 17} : INT
  28. 24: free {} {temp 0 19} : INT
  29. 25: return {} {var s 16} : STRING
  30. 26: free {} {temp 0 19} : INT
  31. 27: jump {pc 4} :
  32. 28: free {} {temp 0 4} : INT
  33. 29: jump {pc 9} :
  34.