From 52e5423bf2ef656eed27f5d38449b1bda82edfbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Thu, 4 Jun 2015 17:58:02 +0200 Subject: [PATCH] count_memory: Return early when visiting strings and lookahead >= 0. Similar fix to the one for the case where lookahead < 0, but not as general. --- src/gc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 9638e878dc..e3d0a973ec 100644 --- a/src/gc.c +++ b/src/gc.c @@ -4988,7 +4988,7 @@ static int mc_cycle_depth_from_obj (struct object *o) static void pass_lookahead_visit_ref (void *thing, int ref_type, visit_thing_fn *visit_fn, void *extra) { - struct mc_marker *ref_to = find_mc_marker (thing); + struct mc_marker *ref_to; int ref_from_flags, ref_to_flags, old_la_count, ref_to_la_count; int ref_added = 0, check_new_candidate = 0, la_count_handled = 0; @@ -5001,10 +5001,14 @@ static void pass_lookahead_visit_ref (void *thing, int ref_type, if (mc_block_strings > 0 && visit_fn == (visit_thing_fn *) &visit_string) { +#ifdef MEMORY_COUNT_DEBUG + ref_to = find_mc_marker (thing); +#endif MC_DEBUG_MSG (ref_to, "ignored string"); return; } + ref_to = find_mc_marker (thing); ref_from_flags = mc_ref_from->flags; /* Create mc_marker if necessary. */ -- GitLab