1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-28 14:00:31 +02:00
Commit graph

10486 commits

Author SHA1 Message Date
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