Posted to tcl by kbk at Thu Apr 04 17:37:38 GMT 2019view raw

  1. % proc one {a b} { + $a $b }; tcl::unsupported::disassemble proc one
  2. ByteCode 0x0x15c4290, refCt 1, epoch 15, interp 0x0x15937f0 (epoch 15)
  3. Source " + $a $b "
  4. Cmds 1, src 9, inst 6, litObjs 0, aux 0, stkDepth 2, code/src 0.00
  5. Proc 0x0x15e9540, refCt 1, args 2, compiled locals 2
  6. slot 0, scalar, arg, "a"
  7. slot 1, scalar, arg, "b"
  8. Commands 1:
  9. 1: pc 0-4, src 1-8
  10. Command 1: "+ $a $b "
  11. (0) loadScalar1 %v0 # var "a"
  12. (2) loadScalar1 %v1 # var "b"
  13. (4) add
  14. (5) done
  15.  
  16. % proc two {a b} { expr {$a + $b} }; tcl::unsupported::disassemble proc two
  17. ByteCode 0x0x1672770, refCt 1, epoch 15, interp 0x0x15937f0 (epoch 15)
  18. Source " expr {$a + $b} "
  19. Cmds 1, src 16, inst 6, litObjs 0, aux 0, stkDepth 2, code/src 0.00
  20. Proc 0x0x15f5cf0, refCt 1, args 2, compiled locals 2
  21. slot 0, scalar, arg, "a"
  22. slot 1, scalar, arg, "b"
  23. Commands 1:
  24. 1: pc 0-4, src 1-15
  25. Command 1: "expr {$a + $b} "
  26. (0) loadScalar1 %v0 # var "a"
  27. (2) loadScalar1 %v1 # var "b"
  28. (4) add
  29. (5) done
  30.  
  31.