Posted to tcl by kbk at Fri Oct 29 14:54:11 GMT 2010view pretty

Compiling body of proc "x"

ByteCode 0x0x9d44dd8, refCt 1, epoch 4, interp 0x0x9cd9ab8 (epoch 4)
  Source "\n    variable result1\n    for {set i 0} {$i < 100} {inc"
  Cmds 10, src 255, inst 177, litObjs 8, aux 0, stkDepth 6, code/src 1.91
  Code 488 = header 104+inst 177+litObj 32+exc 112+aux 0+cmdMap 56
  Proc 0x0x9d4a480, refCt 1, args 0, compiled locals 7
      slot 0, scalar, "result1"
      slot 1, scalar, "i"
      slot 2, scalar, "status2"
      slot 3, scalar, "result2"
      slot 4, scalar, "options2"
      slot 5, scalar, "status1"
      slot 6, scalar, "options1"
  Exception ranges 4, depth 3:
      0: level 0, loop, pc 29-149, continue 151, break 174
      1: level 0, loop, pc 151-162, continue -1, break 174
      2: level 1, catch, pc 43-107, catch 125
      3: level 2, catch, pc 57-78, catch 96
  Commands 10:
      1: pc 0-9, src 5-20        2: pc 10-175, src 26-253
      3: pc 19-22, src 31-37        4: pc 29-137, src 63-203
      5: pc 38-134, src 76-202        6: pc 43-107, src 89-182
      7: pc 52-105, src 102-181        8: pc 57-78, src 112-157
      9: pc 138-149, src 206-247       10: pc 151-162, src 52-57
  Command 1: "variable result1"
    (0) push1 0 	# "result1"
    (2) variable %v0 	# var "result1"
    (7) push1 1 	# ""
    (9) pop 
  Command 2: "for {set i 0} {$i < 100} {incr i} {\n\tset status2 [catch"
    (10) startCommand +166 2 	# next cmd at pc 176, 2 cmds start here
  Command 3: "set i 0"
    (19) push1 2 	# "0"
    (21) storeScalar1 %v1 	# var "i"
    (23) pop 
    (24) jump4 +140 	# pc 164
  Command 4: "set status2 [catch {\n\t    set status1 [catch {\n\t\treturn"
    (29) startCommand +108 2 	# next cmd at pc 137, 2 cmds start here
  Command 5: "catch {\n\t    set status1 [catch {\n\t\treturn -code error "
    (38) beginCatch4 2 
  Command 6: "set status1 [catch {\n\t\treturn -code error -level 0 \"ori"
    (43) startCommand +65 2 	# next cmd at pc 108, 2 cmds start here
  Command 7: "catch {\n\t\treturn -code error -level 0 \"original failure"
    (52) beginCatch4 3 
  Command 8: "return -code error -level 0 \"original failure\""
    (57) startCommand +22 1 	# next cmd at pc 79
    (66) push1 3 	# "original failure"
    (68) push1 4 	# ""
    (70) returnImm +1 0 
    (79) pushReturnOpts 
    (80) over 1 
    (85) storeScalar1 %v0 	# var "result1"
    (87) pop 
    (88) storeScalar1 %v6 	# var "options1"
    (90) pop 
    (91) pop 
    (92) push1 2 	# "0"
    (94) jump1 +11 	# pc 105
    (96) pushReturnOpts 
    (97) pushResult 
    (98) storeScalar1 %v0 	# var "result1"
    (100) pop 
    (101) storeScalar1 %v6 	# var "options1"
    (103) pop 
    (104) pushReturnCode 
    (105) endCatch 
    (106) storeScalar1 %v5 	# var "status1"
    (108) pushReturnOpts 
    (109) over 1 
    (114) storeScalar1 %v3 	# var "result2"
    (116) pop 
    (117) storeScalar1 %v4 	# var "options2"
    (119) pop 
    (120) pop 
    (121) push1 2 	# "0"
    (123) jump1 +11 	# pc 134
    (125) pushReturnOpts 
    (126) pushResult 
    (127) storeScalar1 %v3 	# var "result2"
    (129) pop 
    (130) storeScalar1 %v4 	# var "options2"
    (132) pop 
    (133) pushReturnCode 
    (134) endCatch 
    (135) storeScalar1 %v2 	# var "status2"
    (137) pop 
  Command 9: "lappend retval $status2 $result2 $options2"
    (138) push1 5 	# "lappend"
    (140) push1 6 	# "retval"
    (142) loadScalar1 %v2 	# var "status2"
    (144) loadScalar1 %v3 	# var "result2"
    (146) loadScalar1 %v4 	# var "options2"
    (148) invokeStk1 5 
    (150) pop 
  Command 10: "incr i"
    (151) startCommand +12 1 	# next cmd at pc 163
    (160) incrScalar1Imm %v1 +1 	# var "i"
    (163) pop 
    (164) loadScalar1 %v1 	# var "i"
    (166) push1 7 	# "100"
    (168) lt 
    (169) jumpTrue4 -140 	# pc 29
    (174) push1 1 	# ""
    (176) done