From f8e8a61aa2f9bab6ce062e81264c843b9e5eceda Mon Sep 17 00:00:00 2001 From: dgp Date: Tue, 12 Dec 2006 21:45:03 +0000 Subject: * generic/tclCompExpr.c: Now that the new internal structs are in use to support operator commands, might as well make them the default for [expr] as well and avoid passing every parsed expression through the inefficient Tcl_Token array format. This addresses most issues in [RFE 1517602] Assuming no performance disasters result from this, much dead code supporting the other implementation might now be removed. --- ChangeLog | 8 ++++++++ generic/tclCompExpr.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0059619..d16daef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2006-12-12 Don Porter + * generic/tclCompExpr.c: Now that the new internal structs + are in use to support operator commands, might as well make them + the default for [expr] as well and avoid passing every parsed + expression through the inefficient Tcl_Token array format. This + addresses most issues in [RFE 1517602] Assuming no performance + disasters result from this, much dead code supporting the other + implementation might now be removed. + * generic/tclBasic.c: Final step routing all direct evaluation forms * generic/tclCompExpr.c: of the operator commands through TEBC, * generic/tclCompile.h: dropping all the routines in tclMathOp.c. diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c index 96b5b97..58ddb3b 100644 --- a/generic/tclCompExpr.c +++ b/generic/tclCompExpr.c @@ -10,14 +10,14 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompExpr.c,v 1.44 2006/12/12 17:21:42 dgp Exp $ + * RCS: @(#) $Id: tclCompExpr.c,v 1.45 2006/12/12 21:45:04 dgp Exp $ */ #include "tclInt.h" #include "tclCompile.h" -#define USE_EXPR_TOKENS -#define PARSE_DIRECT_EXPR_TOKENS +#undef USE_EXPR_TOKENS +#undef PARSE_DIRECT_EXPR_TOKENS #ifdef PARSE_DIRECT_EXPR_TOKENS -- cgit v0.12