summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2007-08-19 18:59:13 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2007-08-19 18:59:13 (GMT)
commit2d71d4d051e14c5b84f251b888c67cbc7b0fee99 (patch)
tree0e052afc7700294ce588ac894d3ba1346ed73d71 /ChangeLog
parent8742106ee7df13529f4cbd32c2c1a973ef21a730 (diff)
downloadtcl-2d71d4d051e14c5b84f251b888c67cbc7b0fee99.zip
tcl-2d71d4d051e14c5b84f251b888c67cbc7b0fee99.tar.gz
tcl-2d71d4d051e14c5b84f251b888c67cbc7b0fee99.tar.bz2
* generic/tclExecute.c: changed the check for overflow in sums,
reducing objsize, number of branches and cache misses (according to cachegrind). Non-overflow for s=a+b: previous ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0)) now (((a^s) >= 0) || ((a^b) < 0)) This expresses: "a and s have the same sign or else a and b have different sign".
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ce60f24..b25d6f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2007-08-19 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclExecute.c: changed the check for overflow in sums,
+ reducing objsize, number of branches and cache misses (according
+ to cachegrind). Non-overflow for s=a+b:
+ previous
+ ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0))
+ now
+ (((a^s) >= 0) || ((a^b) < 0))
+ This expresses: "a and s have the same sign or else a and b have
+ different sign".
+
2007-08-19 Donal K. Fellows <dkf@users.sf.net>
* doc/interp.n (RESOURCE LIMITS): Added text to better explain why