Skip to content

Commit 01ec241

Browse files
committed
Fixed wrong logic.
Related to: Oldes/Rebol-issues#2072
1 parent fd64bd6 commit 01ec241

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/core/m-gc.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -384,8 +384,8 @@ static void Mark_Series(REBSER *series, REBCNT depth);
384384
// Object is just a block with special first value (context):
385385
mark_obj:
386386
if (!IS_MARK_SERIES(VAL_OBJ_FRAME(val))) {
387-
if (depth >= 64) Queue_Mark_Series(VAL_OBJ_FRAME(val));
388-
else Mark_Series(VAL_OBJ_FRAME(val), depth);
387+
if (depth < 64) Mark_Series(VAL_OBJ_FRAME(val), depth);
388+
else Queue_Mark_Series(VAL_OBJ_FRAME(val));
389389
//if (SERIES_TAIL(VAL_OBJ_FRAME(val)) >= 1)
390390
// Dump_Frame(VAL_OBJ_FRAME(val), 4);
391391
}

src/include/sys-value.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ enum {
523523
// Using the mark queue only if we are deep enough
524524
#define QUEUE_CHECK_MARK(s,d) \
525525
if (!IS_MARK_SERIES(s)) {\
526-
if (depth >= 64) Mark_Series(s, d); \
526+
if (depth < 64) Mark_Series(s, d); \
527527
else Queue_Mark_Series(s);\
528528
}
529529

0 commit comments

Comments
 (0)