Posted to tcl by dgp at Wed Sep 24 15:36:10 GMT 2014view raw
- % tcl::unsupported::disassemble proc onData
- ByteCode 0x0x4893800, refCt 1, epoch 15, interp 0x0x4845670 (epoch 15)
- Source "\n set data [split $data \"\r\n\"]\n foreach resp"...
- Cmds 15, src 602, inst 274, litObjs 19, aux 1, stkDepth 7, code/src 0.00
- Proc 0x0x489f570, refCt 1, args 2, compiled locals 3
- slot 0, scalar, arg, "socketID"
- slot 1, scalar, arg, "data"
- slot 2, scalar, "response"
- Exception ranges 3, depth 2:
- 0: level 0, loop, pc 27-267, continue 269, break 270
- 1: level 1, catch, pc 100-112, catch 117
- 2: level 1, catch, pc 157-169, catch 174
- Commands 15:
- 1: pc 0-10, src 5-33 2: pc 0-7, src 15-32
- 3: pc 11-272, src 39-600 4: pc 27-62, src 72-171
- 5: pc 36-38, src 77-99 6: pc 44-57, src 154-161
- 7: pc 63-267, src 181-594 8: pc 86-125, src 233-269
- 9: pc 100-112, src 240-268 10: pc 143-182, src 299-338
- 11: pc 157-169, src 306-337 12: pc 213-218, src 389-416
- 13: pc 233-238, src 443-470 14: pc 253-258, src 495-520
- 15: pc 262-267, src 544-583
- Command 1: "set data [split $data \"\r\n\""...
- Command 2: "split $data \"\r\n"...
- (0) push1 0 # "split"
- (2) loadScalar1 %v1 # var "data"
- (4) push1 1 # "\r"...
- (6) invokeStk1 3
- (8) storeScalar1 %v1 # var "data"
- (10) pop
- Command 3: "foreach response $data {\n if {[string length $r"...
- (11) startCommand +262 1 # next cmd at pc 273
- (20) loadScalar1 %v1 # var "data"
- (22) foreach_start 0
- [jumpOffset=-242, vars=[%v2]]
- Command 4: "if {[string length $response] < 1} {\n # Nul"...
- (27) startCommand +35 2 # next cmd at pc 62, 2 cmds start here
- Command 5: "string length $response"...
- (36) loadScalar1 %v2 # var "response"
- (38) strlen
- (39) push1 2 # "1"
- (41) lt
- (42) jumpFalse1 +18 # pc 60
- Command 6: "continue"...
- (44) startCommand +14 1 # next cmd at pc 58
- (53) jump4 +216 # pc 269
- (58) jump1 +4 # pc 62
- (60) push1 3 # ""
- (62) pop
- Command 7: "switch -glob -- $response {\n \"*login:*\" {"...
- (63) startCommand +205 1 # next cmd at pc 268
- (72) loadScalar1 %v2 # var "response"
- (74) push1 4 # "*login:*"
- (76) over 1
- (81) strmatch +0
- (83) jumpFalse1 +48 # pc 131
- (85) pop
- Command 8: "catch {send $socketID \"$::login\r\n\""...
- (86) startCommand +40 1 # next cmd at pc 126
- (95) beginCatch4 1
- Command 9: "send $socketID \"$::login\r\n"...
- (100) push1 5 # "send"
- (102) loadScalar1 %v0 # var "socketID"
- (104) push1 6 # "::login"
- (106) loadStk
- (107) push1 1 # "\r"...
- (109) strcat 2
- (111) invokeStk1 3
- (113) push1 7 # "0"
- (115) jump1 +4 # pc 119
- (117) pushResult
- (118) pushReturnCode
- (119) endCatch
- (120) reverse 2
- (125) pop
- (126) jump4 +142 # pc 268
- (131) push1 8 # "*password:*"
- (133) over 1
- (138) strmatch +0
- (140) jumpFalse1 +45 # pc 185
- (142) pop
- Command 10: "catch {send $socketID \"$::password\r\n\""...
- (143) startCommand +40 1 # next cmd at pc 183
- (152) beginCatch4 2
- Command 11: "send $socketID \"$::password\r\n"...
- (157) push1 5 # "send"
- (159) loadScalar1 %v0 # var "socketID"
- (161) push1 9 # "::password"
- (163) loadStk
- (164) push1 1 # "\r"...
- (166) strcat 2
- (168) invokeStk1 3
- (170) push1 7 # "0"
- (172) jump1 +4 # pc 176
- (174) pushResult
- (175) pushReturnCode
- (176) endCatch
- (177) reverse 2
- (182) pop
- (183) jump1 +85 # pc 268
- (185) push1 10 # "*GNET*"
- (187) over 1
- (192) strmatch +0
- (194) jumpFalse1 +7 # pc 201
- (196) pop
- (197) push1 3 # ""
- (199) jump1 +69 # pc 268
- (201) push1 11 # "~OUTPUT*"
- (203) over 1
- (208) strmatch +0
- (210) jumpFalse1 +11 # pc 221
- (212) pop
- Command 12: "puts \"Output Event Received"...
- (213) push1 12 # "puts"
- (215) push1 13 # "Output Event Received"
- (217) invokeStk1 2
- (219) jump1 +49 # pc 268
- (221) push1 14 # "~DEVICE*"
- (223) over 1
- (228) strmatch +0
- (230) jumpFalse1 +11 # pc 241
- (232) pop
- Command 13: "puts \"Device Event Received"...
- (233) push1 12 # "puts"
- (235) push1 15 # "Device Event Received"
- (237) invokeStk1 2
- (239) jump1 +29 # pc 268
- (241) push1 16 # "~HVAC*"
- (243) over 1
- (248) strmatch +0
- (250) jumpFalse1 +11 # pc 261
- (252) pop
- Command 14: "puts \"HVAC Event Received"...
- (253) push1 12 # "puts"
- (255) push1 17 # "HVAC Event Received"
- (257) invokeStk1 2
- (259) jump1 +9 # pc 268
- (261) pop
- Command 15: "puts \"Unknown Data Received from Device"...
- (262) push1 12 # "puts"
- (264) push1 18 # "Unknown Data Received from Device"
- (266) invokeStk1 2
- (268) pop
- (269) foreach_step
- (270) foreach_end
- (271) push1 3 # ""
- (273) done