summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-10-24 18:45:41 +0200
committerAndy Wingo <wingo@pobox.com>2013-01-15 19:13:09 +0100
commit62134ca5e941e5dacd953e2c7aea75090a9fd5ee (patch)
tree389281ac31f856e6ca34c54e5574ac5b1b5d9cea
parent2fe300ae8d286e5c8e641dd08675d0a73c472b48 (diff)
downloadguile-wip-retagging.tar.gz
squirrely smob marking refactorwip-retagging
* libguile/smob.c (smob_mark): No idea what the right thing is to do here.
-rw-r--r--libguile/smob.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libguile/smob.c b/libguile/smob.c
index 6dc2dfd83..c678e8014 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -307,13 +307,13 @@ smob_mark (GC_word *addr, struct GC_ms_entry *mark_stack_ptr,
/* The first word looks corrupt. */
abort ();
- mark_stack_ptr = GC_MARK_AND_PUSH (SCM2PTR (SCM_CELL_OBJECT_1 (cell)),
+ mark_stack_ptr = GC_MARK_AND_PUSH (SCM_UNPACK_POINTER (SCM_CELL_OBJECT_1 (cell)),
mark_stack_ptr,
mark_stack_limit, NULL);
- mark_stack_ptr = GC_MARK_AND_PUSH (SCM2PTR (SCM_CELL_OBJECT_2 (cell)),
+ mark_stack_ptr = GC_MARK_AND_PUSH (SCM_UNPACK_POINTER (SCM_CELL_OBJECT_2 (cell)),
mark_stack_ptr,
mark_stack_limit, NULL);
- mark_stack_ptr = GC_MARK_AND_PUSH (SCM2PTR (SCM_CELL_OBJECT_3 (cell)),
+ mark_stack_ptr = GC_MARK_AND_PUSH (SCM_UNPACK_POINTER (SCM_CELL_OBJECT_3 (cell)),
mark_stack_ptr,
mark_stack_limit, NULL);
@@ -332,7 +332,7 @@ smob_mark (GC_word *addr, struct GC_ms_entry *mark_stack_ptr,
if (SCM_HEAP_OBJECT_P (obj))
/* Mark the returned object. */
- mark_stack_ptr = GC_MARK_AND_PUSH (SCM2PTR (obj),
+ mark_stack_ptr = GC_MARK_AND_PUSH (SCM_UNPACK_POINTER (obj),
mark_stack_ptr,
mark_stack_limit, NULL);
@@ -365,7 +365,7 @@ scm_gc_mark (SCM o)
/* The function was not called from a mark procedure. */
abort ();
- mark_stack_ptr = GC_MARK_AND_PUSH (SCM2PTR (o),
+ mark_stack_ptr = GC_MARK_AND_PUSH (SCM_UNPACK_POINTER (o),
CURRENT_MARK_PTR, CURRENT_MARK_LIMIT,
NULL);
SCM_I_CURRENT_THREAD->current_mark_stack_ptr = mark_stack_ptr;