chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] [PATCH] #1648 + unrolling


From: felix . winkelmann
Subject: [Chicken-hackers] [PATCH] #1648 + unrolling
Date: Thu, 26 Sep 2019 11:17:52 +0200

Hi!

Attached is a revert of the recently reverted patch for folding some
inline-expressions which caused #1648 and another patch
addressing the OOM error when compiling uri-generic.

The problem is that the optimizer does not catch runaway inlining
of recursive procedures, somehow this case never came up,
since other optimizations prevented this situation previously
(contraction, direct-lambda optimization, loop-detection,
inline-limit, etc.). The change is to keep a list of inlinee/inline-target
pairs and only allow a fixed number of inline attempts for the
same pair, effectively providing an "unroll-limit" for self-recursive
inlined calls. Note that this is different from the usual loop case,
which is handled differently. I've added "unroll-limit" compiler
options and declarations, for consistency.


felix

Attachment: 0001-Revert-Revert-half-of-Add-some-optimizer-simplificat.patch
Description: Text document

Attachment: 0001-Catch-runaway-inlining.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]