Index: generic/nsfInt.h =================================================================== diff -u -r5d1617640ad71fd52b069f81cfcadbe4cbb6f2a2 -rabc6afbec5bf2984e6480f32f91829b54c1d8c91 --- generic/nsfInt.h (.../nsfInt.h) (revision 5d1617640ad71fd52b069f81cfcadbe4cbb6f2a2) +++ generic/nsfInt.h (.../nsfInt.h) (revision abc6afbec5bf2984e6480f32f91829b54c1d8c91) @@ -486,6 +486,10 @@ NsfCmdList *objFilters; NsfCmdList *objMixins; ClientData clientData; +#if defined(PER_OBJECT_PARAMETER_CACHING) + NsfParsedParam *parsedParamPtr; + int classParamPtrEpoch; +#endif CONST char *volatileVarName; short checkoptions; } NsfObjectOpt; @@ -781,6 +785,9 @@ Tcl_Command currentMixinCmdPtr; /* cmdPtr of currently active mixin, used for "info activemixin" */ int objectMethodEpoch; int instanceMethodEpoch; +#if defined(PER_OBJECT_PARAMETER_CACHING) + int classParamPtrEpoch; +#endif Tcl_Obj **methodObjNames; /* global objects of nsf */ struct NsfShadowTclCommandInfo *tclCommands; /* shadowed Tcl commands */ @@ -961,6 +968,12 @@ # define NsfObjectMethodEpochIncr(msg) RUNTIME_STATE(interp)->objectMethodEpoch++ #endif +#if defined(PER_OBJECT_PARAMETER_CACHING) +# define NsfClassParamPtrEpochIncr(msg) RUNTIME_STATE(interp)->classParamPtrEpoch++ +#else +# define NsfClassParamPtrEpochIncr(msg) +#endif + /* * NsfFlag type */