diff options
| author | dgp@users.sourceforge.net <dgp> | 2011-05-31 20:36:31 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2011-05-31 20:36:31 (GMT) |
| commit | a8503e904eb205db71a253e152a2394e1039c400 (patch) | |
| tree | d04f46f284569671adefc78cfe80a141947431be /generic/tclInt.h | |
| parent | 6593c167d4c24fc3b2496b7b177ebf96773bebfd (diff) | |
| parent | 9b7074655dd815162eed5312d42ffd5749dc4562 (diff) | |
| download | tcl-a8503e904eb205db71a253e152a2394e1039c400.zip tcl-a8503e904eb205db71a253e152a2394e1039c400.tar.gz tcl-a8503e904eb205db71a253e152a2394e1039c400.tar.bz2 | |
Fix bug 3293874
Diffstat (limited to 'generic/tclInt.h')
| -rw-r--r-- | generic/tclInt.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index 8f003be..cde46ac 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -2443,6 +2443,8 @@ typedef struct List { #define LIST_MAX \ (1 + (int)(((size_t)UINT_MAX - sizeof(List))/sizeof(Tcl_Obj *))) +#define LIST_SIZE(numElems) \ + (unsigned)(sizeof(List) + (((numElems) - 1) * sizeof(Tcl_Obj *))) /* * Macro used to get the elements of a list object. @@ -4097,8 +4099,22 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file, *---------------------------------------------------------------- */ +/* General tuning for minimum growth in Tcl growth algorithms */ +#ifndef TCL_MIN_GROWTH +# ifdef TCL_GROWTH_MIN_ALLOC + /* Support for any legacy tuners */ +# define TCL_MIN_GROWTH TCL_GROWTH_MIN_ALLOC +# else +# define TCL_MIN_GROWTH 1024 +# endif +#endif + +/* Token growth tuning, default to the general value. */ +#ifndef TCL_MIN_TOKEN_GROWTH +#define TCL_MIN_TOKEN_GROWTH TCL_MIN_GROWTH/sizeof(Tcl_Token) +#endif + #define TCL_MAX_TOKENS (int)(UINT_MAX / sizeof(Tcl_Token)) -#define TCL_MIN_TOKEN_GROWTH 50 #define TclGrowTokenArray(tokenPtr, used, available, append, staticPtr) \ do { \ int needed = (used) + (append); \ |
