diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-08-08 20:19:42 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-08-08 20:19:42 (GMT) |
commit | 24197ad684cf243d80448a14b0aead5099299150 (patch) | |
tree | 39b9cee670b71ee268525cf87d7147619a10f785 /generic/tclExecute.c | |
parent | 92323ee89fde3546b7c0895aadd4e8e6563e6322 (diff) | |
parent | 987422a01fa6e334f2028ed6859b2de9a20c3423 (diff) | |
download | tcl-24197ad684cf243d80448a14b0aead5099299150.zip tcl-24197ad684cf243d80448a14b0aead5099299150.tar.gz tcl-24197ad684cf243d80448a14b0aead5099299150.tar.bz2 |
merge trunk
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index f8ed667..f6072a1 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -2006,8 +2006,8 @@ TclNRExecuteByteCode( bcFramePtr->litarg = NULL; bcFramePtr->data.tebc.codePtr = codePtr; bcFramePtr->data.tebc.pc = NULL; - bcFramePtr->cmd.str.cmd = NULL; - bcFramePtr->cmd.str.len = 0; + bcFramePtr->cmd = NULL; + bcFramePtr->len = 0; #ifdef TCL_COMPILE_STATS iPtr->stats.numExecutions++; @@ -8774,13 +8774,15 @@ TclGetSrcInfoForPc( { ByteCode *codePtr = (ByteCode *) cfPtr->data.tebc.codePtr; - if (cfPtr->cmd.str.cmd == NULL) { - cfPtr->cmd.str.cmd = GetSrcInfoForPc( + assert(cfPtr->type == TCL_LOCATION_BC); + assert(cfPtr->cmd == NULL); + + cfPtr->cmd = GetSrcInfoForPc( (unsigned char *) cfPtr->data.tebc.pc, codePtr, - &cfPtr->cmd.str.len, NULL, NULL); - } + &cfPtr->len, NULL, NULL); - if (cfPtr->cmd.str.cmd != NULL) { + assert(cfPtr->cmd != NULL); + { /* * We now have the command. We can get the srcOffset back and from * there find the list of word locations for this command. @@ -8797,7 +8799,7 @@ TclGetSrcInfoForPc( return; } - srcOffset = cfPtr->cmd.str.cmd - codePtr->source; + srcOffset = cfPtr->cmd - codePtr->source; eclPtr = Tcl_GetHashValue(hePtr); for (i=0; i < eclPtr->nuloc; i++) { |