summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-04-04 23:55:56 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-04-04 23:55:56 -0700
commitf76a8698563ed63728c19e02b8284d7ac2a3a068 (patch)
treedf7d72ea3a6c32837ab455faef300fdc3e17abd9
parent8afa661dab608a731797a7e85b9b5601b221fc94 (diff)
downloadtxr-88.tar.gz
txr-88.tar.bz2
txr-88.zip
Version 88txr-88
-rw-r--r--ChangeLog19
-rw-r--r--RELNOTES37
-rwxr-xr-xconfigure40
-rw-r--r--txr.14
-rw-r--r--txr.c2
-rw-r--r--txr.spec2
6 files changed, 79 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index 8c53385a..c07f4669 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2014-04-04 Kaz Kylheku <kaz@kylheku.com>
+
+ Version 88
+
+ * txr.c (version): Bumped.
+
+ * txr.1: Bumped version, set date.
+
+ * configure (txr_ver): Bumped. Generational GC is now
+ enabled by default.
+
+ * txr.spec: Bumped version.
+
+ * RELNOTES: Updated
+
+ * txr.vim: Regenerated.
+
2014-03-29 Kaz Kylheku <kaz@kylheku.com>
* gc.c (CHECKOBJ_VEC_SIZE, FRESHOBJ_VEC_SIZE): Increase
@@ -149,8 +166,6 @@
struct tm from "GMT" to "UTC", so that the time_string_utc
function will use UTC for the %Z format.
- Generational GC tweaks.
-
2014-03-27 Kaz Kylheku <kaz@kylheku.com>
Fix a bug arising from putting generation 1 objects into the
diff --git a/RELNOTES b/RELNOTES
index f9c1d809..3e2b84c4 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,40 @@
+ TXR 88
+ 2014-04-04
+
+
+ Features
+
+ - New TXR Lisp macros: while, unless, until.
+
+ - New functions empty and last.
+
+ - copy and length functions take hash tables now.
+
+ - Word list literals and word list quasiliterals.
+
+ - Big improvements in efficiency of generational garbage collection.
+ Situations when a backpointer to a fresh object is stored into a
+ mature object now are precisely identified, eliminating GC pressure
+ caused by conservatively wrong guesses.
+
+ - TXR is now configured to build with Generational GC by default.
+
+ Bugs
+
+ - copy and length functions handle lazy strings now.
+
+ - time-string-utc on Linux now renders %Z strftime code as "UTC" rather than
+ "GMT". Not our issue: this is a workaround for library behavior.
+
+ - Generational GC fix: a number of functions which mutate state weren't using
+ the proper set macro.
+
+ - Generational GC fix: the gc_mutated function was not correctly implemented
+ and could cause reachable objects with their GC reachability flag to
+ continue to be set after GC is done.
+
+
+
TXR 87
2014-03-22
diff --git a/configure b/configure
index 1e8ae736..b5306a16 100755
--- a/configure
+++ b/configure
@@ -94,7 +94,7 @@ valgrind=
lit_align=
extra_debugging=
debug_support=y
-gen_gc=
+gen_gc=y
mpi_version=1.8.6
have_quilt=
have_patch=
@@ -220,7 +220,7 @@ prefix [$prefix]
Specifies root directory where the software will ultimately be installed and
run from.
-install_prefix [$install_prefix]
+install-prefix [$install_prefix]
Specifies an extra path prefix that will be prepended to all paths during
installation, which allows the software to be installed in a temporary
@@ -247,7 +247,7 @@ cross [$cross]
It should include the trailing slash, unless the \$compiler_prefix
and \$tool_prefix variables take care of this by providing a leading slash.
-compiler_prefix [$compiler_prefix]
+compiler-prefix [$compiler_prefix]
Specifies a prefix to be added to the compiler command.
This is added to the \$(cross) prefix. This can include some path name
@@ -273,7 +273,7 @@ intptr [$intptr]
value can be converted to it. If this is blank, the configure script
will try to auto detect it.
-lit_align [$lit_align]
+lit-align [$lit_align]
Specifies alignment for wide string literals. This is guessed
from the size of the wchar_t type. If your wchar_t type is two byte wide, but
@@ -291,7 +291,7 @@ inline [$inline]
If blank, an attempt is made to auto-detect this which
falls back on "static".
-tool_prefix [$tool_prefix]
+tool-prefix [$tool_prefix]
Specifies a prefix to be added to tool commands other than the
compiler, like lex and yacc, in addition to \$cross.
@@ -319,43 +319,43 @@ nm [$nm]
Specifies the nm program for dumping symbols from an object file.
-opt_flags [$opt_flags]
+opt-flags [$opt_flags]
Specifies optimization flags to use for compiling and linking
C sources.
-lang_flags [$lang_flags]
+lang-flags [$lang_flags]
Specifies compiler flags which control the C language dialect and standard
conformance in the language and header files. The txr program is written
in C90, and requires POSIX and possibly other extensions.
-diag_flags [$diag_flags]
+diag-flags [$diag_flags]
Specifies compiler flags for obtaining extra diagnostics.
-debug_flags [$debug_flags]
+debug-flags [$debug_flags]
Specifies flags for requesting that debugging information be
retained in the compile and link.
-platform_flags [$platform_flags]
+platform-flags [$platform_flags]
Specify additional compiler flags for anything else, such as CPU tuning,
target ABI selection, code generation options, et cetera.
-remove_flags [$remove_flags]
+remove-flags [$remove_flags]
This is a negative otpion. Any flags mentioned in this variable
will be removed from any of the other compiler flags options above.
The flags may contain GNU Make patterns.
-lex_dbg_flags [$lex_dbg_flags]
+lex-dbg-flags [$lex_dbg_flags]
Specifies debug flags to be passed to lex, perhaps to generate a debugging
scanner.
-txr_dbg_opts [$txr_dbg_opts]
+txr-dbg-opts [$txr_dbg_opts]
Specifies debug flags to pass to the txr program during the execution
of "make tests".
@@ -367,16 +367,18 @@ valgrind [$valgrind]
it advises valgrind about stack memory locations accessed by the garbage
collector, to suppress diagnostics about uninitialized accesses.
-extra_debugging [$extra_debugging]
+extra-debugging [$extra_debugging]
Use --extra_debugging to configure some additional debugging features,
which incur a run-time penalty.
-gen_gc [$gen_gc]
+gen-gc [$gen_gc]
- Use --gen-gc to enable the experimental generational garbage collector.
- This is currently disabled by default: a mark-and-sweep garbage collection
- strategy is used which performs a full sweep.
+ Use --no-gen-gc to disable the generational garbage collector which
+ is now enabled by default.
+
+ When disabled, the garbage collector performs a full object traversal and
+ sweep on each garbage collection.
!
exit 1
@@ -387,7 +389,7 @@ fi
#
-txr_ver=87
+txr_ver=88
#
# The all important banner.
diff --git a/txr.1 b/txr.1
index c7e9fac8..92569838 100644
--- a/txr.1
+++ b/txr.1
@@ -21,9 +21,9 @@
.\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-.TH "TXR" 1 2014-03-22 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku"
+.TH "TXR" 1 2014-04-04 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku"
.SH NAME
-txr \- text processing language (version 87)
+txr \- text processing language (version 88)
.SH SYNOPSIS
.B txr [ options ] query-file { data-file }*
.sp
diff --git a/txr.c b/txr.c
index 63f95c98..efd69916 100644
--- a/txr.c
+++ b/txr.c
@@ -47,7 +47,7 @@
#include "eval.h"
#include "txr.h"
-const wchli_t *version = wli("87");
+const wchli_t *version = wli("88");
const wchar_t *progname = L"txr";
/*
diff --git a/txr.spec b/txr.spec
index ede49edb..d09bfccd 100644
--- a/txr.spec
+++ b/txr.spec
@@ -3,7 +3,7 @@
#
Name: txr
-Version: 65
+Version: 88
Release: 0
Source: txr-%{version}.tar.gz
URL: http://www.nongnu.org/txr