summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2006-03-27 23:12:59 (GMT)
committerdgp <dgp@users.sourceforge.net>2006-03-27 23:12:59 (GMT)
commit08f27d432b540392fbc1e86b1e2c273ac0f93d61 (patch)
treec33faff2b096fec28fc87a551e1968a11f0ab8fe
parentfddaeb24ea23f98055f1576a21f735212c92b183 (diff)
downloadtcl-08f27d432b540392fbc1e86b1e2c273ac0f93d61.zip
tcl-08f27d432b540392fbc1e86b1e2c273ac0f93d61.tar.gz
tcl-08f27d432b540392fbc1e86b1e2c273ac0f93d61.tar.bz2
* generic/tclExecute.c: Merge INST_MOD computation in with the
INST_?SHIFT instructions, which also operate only on two integral values. Also corrected flaw that made INST_BITNOT of wide values require mp_int calculations. Also corrected type that missed optimized handling of the tclBooleanType by the TclGetBooleanFromObj macro.
-rw-r--r--ChangeLog4
-rw-r--r--generic/tclExecute.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 4c4aeaf..e05d90a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,7 +18,9 @@
* generic/tclExecute.c: Merge INST_MOD computation in with the
INST_?SHIFT instructions, which also operate only on two integral
values. Also corrected flaw that made INST_BITNOT of wide values
- require mp_int calculations.
+ require mp_int calculations. Also corrected type that missed
+ optimized handling of the tclBooleanType by the TclGetBooleanFromObj
+ macro.
*** 8.5a4 TAGGED FOR RELEASE ***
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 19ec0be..51cb634 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclExecute.c,v 1.233 2006/03/27 22:50:34 dgp Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.234 2006/03/27 23:12:59 dgp Exp $
*/
#include "tclInt.h"
@@ -312,7 +312,7 @@ long tclObjsShared[TCL_MAX_SHARED_OBJ_STATS] = { 0, 0, 0, 0, 0 };
#define TclGetBooleanFromObj(interp, objPtr, boolPtr) \
((((objPtr)->typePtr == &tclIntType) \
- || ((objPtr)->typePtr == &tclIntType)) \
+ || ((objPtr)->typePtr == &tclBooleanType)) \
? (*(boolPtr) = ((objPtr)->internalRep.longValue!=0), TCL_OK) \
: Tcl_GetBooleanFromObj((interp), (objPtr), (boolPtr)))