[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.1-91-ga8952d
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.1-91-ga8952d1 |
Date: |
Thu, 26 May 2011 15:16:25 +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=a8952d1fb73218ad2389bb290ebbb737d4f88fce
The branch, stable-2.0 has been updated
via a8952d1fb73218ad2389bb290ebbb737d4f88fce (commit)
via 65619ebe9a9af71f6dd17736f5556e53db485f1c (commit)
from f567a43cf0336151fac1a51c6553431420f21397 (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 a8952d1fb73218ad2389bb290ebbb737d4f88fce
Author: Andy Wingo <address@hidden>
Date: Thu May 26 15:58:42 2011 +0200
remove scm_newcell_count, scm_newcell2_count
* libguile/inline.h:
* libguile/gc.c: Remove declaration and definition of unused
"scm_newcell_count" and "scm_newcell2_count". Since SCM_INTERNAL is
"extern", these symbols were not externally visible anyway, at least
under Linux or Windows.
commit 65619ebe9a9af71f6dd17736f5556e53db485f1c
Author: Andy Wingo <address@hidden>
Date: Thu May 26 12:34:30 2011 +0200
deprecate scm_immutable_{double_,}cell
* libguile/inline.h:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_immutable_cell, scm_immutable_double_cell):
Deprecate these, as the GC_STUBBORN API doesn't do anything any more.
* libguile/strings.c (scm_i_c_make_symbol): Change the one use of
scm_immutable_double_cell to scm_double_cell.
-----------------------------------------------------------------------
Summary of changes:
libguile/deprecated.c | 22 ++++++++++++++
libguile/deprecated.h | 8 +++++
libguile/gc.c | 5 ---
libguile/inline.h | 74 -------------------------------------------------
libguile/strings.c | 4 +-
5 files changed, 32 insertions(+), 81 deletions(-)
diff --git a/libguile/deprecated.c b/libguile/deprecated.c
index c7e2aae..2026788 100644
--- a/libguile/deprecated.c
+++ b/libguile/deprecated.c
@@ -2597,6 +2597,28 @@ scm_internal_dynamic_wind (scm_t_guard before,
+SCM
+scm_immutable_cell (scm_t_bits car, scm_t_bits cdr)
+{
+ scm_c_issue_deprecation_warning
+ ("scm_immutable_cell is deprecated. Use scm_cell instead.");
+
+ return scm_cell (car, cdr);
+}
+
+SCM
+scm_immutable_double_cell (scm_t_bits car, scm_t_bits cbr,
+ scm_t_bits ccr, scm_t_bits cdr)
+{
+ scm_c_issue_deprecation_warning
+ ("scm_immutable_double_cell is deprecated. Use scm_double_cell instead.");
+
+ return scm_double_cell (car, cbr, ccr, cdr);
+}
+
+
+
+
void
scm_i_init_deprecated ()
{
diff --git a/libguile/deprecated.h b/libguile/deprecated.h
index 6e832b8..82415ea 100644
--- a/libguile/deprecated.h
+++ b/libguile/deprecated.h
@@ -794,6 +794,14 @@ SCM_DEPRECATED SCM scm_struct_create_handle (SCM obj);
+/* Deprecated 26-05-2011, as the GC_STUBBORN API doesn't do anything any
+ more. */
+SCM_API SCM scm_immutable_cell (scm_t_bits car, scm_t_bits cdr);
+SCM_API SCM scm_immutable_double_cell (scm_t_bits car, scm_t_bits cbr,
+ scm_t_bits ccr, scm_t_bits cdr);
+
+
+
void scm_i_init_deprecated (void);
#endif
diff --git a/libguile/gc.c b/libguile/gc.c
index 0451fbb..3ae978f 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -224,11 +224,6 @@ SCM_SYMBOL (sym_protected_objects, "protected-objects");
SCM_SYMBOL (sym_times, "gc-times");
-/* Number of calls to SCM_NEWCELL since startup. */
-unsigned scm_newcell_count;
-unsigned scm_newcell2_count;
-
-
/* {Scheme Interface to GC}
*/
static SCM
diff --git a/libguile/inline.h b/libguile/inline.h
index 835edcc..a78cac5 100644
--- a/libguile/inline.h
+++ b/libguile/inline.h
@@ -83,14 +83,9 @@
SCM_API SCM scm_cell (scm_t_bits car, scm_t_bits cdr);
-SCM_API SCM scm_immutable_cell (scm_t_bits car, scm_t_bits cdr);
SCM_API SCM scm_double_cell (scm_t_bits car, scm_t_bits cbr,
scm_t_bits ccr, scm_t_bits cdr);
-SCM_API SCM scm_immutable_double_cell (scm_t_bits car, scm_t_bits cbr,
- scm_t_bits ccr, scm_t_bits cdr);
SCM_API SCM scm_words (scm_t_bits car, scm_t_uint16 n_words);
-/* no immutable words for now, would require initialization at the same time as
- allocation */
SCM_API SCM scm_array_handle_ref (scm_t_array_handle *h, ssize_t pos);
SCM_API void scm_array_handle_set (scm_t_array_handle *h, ssize_t pos, SCM
val);
@@ -112,10 +107,6 @@ SCM_API void scm_puts (const char *str_data, SCM port);
introduce any extraneous symbols into the public namespace. We
only need SCM_C_INLINE to be seen publically . */
-extern unsigned scm_newcell2_count;
-extern unsigned scm_newcell_count;
-
-
#ifndef SCM_INLINE_C_INCLUDING_INLINE_H
SCM_C_EXTERN_INLINE
#endif
@@ -139,26 +130,6 @@ scm_cell (scm_t_bits car, scm_t_bits cdr)
SCM_C_EXTERN_INLINE
#endif
SCM
-scm_immutable_cell (scm_t_bits car, scm_t_bits cdr)
-{
- SCM cell = PTR2SCM (GC_MALLOC_STUBBORN (sizeof (scm_t_cell)));
-
- /* Initialize the type slot last so that the cell is ignored by the GC
- until it is completely initialized. This is only relevant when the GC
- can actually run during this code, which it can't since the GC only runs
- when all other threads are stopped. */
- SCM_GC_SET_CELL_WORD (cell, 1, cdr);
- SCM_GC_SET_CELL_WORD (cell, 0, car);
-
- GC_END_STUBBORN_CHANGE (SCM2PTR (cell));
-
- return cell;
-}
-
-#ifndef SCM_INLINE_C_INCLUDING_INLINE_H
-SCM_C_EXTERN_INLINE
-#endif
-SCM
scm_double_cell (scm_t_bits car, scm_t_bits cbr,
scm_t_bits ccr, scm_t_bits cdr)
{
@@ -202,51 +173,6 @@ scm_double_cell (scm_t_bits car, scm_t_bits cbr,
SCM_C_EXTERN_INLINE
#endif
SCM
-scm_immutable_double_cell (scm_t_bits car, scm_t_bits cbr,
- scm_t_bits ccr, scm_t_bits cdr)
-{
- SCM z;
-
- z = PTR2SCM (GC_MALLOC_STUBBORN (2 * sizeof (scm_t_cell)));
- /* Initialize the type slot last so that the cell is ignored by the
- GC until it is completely initialized. This is only relevant
- when the GC can actually run during this code, which it can't
- since the GC only runs when all other threads are stopped.
- */
- SCM_GC_SET_CELL_WORD (z, 1, cbr);
- SCM_GC_SET_CELL_WORD (z, 2, ccr);
- SCM_GC_SET_CELL_WORD (z, 3, cdr);
- SCM_GC_SET_CELL_WORD (z, 0, car);
-
- GC_END_STUBBORN_CHANGE (SCM2PTR (z));
-
- /* When this function is inlined, it's possible that the last
- SCM_GC_SET_CELL_WORD above will be adjacent to a following
- initialization of z. E.g., it occurred in scm_make_real. GCC
- from around version 3 (e.g., certainly 3.2) began taking
- advantage of strict C aliasing rules which say that it's OK to
- interchange the initialization above and the one below when the
- pointer types appear to differ sufficiently. We don't want that,
- of course. GCC allows this behaviour to be disabled with the
- -fno-strict-aliasing option, but would also need to be supplied
- by Guile users. Instead, the following statements prevent the
- reordering.
- */
-#ifdef __GNUC__
- __asm__ volatile ("" : : : "memory");
-#else
- /* portable version, just in case any other compiler does the same
- thing. */
- scm_remember_upto_here_1 (z);
-#endif
-
- return z;
-}
-
-#ifndef SCM_INLINE_C_INCLUDING_INLINE_H
-SCM_C_EXTERN_INLINE
-#endif
-SCM
scm_words (scm_t_bits car, scm_t_uint16 n_words)
{
SCM z;
diff --git a/libguile/strings.c b/libguile/strings.c
index bf63704..0d379ff 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -741,8 +741,8 @@ scm_i_c_make_symbol (const char *name, size_t len,
SCM buf = make_stringbuf (len);
memcpy (STRINGBUF_CHARS (buf), name, len);
- return scm_immutable_double_cell (scm_tc7_symbol | flags, SCM_UNPACK (buf),
- (scm_t_bits) hash, SCM_UNPACK (props));
+ return scm_double_cell (scm_tc7_symbol | flags, SCM_UNPACK (buf),
+ (scm_t_bits) hash, SCM_UNPACK (props));
}
/* Returns the number of characters in SYM. This may be different
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.1-91-ga8952d1,
Andy Wingo <=