[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1094: define-inline does not respect inline-limi
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1094: define-inline does not respect inline-limit |
Date: |
Mon, 03 Nov 2014 00:50:00 -0000 |
#1094: define-inline does not respect inline-limit
-------------------------+--------------------------------------------------
Reporter: johnwcowan | Owner: evhan
Type: defect | Status: assigned
Priority: major | Milestone: 4.10.0
Component: compiler | Version: 4.8.x
Resolution: | Keywords:
-------------------------+--------------------------------------------------
Changes (by evhan):
* owner: => evhan
* status: new => assigned
Comment:
The {{{define-inline}}} feature is pretty much totally distinct from
procedure inlining (to which {{{(declare (inline ...))}}} and {{{inline-
limit}}} apply) -- the former is strictly mechanical and takes place
during canonicalization, whereas the latter happens later on when the
optimizer decides whether or not to inline a predefined procedure or not.
Also, {{{inline-limit}}} is a threshold of procedure ''size'', which can't
be easily applied to {{{define-inline}}} forms.
To prevent loops, we could add a depth limit for nested {{{define-
inline}}} expansions. Or, this may just be a documentation bug that we fix
by making clear that {{{define-inline}}} is a naive transformation and if
you're not careful, recursive inlines may loop forever. I'd prefer the
latter.
Thoughts?
--
Ticket URL: <http://bugs.call-cc.org/ticket/1094#comment:2>
CHICKEN Scheme <http://www.call-with-current-continuation.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Chicken-janitors] #1094: define-inline does not respect inline-limit,
Chicken Trac <=