From 2ede341d59b4ab259caf808dfa65c0ac380ba347 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 8 Mar 2022 10:57:52 +0200 Subject: Improve performance of update during match for multiple targets --- libbuild2/adhoc-rule-buildscript.cxx | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'libbuild2/adhoc-rule-buildscript.cxx') diff --git a/libbuild2/adhoc-rule-buildscript.cxx b/libbuild2/adhoc-rule-buildscript.cxx index fa60556..25ef1b7 100644 --- a/libbuild2/adhoc-rule-buildscript.cxx +++ b/libbuild2/adhoc-rule-buildscript.cxx @@ -456,17 +456,13 @@ namespace build2 // If we have any update during match prerequisites, now is the time to // update them. // - // Note also that we ignore the result and whether it renders us out of - // date, leaving it to the common execute logic in perform_update_*(). + // Note that we ignore the result and whether it renders us out of date, + // leaving it to the common execute logic in perform_update_*(). + // + // Note also that update_during_match() spoils prerequisite_target::data. // if (a == perform_update_id) - { - for (const prerequisite_target& pt: pts) - { - if ((pt.include & 2) != 0) - update_during_match (trace, a, *pt.target); - } - } + update_during_match (trace, a, pts, 2 /* mask */); // See if this is not update or not on a file-based target. // -- cgit v1.1