From rodney at elego.de Wed May 8 18:52:18 2013 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 8 May 2013 18:52:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130508165218.9C81F5DEA93@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/08 18:52:18 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Remove apostrophes from comments, which greatly aggravate Emacs' confusion in colorizing an m3makefile (which is, no doubt, actually coded for make makefiles). From rodney at elego.de Thu May 9 19:59:13 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 19:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509175913.0748D5DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 19:59:13 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:02:45 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509180245.159735DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:02:45 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Tag: release_branch_cm3_5_8 cm3cfg.common Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:42:27 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:42:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509184227.5246E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:42:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Fix compile failure due to recently added duplicate typedefs for ADDRESS, LONGREAL, and TEXT From rodney at elego.de Sun May 19 23:37:30 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:37:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519213730.EEC525DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:37:30 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: README Test.m3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Sun May 19 23:44:34 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:44:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519214434.BB66E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:44:34 Modified files: cm3/m3-libs/m3core/src/text/: Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextSub.m3 UnsafeHash.m3 m3makefile Added files: cm3/m3-libs/m3core/src/text/: README TextStats.i3 TextStats.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Mon May 20 03:31:14 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:31:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013114.BDCAE5DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:31:14 Added files: cm3/m3-libs/vararray/src/: Spinner.i3 Spinner.m3 TestVarArray.m3 m3makefile Log message: Testing of VarArray From rodney at elego.de Mon May 20 03:32:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:32:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013222.78AB25DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:32:22 Added files: cm3/m3-libs/vararray/src/: VarArray.ig VarArray.mg Log message: A generic package providing heavyweight but flexible heap-allocated arrays that auto-resize as a side effect of storing into them. Subscripts can be any ordinal type and can have ORD values over the entire range of INTEGER. Elements can be any type other than an open array type. From rodney at elego.de Mon May 20 03:33:06 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:33:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013306.330585DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:33:06 Added files: cm3/m3-libs/vararray/src/: Ranges.ig Ranges.mg Log message: A small generic package for manipulating ranges within INTEGER. Designed to work to the ends of INTEGER and Word.T. Used by VarArray, but possibly useful elsewhere. From rodney at elego.de Thu May 23 22:54:04 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 23 May 2013 22:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130523205404.BA00A9F6093@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/23 22:54:04 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: dbxout.c tree-nested.c Log message: Merge m3gdb support changes from gcc to gcc-4.7. From rodney at elego.de Wed May 8 18:52:18 2013 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 8 May 2013 18:52:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130508165218.9C81F5DEA93@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/08 18:52:18 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Remove apostrophes from comments, which greatly aggravate Emacs' confusion in colorizing an m3makefile (which is, no doubt, actually coded for make makefiles). From rodney at elego.de Thu May 9 19:59:13 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 19:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509175913.0748D5DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 19:59:13 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:02:45 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509180245.159735DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:02:45 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Tag: release_branch_cm3_5_8 cm3cfg.common Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:42:27 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:42:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509184227.5246E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:42:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Fix compile failure due to recently added duplicate typedefs for ADDRESS, LONGREAL, and TEXT From rodney at elego.de Sun May 19 23:37:30 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:37:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519213730.EEC525DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:37:30 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: README Test.m3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Sun May 19 23:44:34 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:44:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519214434.BB66E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:44:34 Modified files: cm3/m3-libs/m3core/src/text/: Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextSub.m3 UnsafeHash.m3 m3makefile Added files: cm3/m3-libs/m3core/src/text/: README TextStats.i3 TextStats.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Mon May 20 03:31:14 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:31:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013114.BDCAE5DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:31:14 Added files: cm3/m3-libs/vararray/src/: Spinner.i3 Spinner.m3 TestVarArray.m3 m3makefile Log message: Testing of VarArray From rodney at elego.de Mon May 20 03:32:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:32:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013222.78AB25DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:32:22 Added files: cm3/m3-libs/vararray/src/: VarArray.ig VarArray.mg Log message: A generic package providing heavyweight but flexible heap-allocated arrays that auto-resize as a side effect of storing into them. Subscripts can be any ordinal type and can have ORD values over the entire range of INTEGER. Elements can be any type other than an open array type. From rodney at elego.de Mon May 20 03:33:06 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:33:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013306.330585DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:33:06 Added files: cm3/m3-libs/vararray/src/: Ranges.ig Ranges.mg Log message: A small generic package for manipulating ranges within INTEGER. Designed to work to the ends of INTEGER and Word.T. Used by VarArray, but possibly useful elsewhere. From rodney at elego.de Thu May 23 22:54:04 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 23 May 2013 22:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130523205404.BA00A9F6093@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/23 22:54:04 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: dbxout.c tree-nested.c Log message: Merge m3gdb support changes from gcc to gcc-4.7. From rodney at elego.de Wed May 8 18:52:18 2013 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 8 May 2013 18:52:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130508165218.9C81F5DEA93@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/08 18:52:18 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Remove apostrophes from comments, which greatly aggravate Emacs' confusion in colorizing an m3makefile (which is, no doubt, actually coded for make makefiles). From rodney at elego.de Thu May 9 19:59:13 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 19:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509175913.0748D5DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 19:59:13 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:02:45 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509180245.159735DEA96@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:02:45 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Tag: release_branch_cm3_5_8 cm3cfg.common Log message: Since dinosaurs roamed freely, the cm3 executable is not shipped, even if you specify ship or buildship, unless you also set environment variable INSTALL_CM3_IN_BIN="yes". This avoids: 1) Undermining an executing executable, which won't work on some OSs, and 2) Changing compilers in the middle of group of builds. Everything can be built with the same, prexisting compiler, including the compiler. This is sometimes essential to avoid bootstrapping barriers, etc. A built but not shipped compiler can be installed later, using scripts/install-cm3-compiler.sh. Item 2) above is also relevant to cm3cg as well. We currently have an apparent bootstrap barrier where both cm3 and cm3cg need to be updated to the head atomically. As is, a new cm3cg is built and installed in /usr/local/cm3/bin, while the old cm3 remains. If that is the release cm3, every following M3 compilation suffers: m3cgc1: fatal error: *** illegal type: 0x17, at m3cg_lineno 4 The change to m3-sys/m3cc/src/m3makefile in the *HEAD* is one part of the fix. It makes installing of cm3cg work like cm3. The change to m3-sys/cminstall/src/config-no-install/cm3cfgt.common in the *RELEASE* is the other part. Currently, the release searches all over much of the known universe for a cm3cg/m3cgc1, and will pick up even an uninstalled one in preference to the installed version, creating the same problem. This seems very difficult to fix without changing the release branch. From rodney at elego.de Thu May 9 20:42:27 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 9 May 2013 20:42:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130509184227.5246E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/09 20:42:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Fix compile failure due to recently added duplicate typedefs for ADDRESS, LONGREAL, and TEXT From rodney at elego.de Sun May 19 23:37:30 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:37:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519213730.EEC525DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:37:30 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: README Test.m3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Sun May 19 23:44:34 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 19 May 2013 23:44:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130519214434.BB66E5DEA9A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/19 23:44:34 Modified files: cm3/m3-libs/m3core/src/text/: Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextSub.m3 UnsafeHash.m3 m3makefile Added files: cm3/m3-libs/m3core/src/text/: README TextStats.i3 TextStats.m3 Log message: New algorithms for TEXT operations. There is no change in data structure or its invariants, only new algorithms that produce different representations for the same text operations. In many cases, there are significant time and space performance increases, expecially when texts are built by left-to-right or right-to-left linear concatenation. Some usage patterns suffer moderately. If you think it's buggy or don't like the performance changes, you can disable it at runtime by setting TextClass.Old:=TRUE. This will use all the old cm3 text algorigthms, identical except for small constant-time slowdowns due to testing this boolean and gathering raw statistics. There are some tuning parameters in there that you can play with too. You can switch dynamically between old and new alogrithms at any time no thread is inside. You can use the results of either interchangeably. You can use the test program both to check correctness (by running the old and new algorithms side-by-side) and to get lots of performance statistics. Give it "-h" command-line option for info on its options. From rodney at elego.de Mon May 20 03:31:14 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:31:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013114.BDCAE5DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:31:14 Added files: cm3/m3-libs/vararray/src/: Spinner.i3 Spinner.m3 TestVarArray.m3 m3makefile Log message: Testing of VarArray From rodney at elego.de Mon May 20 03:32:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:32:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013222.78AB25DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:32:22 Added files: cm3/m3-libs/vararray/src/: VarArray.ig VarArray.mg Log message: A generic package providing heavyweight but flexible heap-allocated arrays that auto-resize as a side effect of storing into them. Subscripts can be any ordinal type and can have ORD values over the entire range of INTEGER. Elements can be any type other than an open array type. From rodney at elego.de Mon May 20 03:33:06 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 20 May 2013 3:33:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130520013306.330585DEB23@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/20 03:33:06 Added files: cm3/m3-libs/vararray/src/: Ranges.ig Ranges.mg Log message: A small generic package for manipulating ranges within INTEGER. Designed to work to the ends of INTEGER and Word.T. Used by VarArray, but possibly useful elsewhere. From rodney at elego.de Thu May 23 22:54:04 2013 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 23 May 2013 22:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20130523205404.BA00A9F6093@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/05/23 22:54:04 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: dbxout.c tree-nested.c Log message: Merge m3gdb support changes from gcc to gcc-4.7.