summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove GH and its traces.dev/hanwenHan-Wen Nienhuys2008-09-2019-3188/+11
|
* Fix `strftime' documentation wrt. `%Z'.Ludovic Courtès2008-09-181-3/+0
| | | | | * doc/ref/posix.texi (Time)[strftime]: Remove erroneous note saying that `%Z' ignores `tm:zone'. Reported by Neil Jerram.
* Make multi-byte reads on unbuffered ports more efficient.Neil Jerram2008-09-152-51/+71
| | | | | | | | | | | | | | | Idea and original patch were by Ludovic Courtès, this is Neil Jerram's reworking of it. * libguile/srfi-4.c (scm_uniform_vector_read_x): Use scm_c_read, instead of equivalent code here. * libguile/ports.c (scm_fill_input): Add assertion that read buffer is empty when called. (port_and_swap_buffer, swap_buffer): New, for... (scm_c_read): Use caller's buffer for reading, to avoid making N 1-byte low-level read calls, in the case where the port is unbuffered (or has a very small buffer).
* Add `uniform-vector-read!' benchmark.Ludovic Courtès2008-09-152-5/+59
|
* Include <config.h> in standalone tests.Ludovic Courtès2008-09-136-2/+22
| | | | | | | | * test-suite/standalone/Makefile.am (test_cflags): Add `-I$(top_builddir)' so that <config.h> can be found. (snarfcppopts): Likewise. * test-suite/standalone/*.c: Include <config.h>.
* Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'.Ludovic Courtès2008-09-13120-115/+338
|
* Add `ChangeLog-2008' files to the distribution.Ludovic Courtès2008-09-1220-34/+43
|
* Rename `ChangeLog' files to `ChangeLog-2008'.Ludovic Courtès2008-09-1225-3390/+3407
|
* doc: Correct the default value of `%load-path'.Ludovic Courtès2008-09-121-1/+1
| | | | | * doc/ref/api-options.texi (Build Config): Remove "." from the default value of `%load-path'. Reported by David Séverin <david@altosw.be>.
* Include <config.h> in `discouraged.c'.Ludovic Courtès2008-09-121-2/+7
| | | | | | * libguile/discouraged.c: Include <config.h> first so that files that rely on `config.h' macros (such as Gnulib-provided headers) work as expected.
* Remove `.cvsignore' files.Ludovic Courtès2008-09-1141-392/+2
|
* Use Gnulib's `autobuild' module.Ludovic Courtès2008-09-115-2/+45
| | | | | | * m4/gnulib-cache.m4 (gl_MODULES): Add `autobuild'. * Makefile.am (EXTRA_DIST): Add `m4/autobuild.m4'.
* Revise GC asserts.Han-Wen Nienhuys2008-09-113-9/+17
| | | | | | | | * libguile/gc.c (scm_i_gc): Change assert into printed warning. * libguile/private-gc.h (nil): introduce scm_i_last_marked_cell_count, as a private mechanism for maintaining cell counts. Remove variable scm_cells_allocated.
* * HACKING: update to current practiceHan-Wen Nienhuys2008-09-111-146/+23
| | | | | | | | * Drop CVS references. * Ask for Git based patches. * Drop outdated info (EGCS, SCM_P)
* Fix compilation of `libguile-i18n' on MinGW.Ludovic Courtès2008-09-101-1/+6
| | | | | * libguile/locale-categories.h (MESSAGES): Enclose in `#ifdef LC_MESSAGES' as it's not available on MinGW. Reported by Han-Wen.
* Cleanup mark-during-GC debug checks.Han-Wen Nienhuys2008-09-095-9/+35
| | | | | | | | | | | | | | | | * libguile/__scm.h (SCM_DEBUG): add SCM_DEBUG_MARKING_API * libguile/gc.h (SCM_SET_GC_MARK): depending on SCM_DEBUG_MARKING_API crash if someone is touching markbits outside regular hours. Rename ensure_marking() to scm_i_ensure_marking(). * libguile/inline.h (scm_double_cell, scm_cell): only set mark bits for debugging if SCM_DEBUG_MARKING_API is unset * libguile/gc-mark.c: Issue deprecation warning if we are marking outside of the GC mark phase.
* Use Gnulib's `count-one-bits' as a replacement for `scm_i_uint_bit_count ()'.Ludovic Courtès2008-09-093-18/+16
| | | | | | | | | | | | | * libguile/gc-card.c: Include <config.h> and <count-one-bits.h>. (scm_i_uint_bit_count): Remove. (scm_i_card_marked_count): Use `count_one_bits_l ()' instead of `scm_i_uint_bit_count ()'. * libguile/gc-segment.c: Include <config.h> and <count-one-bits.h>. (scm_i_heap_segment_marked_count): Use `count_one_bits_l ()' instead of `scm_i_uint_bit_count ()'. * libguile/private-gc.h (scm_i_uint_bit_count): Remove.
* Use Gnulib's `count-one-bits' module.Ludovic Courtès2008-09-098-2/+293
| | | | * m4/gnulib-cache.m4 (gl_MODULES): Add `count-one-bits'.
* Merge branch 'master' into strftime-gnulibLudovic Courtès2008-09-0917-356/+72
|\ | | | | | | | | | | | | Conflicts: libguile/ChangeLog srfi/ChangeLog test-suite/ChangeLog
| * Get rid of Automake's "maintainer mode".Ludovic Courtès2008-09-094-6/+10
| | | | | | | | | | | | | | * NEWS: Update. * configure.in: Remove `AM_MAINTAINER_MODE' invocation. * doc/Makefile.am, ice-9/Makefile.am: Ignore `MAINTAINER_MODE' conditional.
| * Update `NEWS' wrt. `mutex-lock' deadlock fix.Ludovic Courtès2008-09-081-0/+1
| |
| * Update `NEWS' wrt. the removal of `scm_i_' symbols.Ludovic Courtès2008-09-041-5/+5
| |
| * * eval.c: Mark #endif with comment.Han-Wen Nienhuys2008-09-031-1/+1
| |
| * Don't sanity check GC numbers on 64 bit platforms, while weHan-Wen Nienhuys2008-09-031-2/+2
| | | | | | | | investigate a real fix.
| * Fix compilation of `libguile-i18n' on NetBSD.Ludovic Courtès2008-09-021-9/+9
| | | | | | | | | | | | | | * libguile/i18n.c (str_upcase, str_downcase, scm_char_locale_downcase, scm_char_locale_upcase): Cast chars to `int' when invoking `toupper ()' et al. to avoid "array subscript has type 'char'" on NetBSD. Reported by Greg Toxel <gdt@ir.bbn.com>.
| * Resolve a deadlock caused by not checking mutex state after calling `SCM_TICK'.Julian Graham2008-08-312-1/+6
| | | | | | | | Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * Raise error on SRFI-18 load if Guile built without threading supportJulian Graham2008-08-303-2/+10
| | | | | | | | Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * Remove `coop-threads' files that had been useless since 2005-03-02.Ludovic Courtès2008-08-272-326/+0
| |
| * Fix builds `--without-threads'.Ludovic Courtès2008-08-275-3/+23
| |
| * Merge branch 'master' of git://git.sv.gnu.org/guile into nitsHan-Wen Nienhuys2008-08-268-5/+30
| |\
| | * Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compileLudovic Courtès2008-08-258-5/+30
| | | | | | | | | | | | Gnulib code.
| * | Only sanity check numbers if SCM_DEBUG_CELL_ACCESSES is unset.Han-Wen Nienhuys2008-08-261-1/+3
| | | | | | | | | | | | SCM_DEBUG_CELL_ACCESSES uses the mark bits for its own purposes.
| * | Set SRCPROP{PLIST,COPY} through a macro, so SCM_DEBUG_CELL_ACCESSES compiles.Han-Wen Nienhuys2008-08-261-2/+4
| |/
* | Use Gnulib's `strftime' to address bug #24130.Ludovic Courtès2008-09-023-59/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * libguile/stime.c (scm_strftime): Use `nstrftime ()' from Gnulib. This provides the same semantics on all platforms, thereby fixing bug #24130. * doc/ref/posix.texi (Time): Remove note about non-portable `%Z' behavior. Describe the new, portable behavior. * test-suite/tests/time.test ("strftime")["strftime %Z doesn't return garbage"]: Reinstate. ["C99 %z format"](have-strftime-%z): Remove. ("GMT", "EST+5"): Don't use `have-strftime-%z'.
* | Add Gnulib `strftime' module, update Gnulib files.Ludovic Courtès2008-09-0219-11/+2368
| | | | | | | | * m4/gnulib-cache.m4 (gl_MODULES): Add `strftime'.
* | Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compileLudovic Courtès2008-08-258-5/+30
|/ | | | Gnulib code.
* Fix 2 indentation nitpicks.Han-Wen Nienhuys2008-08-212-8/+10
|
* Style nitpicks: space before () in function call.Han-Wen Nienhuys2008-08-217-42/+42
|
* Add Gnulib-provided files for convenience.Ludovic Courtès2008-08-2120-20/+1606
| | | | | These come from Gnulib's Git commit ae3a0d62f26d8156b403e40d6007475006f3136f, dated 2008-08-19.
* Never define `_GNU_SOURCE' explicitly since `AC_USE_SYSTEM_EXTENSIONS'Ludovic Courtès2008-08-208-13/+8
| | | | | | | | | | | | takes care of it. Conflicts: ChangeLog configure.in libguile/eval.c libguile/srfi-14.c libguile/threads.c
* Add test case for the GOOPS `class-redefinition' memory corruption.Ludovic Courtès2008-08-202-2/+78
|
* Add ChangeLog and NEWS entry for the GOOPS `class-redefinition' memoryLudovic Courtès2008-08-192-0/+8
| | | | corruption fix.
* Complete fix of `hell' allocation in GOOPS.Ludovic Courtès2008-08-191-1/+1
|
* Fix sizeof() nitpick for goops corruption.Han-Wen Nienhuys2008-08-181-1/+1
|
* Make marked conservatively statistic accumulative.Han-Wen Nienhuys2008-08-161-7/+11
|
* If realloc() fails in scm_realloc, then do a complete GC with completeHan-Wen Nienhuys2008-08-162-14/+10
| | | | sweep directly.
* Add a statistic for tracking how many cells are marked conservatively.Han-Wen Nienhuys2008-08-165-3/+12
| | | | | This allows an informed choice for deciding how many segments to create. After startup, ~2% of the cells are scanned conservatively.
* Garbage collection cleanup.Han-Wen Nienhuys2008-08-1611-769/+733
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * New file gc-segment-table.c: hold code for the segment table. * Remove data that might be out of date; remove scm_i_adjust_min_yield(). We don't store min_yields, since they are only accurate at one point in time (when the sweep finishes). We decide the min yield at that point from min_yield_fraction and freelist->collected / freelist->swept * Introduce scm_i_gc_heap_size_delta() replacing scm_i_gc_grow_heap_p(). * Remove foo_1 fields containing penultimate results. * After GC, count mark bit vector to discover number of live objects. This simplifies hairy updates. * Many formatting and layout cleanups. * Fix in scm_i_sweep_card(): return the length of free_list returned, rather than number of deleted objects. * For mtrigger GCs: do not also run a full sweep after the gc() call, as this is inconsistent with lazy sweeping. * Remove scm_i_make_initial_segment(). * Use calloc in scm_i_make_empty_heap_segment() to save on initialization code. * New function scm_i_sweep_for_freelist() which sweeps, with proper statistic variable updates. * New segments are conceptually blocks with 100% reclaimable cells. * Remove some useless constants/comments: SCM_HEAP_SIZE, SCM_INIT_HEAP_SIZE, SCM_EXPHEAP, SCM_HEAP_SEG_SIZE * Do not increment scm_cells_allocated() from the scm_[double]cell(). This would be a race condition. * Move some deprecation checks in separate functions to not distract from main code flow.
* Remove comments about removed variables.Han-Wen Nienhuys2008-08-161-12/+0
|
* Introduce scm_i_marking to detect when GC mark bits are touchedHan-Wen Nienhuys2008-08-163-2/+15
| | | | outside of marking stage.