guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, boehm-demers-weiser-gc, updated. relea


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, boehm-demers-weiser-gc, updated. release_1-9-2-143-g512c359
Date: Tue, 18 Aug 2009 22:16:31 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=512c35950752d1482d87c5052c8d923e0d16ad15

The branch, boehm-demers-weiser-gc has been updated
       via  512c35950752d1482d87c5052c8d923e0d16ad15 (commit)
       via  3c13664ebe86c87223d59db7dc7187be9d32b8d7 (commit)
       via  05762e724b27c2bf7b6f5af00db02312ceb0509e (commit)
      from  3b882d69fb4d4be9e46767d57c22c5f0e33a9be4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 512c35950752d1482d87c5052c8d923e0d16ad15
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 19 00:13:55 2009 +0200

    Remove unneeded `scm_without_guile ()' call.
    
    * libguile/scmsigs.c (read_without_guile_data, do_read_without_guile,
      read_without_guile): Remove.
      (signal_delivery_thread): Use read(2) instead of `read_without_guile ()'.

commit 3c13664ebe86c87223d59db7dc7187be9d32b8d7
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 19 00:06:14 2009 +0200

    Reinstate missing IA64 helper functions.
    
    * libguile/threads.c (scm_ia64_register_backing_store_base,
      scm_ia64_ar_bsp): New, formerly in `gc.c', which was removed in the
      BDW-GC branch.

commit 05762e724b27c2bf7b6f5af00db02312ceb0509e
Author: Ludovic Courtès <address@hidden>
Date:   Tue Aug 18 22:12:31 2009 +0200

    Use `scm_gc_malloc_pointerless ()' for bytevectors.
    
    * libguile/bytevectors.c (make_bytevector): Use
      `scm_gc_malloc_pointerless ()' for the buffer itself.
    
    * libguile/r6rs-ports.c (scm_get_bytevector_some,
      scm_get_bytevector_all, bop_buffer_grow): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 libguile/bytevectors.c |    3 ++-
 libguile/r6rs-ports.c  |    6 +++---
 libguile/scmsigs.c     |   30 ++----------------------------
 libguile/threads.c     |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 51 insertions(+), 33 deletions(-)

diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index e8c65bf..5b79a14 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -203,7 +203,8 @@ make_bytevector (size_t len)
       signed char *contents = NULL;
 
       if (!SCM_BYTEVECTOR_INLINEABLE_SIZE_P (len))
-       contents = (signed char *) scm_gc_malloc (len, SCM_GC_BYTEVECTOR);
+       contents = (signed char *)
+         scm_gc_malloc_pointerless (len, SCM_GC_BYTEVECTOR);
 
       bv = make_bytevector_from_buffer (len, contents);
     }
diff --git a/libguile/r6rs-ports.c b/libguile/r6rs-ports.c
index d9946cb..6ad320a 100644
--- a/libguile/r6rs-ports.c
+++ b/libguile/r6rs-ports.c
@@ -562,7 +562,7 @@ SCM_DEFINE (scm_get_bytevector_some, "get-bytevector-some", 
1, 0, 0,
   SCM_VALIDATE_BINARY_INPUT_PORT (1, port);
 
   c_len = 4096;
-  c_bv = (char *) scm_gc_malloc (c_len, SCM_GC_BYTEVECTOR);
+  c_bv = (char *) scm_gc_malloc_pointerless (c_len, SCM_GC_BYTEVECTOR);
   c_total = 0;
 
   do
@@ -626,7 +626,7 @@ SCM_DEFINE (scm_get_bytevector_all, "get-bytevector-all", 
1, 0, 0,
   SCM_VALIDATE_BINARY_INPUT_PORT (1, port);
 
   c_len = c_count = 4096;
-  c_bv = (char *) scm_gc_malloc (c_len, SCM_GC_BYTEVECTOR);
+  c_bv = (char *) scm_gc_malloc_pointerless (c_len, SCM_GC_BYTEVECTOR);
   c_total = c_read = 0;
 
   do
@@ -798,7 +798,7 @@ bop_buffer_grow (scm_t_bop_buffer *buf, size_t min_size)
     new_buf = scm_gc_realloc ((void *) buf->buffer, buf->total_len,
                              new_size, SCM_GC_BOP);
   else
-    new_buf = scm_gc_malloc (new_size, SCM_GC_BOP);
+    new_buf = scm_gc_malloc_pointerless (new_size, SCM_GC_BOP);
 
   buf->buffer = new_buf;
   buf->total_len = new_size;
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index f4772b7..d9b36c5 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2007, 
2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2007, 
2008, 2009 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -148,32 +148,6 @@ take_signal (int signum)
 #endif
 }
 
-typedef struct {
-  ssize_t res;
-  int fd;
-  char *buf;
-  size_t n;
-} read_without_guile_data;
-
-static void *
-do_read_without_guile (void *raw_data)
-{
-  read_without_guile_data *data = (read_without_guile_data *)raw_data;
-  data->res = read (data->fd, data->buf, data->n);
-  return NULL;
-}
-
-static ssize_t
-read_without_guile (int fd, char *buf, size_t n)
-{
-  read_without_guile_data data;
-  data.fd = fd;
-  data.buf = buf;
-  data.n = n;
-  scm_without_guile (do_read_without_guile, &data);
-  return data.res;
-}
-
 static SCM
 signal_delivery_thread (void *data)
 {
@@ -187,7 +161,7 @@ signal_delivery_thread (void *data)
 
   while (1)
     {
-      n = read_without_guile (signal_pipe[0], &sigbyte, 1);
+      n = read (signal_pipe[0], &sigbyte, 1);
       sig = sigbyte;
       if (n == 1 && sig >= 0 && sig < NSIG)
        {
diff --git a/libguile/threads.c b/libguile/threads.c
index 250db2c..f92ca26 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2003, 2004, 2005, 2006, 
2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2003, 2004, 2005, 2006, 
2007, 2008, 2009 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -2068,6 +2068,49 @@ scm_init_thread_procs ()
 #include "libguile/threads.x"
 }
 
+
+/* IA64-specific things.  */
+
+#ifdef __ia64__
+# ifdef __hpux
+#  include <sys/param.h>
+#  include <sys/pstat.h>
+void *
+scm_ia64_register_backing_store_base (void)
+{
+  struct pst_vm_status vm_status;
+  int i = 0;
+  while (pstat_getprocvm (&vm_status, sizeof (vm_status), 0, i++) == 1)
+    if (vm_status.pst_type == PS_RSESTACK)
+      return (void *) vm_status.pst_vaddr;
+  abort ();
+}
+void *
+scm_ia64_ar_bsp (const void *ctx)
+{
+  uint64_t bsp;
+  __uc_get_ar_bsp (ctx, &bsp);
+  return (void *) bsp;
+}
+# endif /* hpux */
+# ifdef linux
+#  include <ucontext.h>
+void *
+scm_ia64_register_backing_store_base (void)
+{
+  extern void *__libc_ia64_register_backing_store_base;
+  return __libc_ia64_register_backing_store_base;
+}
+void *
+scm_ia64_ar_bsp (const void *opaque)
+{
+  const ucontext_t *ctx = opaque;
+  return (void *) ctx->uc_mcontext.sc_ar_bsp;
+}
+# endif /* linux */
+#endif /* __ia64__ */
+
+
 /*
   Local Variables:
   c-file-style: "gnu"


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]