Ludovic Courtès
d0cad2492c
Use scm_gc_malloc ()' when allocating GOOPS
t_extension' objects.
...
* libguile/goops.c (extension_gc_hint): New.
(scm_c_extend_primitive_generic): Use `scm_gc_malloc ()' instead of
`scm_malloc ()'.
(setup_extended_primitive_generics): Don't call `free(3)' when
removing a `t_extension' object.
2009-01-18 16:30:36 +01:00
Ludovic Courtès
1a531c80b2
Use `scm_gc_malloc ()' when allocating hook entries.
...
* libguile/hooks.c (hook_entry_gc_hint): New.
(scm_c_hook_add): Use `scm_gc_malloc ()' instead of `scm_malloc ()'.
(scm_c_hook_remove): Don't explicitly free(3) the entry, let the GC do
its job.
2009-01-18 16:13:31 +01:00
Ludovic Courtès
2a77682322
Use scm_gc malloc_pointerless ()' in
scm_i allocate_string_pointers ()'.
...
* libguile/dynl.c (free_string_pointers): Remove.
(scm_dynamic_args_call): Remove reference to `free_string_pointers ()'
and remove dynwind.
* libguile/posix.c (free_string_pointers): Remove.
(scm_execl, scm_execlp, scm_execle, scm_environ): Remove references
to `free_string_pointers ()'.
* libguile/simpos.c (free_string_pointers): Remove.
(scm_system_star): Remove reference to `free_string_pointers ()',
remove enclosing dynwind.
* libguile/strings.c (scm_i_allocate_string_pointers): Use
`scm_gc_malloc_pointerless ()' and `scm_gc_malloc ()'
instead of `scm_malloc ()' and `scm_to_locale_string ()',
so that the result is automatically GC'd when no longer
referenced. Remove unneeded dynwind.
(scm_i_free_string_pointers): Remove.
* libguile/strings.h (scm_i_free_string_pointers): Remove declaration.
2009-01-18 16:02:04 +01:00
Ludovic Courtès
33ed7a1644
Use `scm_gc_malloc ()' when allocating the allocated fluid vector.
...
* libguile/fluids.c (next_fluid_num): Use `scm_gc_malloc ()'. Don't
explicitly free the previously allocated array.
2009-01-18 13:01:16 +01:00
Ludovic Courtès
6bf4c3f9c1
Remove useless cooperative multi-threading source files.
2009-01-18 12:53:01 +01:00
Ludovic Courtès
0208ec4013
Use `scm_gc_malloc ()' and friends when allocating the subr table.
...
* libguile/procs.c (subr_table_gc_hint): New.
(scm_c_make_subr): Use `scm_gc_realloc ()' instead of `scm_realloc ()'.
(scm_init_subr_table): Use `scm_gc_malloc ()' instead of `scm_malloc ()'.
2009-01-18 12:50:18 +01:00
Ludovic Courtès
f48393a99b
Make variables related to the subr table size private and unsigned.
...
* libguile/procs.c (scm_subr_table_size, scm_subr_table_room): Made
`static' and `unsigned'.
(scm_c_make_subr)[entry]: Made `unsigned'.
* libguile/procs.h (scm_subr_table_size, scm_subr_table_room): Remove
declarations.
2009-01-18 12:44:15 +01:00
Ludovic Courtès
81ba12d74d
Don't use `scm_immutable_cell ()' for subrs.
...
* libguile/procs.c (scm_c_make_subr): Use `scm_cell ()' instead of
`scm_immutable_cell ()' since subr cells can be mutated, e.g., via
`SCM_SUBR_GENERIC ()' as in `scm_c_extend_primitive_generic ()' (this
doesn't make any difference in practice as of libgc 7.1, though).
2009-01-18 12:19:41 +01:00
Ludovic Courtès
2b807ea75c
Merge branch 'master' into boehm-demers-weiser-gc
...
Conflicts:
lib/Makefile.am
m4/gnulib-cache.m4
m4/gnulib-comp.m4
2009-01-17 22:44:05 +01:00
Neil Jerram
9ffef3c6f6
Invoke gnulib-tool with --no-vc-files option, and
...
remove files that should not have been committed to the repository.
2009-01-15 01:07:15 +00:00
Neil Jerram
97027e4125
Revert lib/.gitignore and m4/.gitignore to how they should be
...
(before my confused Gnulib commits...)
2009-01-15 00:56:53 +00:00
Neil Jerram
e335ff3df0
Revert unintended change to INSTALL made by commit 4a462e3544
2009-01-15 00:09:21 +00:00
Neil Jerram
7f8e40b778
Add more missing Gnulib files
2009-01-15 00:04:02 +00:00
Neil Jerram
bfb18ff05a
Add more missing Gnulib files
2009-01-14 21:05:15 +00:00
Neil Jerram
0a34f3954e
Add missing Gnulib file (m4/localcharset.m4)
2009-01-14 20:51:47 +00:00
Ludovic Courtès
bf4200ca9f
Fixlet for `run-benchmark.scm'.
...
* gc-benchmarks/run-benchmark.scm (%default-options): Default to the
empty list for `input'.
2009-01-12 23:31:51 +01:00
Ludovic Courtès
1c14d7671d
gc-benchmarks: Adapt `gcold.scm' so that if conforms to the framework.
...
* gc-benchmarks/larceny/gcold.scm (main): Rename to `gcold-benchmark'.
(GCOld): Fix the order of the predicate and run-maker.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
83e3ac9475
gc-benchmarks: Add `gcold.scm', by Clinger, Hansen et al.
...
See http://www.ccs.neu.edu/home/will/Twobit/benchmarksAbout.html for
details.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
69ecc0baa3
gc-benchmarks: Add `run-benchmark.scm'.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
b9ecffc508
gc-profile: Show the result of `(version)'.
...
* gc-benchmarks/gc-profile.scm (main): Show `(version)'.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
1b04c499c4
gc-benchmarks: Allow the iteration count to be passed to `gc-profile.scm'.
...
* gc-benchmarks/gc-profile.scm (*iteration-count*): New parameter.
(run-benchmark): Moved from `twobit-compat.scm'. Honor
`*iteration-count*'.
(%options): Add `--iterations'.
(show-help): Document it.
(main): Parameterize `*iteration-count*'.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
1b706edff6
Import GC benchmarks from Larceny, by Hansen, Clinger, et al.
...
These GPLv2+-licensed GC benchmarks are available from
http://www.ccs.neu.edu/home/will/GC/sourcecode.html .
2009-01-12 23:31:50 +01:00
Ludovic Courtès
a13dc0b473
gc-benchmarks: Add a Larceny/Twobit benchmark compatibility layer.
...
* gc-benchmarks/gc-profile.scm: Load "twobit-compat.scm".
(save-directory-excursion, load-larceny-benchmark): New procedures.
(%options): New variable.
(show-help, parse-args): New procedures.
(main): Use `parse-args' and `load-larceny-benchmark'.
2009-01-12 23:31:50 +01:00
Ludovic Courtès
8da56ffc0b
Add GC benchmarks.
2009-01-12 23:31:50 +01:00
Neil Jerram
4a462e3544
Make sure that we have a real on-the-stack alloca()
...
Because of how Guile saves and restores continuations (by copying the
stack), and how it uses alloca to create space for debug information
on the stack, we must have an alloca() that really does use the stack,
and not one that uses the heap.
To do this, we use the Gnulib "alloca-opt" module instead of "alloca".
This commit also updates the Gnulib sources from the current Gnulib
Git repository.
2009-01-12 22:08:56 +00:00
Neil Jerram
dc686d7b0a
NEWS entry for %fast-slot-ref/set! fix
2009-01-04 22:47:59 +00:00
Neil Jerram
a9931e4e1a
Fix implementation of %fast-slot-ref and %fast-slot-set!
...
* libguile/goops.c (scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x):
Correct incantation for getting the number of slots of the specified
instance.
* libguile/goops.h (SCM_NUMBER_OF_SLOTS): Removed (because wrong).
* test-suite/standalone/test-fast-slot-ref.in: New standalone test.
* configure.in: Generate test-suite/standalone/test-fast-slot-ref.
* test-suite/standalone/Makefile.am (check_SCRIPTS): Add
test-fast-slot-ref.
2009-01-04 22:46:47 +00:00
Neil Jerram
53e4bd36f3
Update autogen.sh
...
* autogen.sh: Don't call guile-readline/autogen.sh; not needed because
autoreconf recurses itself. Remove copies of config.guess and
config.sub, which are now invalid because we don't have those files
in the top level directory. Remove mention of
--enable-maintainer-mode, as we don't use AM_MAINTAINER_MODE any
more.
2009-01-02 23:07:37 +00:00
Ludovic Courtès
911d725439
Delete redundant `config.{guess,sub}'.
2009-01-02 23:06:47 +00:00
Ludovic Courtès
3932190521
Fix typo in SRFI-19.
...
* srfi/srfi-19.scm (priv:string->date): Check for EOF on CH, not PORT.
2008-12-22 16:24:04 +01:00
Ludovic Courtès
2898317d8b
Update `INSTALL', from Automake 1.10.2.
2008-12-18 22:49:26 +01:00
Ludovic Courtès
36c66a07e5
Don't use deprecated functions in `debug-malloc.c'.
...
* libguile/debug-malloc.c (scm_malloc_stats): Use
`scm_from_locale_string ()'. Patch by Linas Vepstas
<linasvepstas@gmail.com>.
2008-12-18 22:49:17 +01:00
Ludovic Courtès
8891556e50
srfi-19: Fix `string->date' weekday lookup.
...
* srfi/srfi-19.scm (priv:locale-abbr-weekday->index): Use
`locale-day-short' since it expects integers in the range 1-7, unlike
`priv:locale-abbr-weekday'.
(priv:locale-long-weekday->index): Likewise.
* test-suite/tests/srfi-19.test ("SRFI date/time
library")["string->date works on Sunday"]: New test.
2008-12-18 22:49:13 +01:00
Ludovic Courtès
c501d037b6
Fixlet for `run-benchmark.scm'.
...
* gc-benchmarks/run-benchmark.scm (%default-options): Default to the
empty list for `input'.
2008-12-14 21:07:09 +01:00
Ludovic Courtès
46e17bd233
Fix typo in makefile.
...
* libguile/Makefile.am (DOT_X_FILES): Substitute `gettext.x' to
`gettext.c'.
2008-12-14 20:54:18 +01:00
Ludovic Courtès
083f810fe9
Merge branch 'master' into boehm-demers-weiser-gc
...
Conflicts:
lib/Makefile.am
libguile/struct.c
libguile/threads.c
m4/gnulib-cache.m4
m4/gnulib-comp.m4
2008-12-14 20:48:15 +01:00
Neil Jerram
55aae98356
Revert "(scm_shell_usage): Note need for subscription to bug-guile@gnu.org."
...
This reverts commit f3e3f530c2
, which is
appropriate because subscription is not now required for someone to
send a message to bug-guile@gnu.org .
Conflicts:
2008-12-10 19:11:28 +00:00
Neil Jerram
88f5ea45d5
Revert "Note need for subscription to bug-guile@gnu.org."
...
This reverts commit cbea802b37
, which is
appropriate because subscription is not now required for someone to
send a message to bug-guile@gnu.org .
Conflicts:
2008-12-10 19:07:14 +00:00
Neil Jerram
9dfa64ca7f
Revert "(Reporting Bugs): Note need for subscription to"
...
This reverts commit e563095988
, which is
appropriate because subscription is not now required for someone to
send a message to bug-guile@gnu.org .
Conflicts:
2008-12-10 19:02:50 +00:00
Neil Jerram
1e45754493
Revert "* README: Note need for subscription to bug-guile@gnu.org."
...
This reverts commit 51d079ab0d
, which is
appropriate because subscription is not now required for someone to
send a message to bug-guile@gnu.org .
2008-12-10 18:57:20 +00:00
Ludovic Courtès
83fda4707c
i18n: Add comment about standardization of the `locale_t' API.
...
* libguile/i18n.c: Add pointer to the POSIX 2008 standardization of the
API.
2008-12-10 11:05:50 +01:00
Ludovic Courtès
9320e93390
Fix erroneous differences in NEWS' compared to
branch_release-1-8'.
2008-12-10 10:44:24 +01:00
Ludovic Courtès
96e3f63af0
configure: Check for <ltdl.h>.
...
* configure.in: Check for <ltdl.h>, to clarify misconfigurations.
2008-12-10 10:08:06 +01:00
Ludovic Courtès
bbfbb2a7cd
configure: Don't substitute `DLPREOPEN'.
...
* configure.in: Don't substitute `DLPREOPEN' since it's no longer used
(see commit 72db29f200
).
2008-12-10 10:08:04 +01:00
Neil Jerram
69986e21d3
Remove everything to do with GDS Breakpoints
...
(which I now regard as an unsuccesful experiment)
This commit makes all affected files the same in master as they are in branch_release-1-8.
* doc/ref/api-debug.texi (Breakpoints): Removed.
* doc/ref/scheme-using.texi (GDS Introduction, GDS Getting Started,
Displaying the Scheme Stack): Remove mentions of breakpoints.
(Setting Specific Breakpoints, Setting GDS-managed Breakpoints,
Setting and Managing Breakpoints, Listing and Deleting Breakpoints,
Moving and Losing Breakpoints): Removed.
* emacs/gds-scheme.el (gds-bufferless-breakpoints,
gds-bpdef:behaviour, gds-bpdef:type, gds-bpdef:file-name,
gds-bpdef:proc-name, gds-bpdef:lc, gds-breakpoint-number,
gds-breakpoint-buffers, gds-breakpoint-programming,
gds-breakpoint-cache, gds-breakpoint-face,
gds-breakpoints-file-name, gds-delete-lost-breakpoints,
gds-bpdefs-cache, gds-read-breakpoints-file, gds-adopt-breakpoints,
gds-adopt-breakpoint, gds-make-breakpoint-overlay,
gds-send-breakpoint-to-client, gds-default-breakpoint-type,
gds-set-breakpoint, gds-defun-name-region,
gds-breakpoint-overlays-at, gds-write-breakpoints-file,
gds-fold-breakpoints, gds-delete-breakpoints, gds-delete-breakpoint,
gds-breakpoint-at-point, gds-union, gds-user-selected-breakpoint,
gds-describe-breakpoints, gds-describe-breakpoint,
gds-after-save-update-breakpoints, gds-breakpoint-map): Removed.
(gds-nondebug-protocol): Removed handling for `breakpoint' and
`get-breakpoints'.
* emacs/gds.el (gds-scheme-first-load): Removed.
* ice-9/debugging/Makefile.am (ice9_debugging_sources): Removed
breakpoints.scm and load-hooks.scm.
* ice-9/debugging/breakpoints.scm: Removed.
* ice-9/debugging/load-hooks.scm: Removed.
* ice-9/gds-client.scm (handle-nondebug-protocol): Remove everything
to do with breakpoints.
(breakpoints, set-gds-breakpoints): Removed.
(run-utility): Call `connect-to-gds' instead of `set-gds-breakpoints'.
2008-12-10 00:19:11 +00:00
Ludovic Courtès
e00634774a
Mention the end of ChangeLog' files in
NEWS'.
2008-12-09 00:15:25 +01:00
Ludovic Courtès
f24ceff283
Make `config.status' happier.
...
* guile-tools.in (datarootdir): New variable, needed since `pkgdatadir'
may refer to `${datarootdir}'.
2008-12-09 00:15:18 +01:00
Ludovic Courtès
b2b91068a4
Add other missing Gnulib files.
2008-12-08 08:06:34 +01:00
Ludovic Courtès
de7d32d064
Remove useless references to Libtool's `dlpreopen' mechanism.
...
* libguile/Makefile.am (guile_LDFLAGS): Remove `@DLPREOPEN@' since it
has no effect.
* libguile/guile.c (main): Don't invoke `LTDL_SET_PRELOADED_SYMBOLS ()'
since it had no effect given how we invoke `libtool'. It also fixes
compatibility issues when using libltdl 1.5 with a Libtool 2.2
package.
2008-12-07 22:35:23 +01:00
Ludovic Courtès
14f02d0bcf
Add missing Gnulib M4 files.
...
Reported by Neil Jerram.
2008-12-07 22:34:47 +01:00