Ludovic Courtès
afb59d75b8
Rename ChangeLog' files to
ChangeLog-2008'.
2008-09-12 21:49:58 +02:00
Ludovic Courtès
8370b00b41
doc: Correct the default value of `%load-path'.
...
* doc/ref/api-options.texi (Build Config): Remove "." from the default value
of `%load-path'. Reported by David Séverin <david@altosw.be>.
2008-09-12 11:31:48 +02:00
Ludovic Courtès
3c2a5013de
Include <config.h> in `discouraged.c'.
...
* libguile/discouraged.c: Include <config.h> first so that files that
rely on `config.h' macros (such as Gnulib-provided headers) work as
expected.
2008-09-12 09:41:54 +02:00
Ludovic Courtès
85ca88c68b
Remove `.cvsignore' files.
2008-09-11 21:28:21 +02:00
Ludovic Courtès
ac47b09afa
Use Gnulib's `autobuild' module.
...
* m4/gnulib-cache.m4 (gl_MODULES): Add `autobuild'.
* Makefile.am (EXTRA_DIST): Add `m4/autobuild.m4'.
2008-09-11 21:27:45 +02:00
Han-Wen Nienhuys
b71c8ec90a
Revise GC asserts.
...
* 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.
2008-09-11 12:10:58 -03:00
Han-Wen Nienhuys
b48efb55b0
* HACKING: update to current practice
...
* Drop CVS references.
* Ask for Git based patches.
* Drop outdated info (EGCS, SCM_P)
2008-09-11 03:35:44 -03:00
Ludovic Courtès
c5cd474d8c
Fix compilation of `libguile-i18n' on MinGW.
...
* libguile/locale-categories.h (MESSAGES): Enclose in `#ifdef LC_MESSAGES' as
it's not available on MinGW. Reported by Han-Wen.
2008-09-10 11:38:23 +02:00
Han-Wen Nienhuys
7ddb9baf80
Cleanup mark-during-GC debug checks.
...
* 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.
2008-09-09 23:08:16 -03:00
Ludovic Courtès
a8db4a59c8
Use Gnulib's count-one-bits' as a replacement for
scm_i_uint_bit_count ()'.
...
* 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.
2008-09-09 22:46:04 +02:00
Ludovic Courtès
d7014610b1
Use Gnulib's `count-one-bits' module.
...
* m4/gnulib-cache.m4 (gl_MODULES): Add `count-one-bits'.
2008-09-09 22:37:43 +02:00
Ludovic Courtès
53f4876abc
Merge branch 'master' into strftime-gnulib
...
Conflicts:
libguile/ChangeLog
srfi/ChangeLog
test-suite/ChangeLog
2008-09-09 22:03:42 +02:00
Ludovic Courtès
242ebeaf08
Get rid of Automake's "maintainer mode".
...
* NEWS: Update.
* configure.in: Remove `AM_MAINTAINER_MODE' invocation.
* doc/Makefile.am, ice-9/Makefile.am: Ignore `MAINTAINER_MODE'
conditional.
2008-09-09 18:06:37 +02:00
Ludovic Courtès
191e716555
Update NEWS' wrt.
mutex-lock' deadlock fix.
2008-09-08 14:38:03 +02:00
Ludovic Courtès
32e29e24b6
Update NEWS' wrt. the removal of
scm_i_' symbols.
2008-09-04 21:33:44 +02:00
Han-Wen Nienhuys
39d275916b
* eval.c: Mark #endif with comment.
2008-09-03 23:27:42 -03:00
Han-Wen Nienhuys
289cd1a720
Don't sanity check GC numbers on 64 bit platforms, while we
...
investigate a real fix.
2008-09-03 01:37:58 -03:00
Ludovic Courtès
4e641322d3
Fix compilation of `libguile-i18n' on NetBSD.
...
* 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>.
2008-09-02 23:01:47 +02:00
Ludovic Courtès
69f23174d3
Use Gnulib's `strftime' to address bug #24130 .
...
* 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'.
2008-09-02 21:58:58 +02:00
Ludovic Courtès
e65fc94b7a
Add Gnulib `strftime' module, update Gnulib files.
...
* m4/gnulib-cache.m4 (gl_MODULES): Add `strftime'.
2008-09-02 21:16:10 +02:00
Julian Graham
37a5203955
Resolve a deadlock caused by not checking mutex state after calling `SCM_TICK'.
...
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2008-08-31 21:17:18 +02:00
Julian Graham
d0b6ad3491
Raise error on SRFI-18 load if Guile built without threading support
...
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2008-08-30 21:08:50 +02:00
Ludovic Courtès
cc39ff0ea1
Remove `coop-threads' files that had been useless since 2005-03-02.
2008-08-27 23:47:56 +02:00
Ludovic Courtès
70eca63557
Fix builds `--without-threads'.
2008-08-27 23:05:44 +02:00
Han-Wen Nienhuys
f85ea2a85f
Merge branch 'master' of git://git.sv.gnu.org/guile into nits
2008-08-26 23:48:20 -03:00
Han-Wen Nienhuys
487b9dec2e
Only sanity check numbers if SCM_DEBUG_CELL_ACCESSES is unset.
...
SCM_DEBUG_CELL_ACCESSES uses the mark bits for its own purposes.
2008-08-26 23:46:39 -03:00
Han-Wen Nienhuys
80237dcc77
Set SRCPROP{PLIST,COPY} through a macro, so SCM_DEBUG_CELL_ACCESSES compiles.
2008-08-26 22:47:19 -03:00
Ludovic Courtès
582a4997ab
Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compile
...
Gnulib code.
2008-08-25 22:11:53 +02:00
Ludovic Courtès
bfb2e11358
Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compile
...
Gnulib code.
2008-08-25 22:08:45 +02:00
Han-Wen Nienhuys
4b7513463d
Fix 2 indentation nitpicks.
2008-08-21 23:21:57 -03:00
Han-Wen Nienhuys
1f5844000e
Style nitpicks: space before () in function call.
2008-08-21 23:16:20 -03:00
Ludovic Courtès
103dc4d4d2
Add Gnulib-provided files for convenience.
...
These come from Gnulib's Git commit
ae3a0d62f26d8156b403e40d6007475006f3136f, dated 2008-08-19.
2008-08-21 22:23:59 +02:00
Ludovic Courtès
417566ebc9
Never define _GNU_SOURCE' explicitly since
AC_USE_SYSTEM_EXTENSIONS'
...
takes care of it.
Conflicts:
ChangeLog
configure.in
libguile/eval.c
libguile/srfi-14.c
libguile/threads.c
2008-08-20 19:31:46 +02:00
Ludovic Courtès
82d8d6d9e8
Add test case for the GOOPS `class-redefinition' memory corruption.
2008-08-20 00:44:20 +02:00
Ludovic Courtès
4a1db3a91f
Add ChangeLog and NEWS entry for the GOOPS `class-redefinition' memory
...
corruption fix.
2008-08-19 19:13:39 +02:00
Ludovic Courtès
bb764c0e3c
Complete fix of `hell' allocation in GOOPS.
2008-08-19 19:08:29 +02:00
Han-Wen Nienhuys
408bcd99d3
Fix sizeof() nitpick for goops corruption.
2008-08-18 11:19:59 -03:00
Han-Wen Nienhuys
5bfb683e12
Make marked conservatively statistic accumulative.
2008-08-16 15:34:04 -03:00
Han-Wen Nienhuys
676d9cc553
If realloc() fails in scm_realloc, then do a complete GC with complete
...
sweep directly.
2008-08-16 15:20:55 -03:00
Han-Wen Nienhuys
40945e5e9f
Add a statistic for tracking how many cells are marked conservatively.
...
This allows an informed choice for deciding how many segments to
create. After startup, ~2% of the cells are scanned conservatively.
2008-08-16 15:03:48 -03:00
Han-Wen Nienhuys
82ae1b8eb3
Garbage collection cleanup.
...
* 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.
2008-08-16 13:57:23 -03:00
Han-Wen Nienhuys
b474ac33ee
Remove comments about removed variables.
2008-08-16 13:27:17 -03:00
Han-Wen Nienhuys
d09752ffd1
Introduce scm_i_marking to detect when GC mark bits are touched
...
outside of marking stage.
2008-08-16 13:21:42 -03:00
Han-Wen Nienhuys
e89b7b3625
Remove unused macro UNMARKED_CELL_P()
2008-08-16 13:21:32 -03:00
Han-Wen Nienhuys
569aa529d5
Use word_2 to store mark bits for freeing structs and vtables in the
...
correct order.
This ensures that we only use GC Marks during the actual GC Mark.
2008-08-16 13:21:21 -03:00
Han-Wen Nienhuys
b61b5d0ebe
Do not include private-gc.h in srfi-60.
2008-08-16 13:20:46 -03:00
Han-Wen Nienhuys
51ef99f7fa
Fix memory corruption issue with hell[] array: realloc/calloc need to
...
factor in sizeof(scm_t_bits)
2008-08-16 02:32:00 -03:00
Han-Wen Nienhuys
01621bf62e
Include min-yields in gc-stats output.
2008-08-14 02:16:41 -03:00
Han-Wen Nienhuys
2072309c1c
Whitespace and formatting fixes.
...
Conflicts:
libguile/gc-freelist.c
libguile/gc-segment.c
libguile/gc.h
2008-08-14 01:51:24 -03:00
Ludovic Courtès
c95514b3b4
Remove the now useless `qthreads.m4'.
2008-08-14 00:20:34 +02:00