summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2017-07-03 13:25:11 (GMT)
committersebres <sebres@users.sourceforge.net>2017-07-03 13:25:11 (GMT)
commitf8149b6c94e868c891f7116ba4a18bd43aa62718 (patch)
tree1a7b2e91e5cb82ee92565b5b7ecf912f27ade64d
parentc63851a26ab53586d457dfcaf73a9afda52092ec (diff)
downloadtcl-f8149b6c94e868c891f7116ba4a18bd43aa62718.zip
tcl-f8149b6c94e868c891f7116ba4a18bd43aa62718.tar.gz
tcl-f8149b6c94e868c891f7116ba4a18bd43aa62718.tar.bz2
optimization of Tcl_LimitExceeded by internal usage (tclInt header)
-rw-r--r--generic/tclInt.h8
-rw-r--r--generic/tclInterp.c2
2 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index e7fbb01..ba15f95 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -4070,6 +4070,14 @@ MODULE_SCOPE void TclBNInitBignumFromWideUInt(mp_int *bignum,
#define TclLimitExceeded(limit) ((limit).exceeded != 0)
+static inline int
+TclInlLimitExceeded(
+ register Tcl_Interp *interp)
+{
+ return (((Interp *)interp)->limit.exceeded != 0);
+}
+#define Tcl_LimitExceeded(interp) TclInlLimitExceeded(interp)
+
#define TclLimitReady(limit) \
(((limit).active == 0) ? 0 : \
(++(limit).granularityTicker, \
diff --git a/generic/tclInterp.c b/generic/tclInterp.c
index 50537de..5f1b958 100644
--- a/generic/tclInterp.c
+++ b/generic/tclInterp.c
@@ -3042,6 +3042,8 @@ Tcl_MakeSafe(
*----------------------------------------------------------------------
*/
+#undef Tcl_LimitExceeded
+
int
Tcl_LimitExceeded(
Tcl_Interp *interp)