diff options
-rw-r--r-- | src/bytecode.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index ee89e9e8d7b..3069e0a6ac3 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -355,13 +355,14 @@ unmark_byte_stack () /* Garbage collect if we have consed enough since the last time. We do this at every branch, to avoid loops that never GC. */ -#define MAYBE_GC() \ - if (consing_since_gc > gc_cons_combined_threshold) \ - { \ - BEFORE_POTENTIAL_GC (); \ - Fgarbage_collect (); \ - AFTER_POTENTIAL_GC (); \ - } \ +#define MAYBE_GC() \ + if (consing_since_gc > gc_cons_threshold \ + && consing_since_gc > gc_relative_threshold) \ + { \ + BEFORE_POTENTIAL_GC (); \ + Fgarbage_collect (); \ + AFTER_POTENTIAL_GC (); \ + } \ else /* Check for jumping out of range. */ |