summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-08-08 20:19:42 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-08-08 20:19:42 (GMT)
commit24197ad684cf243d80448a14b0aead5099299150 (patch)
tree39b9cee670b71ee268525cf87d7147619a10f785 /generic/tclExecute.c
parent92323ee89fde3546b7c0895aadd4e8e6563e6322 (diff)
parent987422a01fa6e334f2028ed6859b2de9a20c3423 (diff)
downloadtcl-24197ad684cf243d80448a14b0aead5099299150.zip
tcl-24197ad684cf243d80448a14b0aead5099299150.tar.gz
tcl-24197ad684cf243d80448a14b0aead5099299150.tar.bz2
merge trunk
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c18
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++) {