summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bytecode.c15
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. */