Posted to tcl by kbk at Fri Oct 29 14:54:11 GMT 2010view raw
- 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