Posted to tcl by kbk at Thu Apr 04 17:27:59 GMT 2019view raw

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