Subject: bug#79346: igc: PolicyShouldCollectWorld

From: Eli Zaretskii <[email-masked]>
Date: Sun, 31 Aug 2025 11:35:52 +0300

> From: Helmut Eller <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 31 Aug 2025 09:32:24 +0200
> 
> On Sat, Aug 30 2025, Eli Zaretskii wrote:
> 
> >> It seems that availableTime and collectionTime use different units:
> >> availableTime is in clocks while collectionTime is in seconds.
> >> 
> >> So the test availableTime > collectionTime doesn't make much sense.
> >
> > Since I don't see such comparison anywhere in Emacs, I presume you are
> > talking about a bug in MPS?  Or what did I miss?
> 
> Yes, the comparison is in PolicyShouldCollectWorld.  The call chain is
> usually: timer_check_2 -> igc_on_idle -> mps_arena_step -> ArenaStep ->
> PolicyShouldCollectWorld.
> 
> It looks like the bug is in ArenaStep: it should divide the by
> clocks_per_second before calling PolicyShouldCollectWorld.

What does this affect in Emacs?

And is this relevant to using a non-debug build of the library?