mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
squirrely smob marking refactor
* libguile/smob.c (smob_mark): No idea what the right thing is to do here.
This commit is contained in:
parent
2fe300ae8d
commit
62134ca5e9
1 changed files with 5 additions and 5 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue