summaryrefslogtreecommitdiff
path: root/libguile/inline.h
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2005-03-09 19:14:36 +0000
committerMarius Vollmer <mvo@zagadka.de>2005-03-09 19:14:36 +0000
commitb2a339f6e527fdf21dd665fe30b6bf9381680f51 (patch)
treeb6839cb884b5e9e90173311488239346cf572446 /libguile/inline.h
parent0c97d7dd662540d41ecfc507ad5ae6d38d3d7ca1 (diff)
downloadguile-b2a339f6e527fdf21dd665fe30b6bf9381680f51.tar.gz
Updated comments for current threading implementation.
Diffstat (limited to 'libguile/inline.h')
-rw-r--r--libguile/inline.h33
1 files changed, 4 insertions, 29 deletions
diff --git a/libguile/inline.h b/libguile/inline.h
index 49f99a1da..ce8b99ee4 100644
--- a/libguile/inline.h
+++ b/libguile/inline.h
@@ -121,24 +121,12 @@ scm_cell (scm_t_bits car, scm_t_bits cdr)
/* 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 for
- cooperating threads, but it might be important when we get true
- preemptive threads.
+ 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, cdr);
SCM_GC_SET_CELL_WORD (z, 0, car);
-#if 0 /*fixme* Hmm... let's consider this later. */
-#if !defined(SCM_USE_COOP_THREADS) && !defined(SCM_USE_NULL_THREADS) && !defined(SCM_USE_COPT_THREADS)
- /* When we are using preemtive threads, we might need to make
- sure that the initial values for the slots are protected until
- the cell is completely initialized.
- */
-#error review me
- scm_remember_upto_here_1 (SCM_PACK (cdr));
-#endif
-#endif
-
#if (SCM_DEBUG_CELL_ACCESSES == 1)
if (scm_expensive_debug_cell_accesses_p )
scm_i_expensive_validation_check (z);
@@ -180,27 +168,14 @@ scm_double_cell (scm_t_bits car, scm_t_bits cbr,
/* 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 for
- cooperating threads, but it might be important when we get true
- preemptive threads.
+ 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);
-#if 0 /*fixme* Hmm... let's consider this later. */
-#if !defined(SCM_USE_COOP_THREADS) && !defined(SCM_USE_NULL_THREADS) && !defined(SCM_USE_COPT_THREADS)
- /* When we are using non-cooperating threads, we might need to make
- sure that the initial values for the slots are protected until
- the cell is completely initialized.
- */
-#error review me
- scm_remember_upto_here_3 (SCM_PACK (cbr), SCM_PACK (ccr), SCM_PACK (cdr));
-#endif
-#endif
-
-
#if (SCM_DEBUG_CELL_ACCESSES == 1)
if (scm_debug_cell_accesses_p)
{