summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2002-06-18 22:02:48 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2002-06-18 22:02:48 (GMT)
commit23b3e96cdf9c2703f81444604080f8e29e55a9f4 (patch)
treef8c6266b6804d1eadf5cad564002f918265eacb2 /ChangeLog
parenta14f6d151797cd7cbdc413d2f7f338b3d4757836 (diff)
downloadtcl-23b3e96cdf9c2703f81444604080f8e29e55a9f4.zip
tcl-23b3e96cdf9c2703f81444604080f8e29e55a9f4.tar.gz
tcl-23b3e96cdf9c2703f81444604080f8e29e55a9f4.tar.bz2
* generic/tclExecute.c (TEBC): elimination of duplicated code in the
non-immediate INST_INCR instructions; elimination of 103 (!) TclDecrRefCount macros. The different instructions now jump back to a common "DecrRefCount zone" at the topof the loop.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog19
1 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 98925f8..fdd2687 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclExecute.c (TEBC):
+ - elimination of duplicated code in the non-immediate INST_INCR
+ instructions.
+ - elimination of 103 (!) TclDecrRefCount macros. The different
+ instructions now jump back to a common "DecrRefCount zone" at
+ the top of the loop. The macro "ADJUST_PC" was replaced by two
+ macros "NEXT_INST_F" and "NEXT_INST_V" that take three params
+ (pcAdjustment, # of stack objects to discard, resultObjPtr
+ handling flag). The only instructions that retain a
+ TclDecrRefCount are INST_POP (for speed), the common code for
+ the non-immediate INST_INCR, INST_FOREACH_STEP and the two
+ INST_LSET.
+
+ The object size of tclExecute.o was reduced by approx 20% since
+ the start of the consolidation drive, while making room for some
+ peep-hole optimisation at runtime.
+
+2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
+
* generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic
code for tcl-stack corruption.