Greetings! The GCL team is happy to announce the release of version
2.6.10, the latest achievement in the 'stable' (as opposed to
'development') series. Please see http://www.gnu.org/software/gcl for
downloading information.
This release addresses many of the issues introduced by the 2.6.9
developments, in addition to using gmp for random number generation,
adding fast immediate fixnum operations for most functions, and
accelerating garbage collection and hash table lookups. From the git
log:
randomize addresses as hash keys
refine readdir
optimize gethash loop
opendir,readdir,closedir functions
make object_to_string safe for text strings
no SGC on ia64 pending fix to getc/fread restart failure and hang
ensure-directories-exist and wild-pathname-p
changes for latest mingw on windows
Don't use TMP in configure for windows
prevent relocatable maxpage from extending beyond real_maxpage due to hole
no gprof on ia64, possible function descriptor corruption due to mcount
robustify allocation of environment and argument space in unrandomize.h
main.c typo fix
limit startup relblock pages to 5% of available_pages
NOFREE_ERR for ia64
fix trailing slash removal pre lstat on mingw
optimize number_expt
add mpz_ui_pow_ui and mpz_pow_ui to gmp_wrappers.h
ensure that lstat takes no trailing slashes on mingw
reserve 8M stack on mingw, and start alloc probe at 0x20000000 for wine
initialize c stack variables in make_bignum before gc calling mpz_init_set
allow for nreloc overflow in coff, restoring acl2 on mingw
abandon stabs debug format on mingw as is now too small
limit text start search, restoring s390 build
make equal explicitly tail recursive on mingw to overcome compiler deficiency
add sys and child sys values to get-internal-run-time
optimize number_abs and number_signum
inlines for gcd and lcm
ctzl instruction, and defaults for clzl and ctzl when absent
fix type-and to properly order t and object
fix safe_mul, clz and fixnum_shft for corner cases
remove lfun prop to eq, eql, equal and equalp
remove redundant mod code
fix integer_divide1 call in number_expt
faster integer log functions
prototypes and optimization inlines for immnum functions
faster division algorithms -- FIXME centralize mod, do round
centralize inlined immnum logic in new immnum.h header
remove 'c1conditional property of 'boole
use clz in fixnum_times where available
try mpz_init_set in make_bignum -- FIXME stack of pre initialized bignums
don't mark link array when not collecting relblock
fix shifti bug
add gmp wrappers for the various division rounding modes
fix type-and so that t < '(values t t)
fix sublis1-inline for new predicate macros
faster eq,eql,equal, and equalp predicates
configure check for clzl instruction
define OBJNULL for hurd
separately protect mark_link_array from non-data cfd
remove unnecessary branches to marking of cfd code
backport #? inline string directive to ensure 'first' vararg is initialized
sgc mark phase typo
only sgc mark old contiguous data when collecting contiguous
remove null value error in mv-ref to accommodate low immediate fixnums
fix bds_top capture bug in bds_bind macro (e.g. arg eval changes bds_top)
scale initial relblock with heap size instead of available_pages
try initial relblock scale of twice heap pages
unset si::*optimize-maximum-pages* in raw image to limit unexec file size
clear gcc warnings regarding ignored function return values
function def typo
scale maxrbpage and new_holepage with available_pages on startup
clarify room report
disable safecdr by default
widecons configure option
memcpy to speed up relocatable gc
set_bits fix for i1==i2
edit_double overflow fix
set_bits fix
get_sgc_bits bug fix
get_bits debugging 2
fix to get_bits
get_bits/set_bits debugging
update tm_maxpage in sgc_start
report low immfix in (room t)
use tee in test_results target
imcdr typo fix
default to high immfix, check cstack for low immfix
enable-safecdr and enable-safecdrdbg configure options
gbc accelerations
support for low immediate fixnums
box all fixnums in cdr, and speed all object typing
gethash/hash-set optimizers
add safety page to relocatable gc to workaround unexplained overwrite FIXME
make sure gprof arrays are writable in sgc
fix edit_double, failure to print 1d-6
rework sane default to contiguous and relocatable tm_table parameters
simplify and speedup marking of old data on sgc pages
make sure contiguous sgc_minfree gets initialized with sane value
revert set_type_of to preserve sgc bit, init stack objects with static
reinit_gmp prototype
reinit_gmp on mips to fix (random), where LD_BIND_NOW is also required
correct cpage macro for new sgc contblock bit
zero mark bits on contblock allocation
define ADDR_COMPAT_LAYOUT and ADDR_LIMIT_3GB if not present in configure
eliminate preclear of contblock mark bits
sgc bit for contiguous pages, need low mem for code on 64bit
prefer low memory when loading code to satisfy jump bit constraints
backport of gmp random numbers from master
lintian fix to VirtualFree call in unexnt.c
rehardwire heap start address on windows
try not fixing heap start address on windws
try for up to 2 Gb heap on windows
try to fix deallocation in windows heap probe
clean windows heap size probe
don't rely on errno on macosx heap size probe
try to probe heap size on windows
Use brk wrapper around sbrk to consolidate behavior when latter is emulated
probe heap size up to 32Gb on macosx
allocate gcl_zone_body in static area, as malloc_create_zone returns a pointer to read-only memory in macosx 10.8
work around unlinkable profile prototype in macosx 10.8 64bit
clear prototype mismatch warning
Set windows heap start to stable 0x10100000 of 2.6.8 for now
place parenthesis around argument to cast in make_fixnum, fix invalid lvalue
support for empty filenames following -f on command line
fix documentation formatting errors
zero firstword in set_type_of macro to handle C stack objects
Take care,
--
Camm Maguire address at hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah