(fix commit
3f06655)
* typd_mlc.c [PARALLEL_MARK] (GC_array_mark_proc): Set
GC_mark_stack_too_small to true if GC_push_complex_descriptor()
returned null and mark_stack_limit belongs to the global mark stack
(even if GC_parallel is true).
/* This cannot cause a mark stack overflow, since it replaces */
/* the original array entry. */
# ifdef PARALLEL_MARK
- /* We are using a local_mark_stack in parallel mode. */
- if (!GC_parallel)
+ /* We might be using a local_mark_stack in parallel mode. */
+ if (GC_mark_stack + GC_mark_stack_size == mark_stack_limit)
# endif
{
GC_mark_stack_too_small = TRUE;