diff --git a/src/c/alloc_2.d b/src/c/alloc_2.d index a9b02f3cf..eb92547b1 100644 --- a/src/c/alloc_2.d +++ b/src/c/alloc_2.d @@ -203,7 +203,9 @@ init_alloc(void) GC_all_interior_pointers = 0; GC_time_limit = GC_TIME_UNLIMITED; GC_init(); +#ifdef GBC_BOEHM_GENGC GC_enable_incremental(); +#endif GC_register_displacement(1); #if 0 GC_init_explicit_typing(); diff --git a/src/c/unixint.d b/src/c/unixint.d index 5531d6b90..18299d2fc 100644 --- a/src/c/unixint.d +++ b/src/c/unixint.d @@ -190,7 +190,9 @@ si_catch_bad_signals() #ifndef GBC_BOEHM mysignal(SIGBUS, signal_catcher); #endif +#ifndef GBC_BOEHM_GENGC mysignal(SIGSEGV, signal_catcher); +#endif #ifdef SIGIOT mysignal(SIGIOT, signal_catcher); #endif diff --git a/src/configure b/src/configure index 064a1ba8e..5524483a6 100755 --- a/src/configure +++ b/src/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in Revision: 1.161 . +# From configure.in Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for ecl 0.9j. +# Generated by GNU Autoconf 2.61 for ecl 0.9k. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @@ -573,8 +573,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='ecl' PACKAGE_TARNAME='ecl' -PACKAGE_VERSION='0.9j' -PACKAGE_STRING='ecl 0.9j' +PACKAGE_VERSION='0.9k' +PACKAGE_STRING='ecl 0.9k' PACKAGE_BUGREPORT='' ac_unique_file="bare.lsp.in" @@ -1245,7 +1245,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ecl 0.9j to adapt to many kinds of systems. +\`configure' configures ecl 0.9k to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1314,7 +1314,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ecl 0.9j:";; + short | recursive ) echo "Configuration of ecl 0.9k:";; esac cat <<\_ACEOF @@ -1341,6 +1341,8 @@ Optional Features: (default=NO) --enable-smallcons use small (2 words) cons types. Requires Boehm-Weiser gc. (default=NO) + --enable-gengc use generational garbage collection. Requires + Boehm-Weiser gc. (no|yes, default=NO) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1446,7 +1448,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ecl configure 0.9j +ecl configure 0.9k generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1460,7 +1462,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ecl $as_me 0.9j, which was +It was created by ecl $as_me 0.9k, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2120,6 +2122,14 @@ else fi +# Check whether --enable-gengc was given. +if test "${enable_gengc+set}" = set; then + enableval=$enable_gengc; +else + enable_gengc=no +fi + + ecldir="${libdir}/ecl" test -z "${docdir}" && docdir="${datadir}/doc/ecl" @@ -4537,7 +4547,6 @@ echo "${ECHO_T}yes" >&6; } enable_threads="yes" fi fi - if test "${enable_threads}" = "yes" ; then if test -z "${THREAD_OBJ}"; then { { echo "$as_me:$LINENO: error: Threads aren't supported on this system." >&5 @@ -4736,6 +4745,12 @@ _ACEOF fi EXTRA_OBJS="${EXTRA_OBJS} alloc_2.${OBJEXT}" fi +if test "${enable_gengc}" = "yes" ; then + cat >>confdefs.h <<\_ACEOF +#define GBC_BOEHM_GENGC 1 +_ACEOF + +fi if test ${enable_smallcons} = "yes" ; then cat >>confdefs.h <<\_ACEOF @@ -11709,7 +11724,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ecl $as_me 0.9j, which was +This file was extended by ecl $as_me 0.9k, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11758,7 +11773,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -ecl config.status 0.9j +ecl config.status 0.9k configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/src/configure.in b/src/configure.in index 48e97e322..3082b4c75 100644 --- a/src/configure.in +++ b/src/configure.in @@ -200,6 +200,12 @@ AC_ARG_ENABLE(smallcons, [(default=NO)]), [enable_smallcons=${enableval}],[enable_smallcons=no]) +AC_ARG_ENABLE(gengc, + AS_HELP_STRING( [--enable-gengc], + [use generational garbage collection. Requires Boehm-Weiser gc.] + [(no|yes, default=NO)]), + [], [enable_gengc=no] ) + dnl ----------------------------------------------------------------------- dnl Installation directories ecldir="${libdir}/ecl" @@ -288,7 +294,6 @@ if test "${enable_threads}" = "auto"; then enable_threads="yes" fi fi - if test "${enable_threads}" = "yes" ; then if test -z "${THREAD_OBJ}"; then AC_MSG_ERROR([Threads aren't supported on this system.]) @@ -337,6 +342,9 @@ else fi EXTRA_OBJS="${EXTRA_OBJS} alloc_2.${OBJEXT}" fi +if test "${enable_gengc}" = "yes" ; then + AC_DEFINE(GBC_BOEHM_GENGC) +fi if test ${enable_smallcons} = "yes" ; then AC_DEFINE(ECL_SMALL_CONS) diff --git a/src/h/config.h.in b/src/h/config.h.in index 038922e9c..5f039fe74 100644 --- a/src/h/config.h.in +++ b/src/h/config.h.in @@ -202,6 +202,9 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey; /* Assembler implementation of APPLY and friends */ #undef ECL_ASM_APPLY +/* Activate Boehm-Weiser incremental garbage collector */ +#undef GBC_BOEHM_GENGC + /* * SYSTEM FEATURES: */ diff --git a/src/lsp/config.lsp.in b/src/lsp/config.lsp.in index f827e468f..3efab08b1 100644 --- a/src/lsp/config.lsp.in +++ b/src/lsp/config.lsp.in @@ -46,11 +46,15 @@ Returns, as a string, the location of the machine on which ECL runs." (defun lisp-implementation-version () "Args:() Returns the version of your ECL as a string." +<<<<<<< HEAD:src/lsp/config.lsp.in <<<<<<< HEAD:src/lsp/config.lsp.in "@PACKAGE_VERSION@ (CVS 2008-05-29 20:53)") ======= "@PACKAGE_VERSION@ (CVS 2008-05-30 15:21)") >>>>>>> 510929fe4fe845e539f661d00860e084248060a4:src/lsp/config.lsp.in +======= + "@PACKAGE_VERSION@ (CVS 2008-05-30 19:03)") +>>>>>>> 263c837285a673bf4d38ad60aab4a8d59443a475:src/lsp/config.lsp.in (defun machine-type () "Args: ()