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
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
Neil Jerram
5ea8e76e85
Fix build failure on Debian hppa architecture (bad stack growth detection)
...
* configure.in (SCM_I_GSC_STACK_GROWS_UP): Remove use of
AC_CACHE_CHECK, which was inadvertently causing
SCM_I_GSC_STACK_GROWS_UP _always_ to be 0.
2008-08-07 23:24:31 +02:00
Neil Jerram
76dae88158
Fix misleading output from `(help rationalize)'
...
* numbers.c (scm_rationalize): Update docstring to match the
manual (which is more correct). Change argument "err" to "eps",
also to match the manual.
2008-08-03 00:27:32 +01:00
Neil Jerram
091baf9edf
Single stepping through code from Emacs
...
When you use GDS to evaluate Scheme code from Emacs, you can now use
`C-u' to indicate that you want to single step through that code. See
`Evaluating Scheme Code' in the manual for more details.
* scheme-using.texi (Evaluating Scheme Code): Document use of
`C-u' prefix with evaluation commands.
* gds-scheme.el (gds-eval-region, gds-eval-expression)
(gds-eval-defun, gds-eval-last-sexp): Support `C-u' prefix,
meaning that user wants to single step through the code.
* gds-client.scm (handle-nondebug-protocol): Add support for
setting a trap on code that is about to be evaluated.
2008-07-17 23:05:57 +01:00
Neil Jerram
0d751d4720
ChangeLog for "Improve stack direction test"
2008-07-17 22:27:34 +01:00
Neil Jerram
2b3df509f6
ChangeLog for "Improved MIPS/Linux gc_os_dep.c definitions"
2008-07-17 22:26:41 +01:00
Ludovic Courtès
450be18dff
Handle lack of struct dirent64' and
readdir64_r ()' on HP-UX 11.11.
2008-07-17 00:20:31 +02:00
Neil Jerram
4696a66693
Improve stack direction test
...
* configure.in: Update stack direction test to be like that in
Autoconf _AC_LIBOBJ_ALLOCA and Gnulib; specifically in involving a
function calling itself.
2008-07-12 19:33:29 +01:00
Neil Jerram
c0a658c4db
Improved MIPS/Linux gc_os_dep.c definitions
...
From Thiemo Seufer <ths@networkno.de>:
* gc_os_dep.c (CPP_WORDSZ, ALIGN_DOUBLE, DATAEND,
DYNAMIC_LOADING): Added #defines.
(_fdata, _end): Added declarations.
(DATASTART): Use _fdata instead of __data_start.
(STACKBOTTOM): Changed from 0x80000000 to 0x7fff8000.
2008-07-12 19:33:21 +01:00
Ludovic Courtès
8722d99a45
Use `-q' when running standalone tests.
2008-07-06 23:58:38 +02:00
Ludovic Courtès
61c8bf343c
Update `INSTALL'.
2008-07-06 19:55:18 +02:00
Ludovic Courtès
4bdc8fb5ac
Update to Autoconf 2.61.
2008-07-06 19:53:49 +02:00
Ludovic Courtès
3d8c00e725
Update Gnulib files.
2008-07-05 20:24:51 +02:00
Ludovic Courtès
071bb6a840
Add `scm_c_symbol_length ()'.
2008-07-05 20:16:12 +02:00
Ludovic Courtès
b6137ed741
Don't declare scm_i_locale_mutex' as
SCM_INTERNAL'.
2008-07-04 22:22:06 +02:00
Ludovic Courtès
a572acb2c2
Update `THANKS'.
2008-07-04 22:03:08 +02:00
Ludovic Courtès
3e28462ffb
Fix `SCM_INTERNAL' with GCC 4.3.
2008-07-04 22:02:56 +02:00
Ludovic Courtès
7b28af22c0
Add `NEWS' entry for SRFI-18.
2008-06-30 19:48:50 +02:00
Julian Graham
e68f492a43
srfi-modules.texi (SRFI-18): New sections.
...
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2008-06-30 19:47:21 +02:00
Ludovic Courtès
47871d5a16
Modernize Automake files.
2008-06-28 22:15:52 +02:00
Ludovic Courtès
c8779dde04
Fix doc typo regarding `use-syntax' and "syntax transformers".
2008-06-28 20:37:21 +02:00
Ludovic Courtès
994e8417d2
Fix harmless typo in SRFI-19.
2008-06-28 20:32:17 +02:00
Ludovic Courtès
95c6523b03
Disable type-checking of `SCM_UNPACK' for the broken HP compilers.
2008-06-28 20:31:01 +02:00
Ludovic Courtès
83bd8c1223
Update `THANKS'.
2008-06-02 21:47:53 +02:00
Ludovic Courtès
589d9eb814
guile-config: Show -L$libdir' before
-lguile'.
2008-06-02 21:47:41 +02:00
Ludovic Courtès
6eadcdab98
Work around `#define except' on Tru64.
2008-06-02 21:43:07 +02:00
Ludovic Courtès
fcbc08686c
Support systems whose <inttypes.h> doesn't define `PRIiMAX'.
2008-06-02 21:34:57 +02:00