reorder marking displaced field - gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamm Maguire <camm@debian.org>2015年02月05日 10:35:49 -0500
committerCamm Maguire <camm@debian.org>2015年02月05日 10:35:49 -0500
commitb79a9dc8cfdf16709b5417dd5ed66822f8ff80fa (patch)
tree3fc794102c8e53e59cf60f44373ec77ee7a801c9
parent8124395463d00b936d19bee630503690411eec8c (diff)
downloadgcl-b79a9dc8cfdf16709b5417dd5ed66822f8ff80fa.tar.gz
reorder marking displaced field
Diffstat
-rwxr-xr-xgcl/o/gbc.c 20
1 files changed, 12 insertions, 8 deletions
diff --git a/gcl/o/gbc.c b/gcl/o/gbc.c
index 6be9f5fef..f51e9be0e 100755
--- a/gcl/o/gbc.c
+++ b/gcl/o/gbc.c
@@ -508,8 +508,8 @@ mark_object(object x) {
break;
case t_array:
- if ((x->a.a_displaced) != Cnil)
- mark_displaced_field(x);
+ /* if ((x->a.a_displaced) != Cnil) */
+ /* mark_displaced_field(x); */
if (x->a.a_dims != NULL) {
if (inheap(x->a.a_dims)) {
if (what_to_collect == t_contiguous)
@@ -584,11 +584,13 @@ mark_object(object x) {
adjust_displaced(x, i);
}
}
+ if ((x->a.a_displaced) != Cnil)
+ mark_displaced_field(x);
break;
case t_vector:
- if ((x->v.v_displaced) != Cnil)
- mark_displaced_field(x);
+ /* if ((displaced=x->v.v_displaced) != Cnil) */
+ /* mark_displaced_field(x); */
if ((enum aelttype)x->v.v_elttype == aet_object)
goto CASE_GENERAL;
else
@@ -621,8 +623,8 @@ mark_object(object x) {
CASE_STRING:
case t_string:
- if ((x->st.st_displaced) != Cnil)
- mark_displaced_field(x);
+ /* if ((displaced=x->st.st_displaced) != Cnil) */
+ /* mark_displaced_field(x); */
j = x->st.st_dim;
cp = x->st.st_self;
if (cp == NULL)
@@ -639,12 +641,14 @@ mark_object(object x) {
adjust_displaced(x, i);
}
}
+ if ((x->st.st_displaced) != Cnil)
+ mark_displaced_field(x);
break;
CASE_BITVECTOR:
case t_bitvector:
- if ((x->bv.bv_displaced) != Cnil)
- mark_displaced_field(x);
+ /* if ((displaced=x->bv.bv_displaced) != Cnil) */
+ /* mark_displaced_field(x); */
/* We make bitvectors multiple of sizeof(int) in size allocated
Assume 8 = number of bits in char */
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月05日 05:32:28 +0000

AltStyle によって変換されたページ (->オリジナル) /