diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-05-15 10:41:03 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-05-15 10:41:03 (GMT) |
commit | f4d3ebde2af3c5df88de0299af83dddf06c41822 (patch) | |
tree | e41acfb37b7397d31cf5d91943a5ebf8bd2f7ca6 /generic | |
parent | 1eacac1aa2e8e1f6a11ad280d4d5ac4774672c81 (diff) | |
parent | 1d99d2af062fbf3e3af72e1347840eb3555250dc (diff) | |
download | tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.zip tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.tar.gz tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.tar.bz2 |
merge trunkdkf_bcc_optimize
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclCompile.c | 2 | ||||
-rw-r--r-- | generic/tclExecute.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 1572576..6d07189 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -1133,7 +1133,7 @@ PeepholeOptimize( hPtr = Tcl_FirstHashEntry( &JUMPTABLEINFO(envPtr, pc+1)->hashTable, &hSearch); for (; hPtr ; hPtr = Tcl_NextHashEntry(&hSearch)) { - target = pc + (int) Tcl_GetHashValue(hPtr); + target = pc + PTR2INT(Tcl_GetHashValue(hPtr)); (void) Tcl_CreateHashEntry(&targets, (void *) target, &isNew); } break; diff --git a/generic/tclExecute.c b/generic/tclExecute.c index c7817f8..76fd71a 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -2331,8 +2331,9 @@ TEBCresume( iPtr->cmdCount += TclGetUInt4AtPtr(pc+5); if (checkInterp) { checkInterp = 0; - if ((codePtr->compileEpoch != iPtr->compileEpoch) - || (codePtr->nsEpoch != iPtr->varFramePtr->nsPtr->resolverEpoch)) { + if (((codePtr->compileEpoch != iPtr->compileEpoch) || + (codePtr->nsEpoch != iPtr->varFramePtr->nsPtr->resolverEpoch)) && + !(codePtr->flags & TCL_BYTECODE_PRECOMPILED)) { goto instStartCmdFailed; } } |