Posted to tcl by kbk at Mon Mar 13 14:51:30 GMT 2017view pretty
% proc bar {vname} { upvar 1 $vname v puts $v } % tcl::unsupported::disassemble proc bar ByteCode 0x0x13f6e10, refCt 1, epoch 15, interp 0x0x13665b0 (epoch 15) Source "\n upvar 1 $vname v\n puts $..." Cmds 2, src 34, inst 20, litObjs 3, aux 0, stkDepth 2, code/src 0.00 Proc 0x0x13c6ea0, refCt 1, args 1, compiled locals 2 slot 0, scalar, arg, "vname" slot 1, scalar, "v" Commands 2: 1: pc 0-12, src 5-20 2: pc 13-18, src 26-32 Command 1: "upvar 1 $vname v..." (0) push1 0 # "1" (2) loadScalar1 %v0 # var "vname" (4) upvar %v1 # var "v" (9) pop (10) nop (11) nop (12) nop Command 2: "puts $v..." (13) push1 2 # "puts" (15) loadScalar1 %v1 # var "v" (17) invokeStk1 2 (19) done