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

Re: flonum consing

Miles Bader <miles@cogsci.edinburgh.ac.uk> writes:
> So to avoid float (and other immediate) consing on function args/return vals,
> couldn't you have the compiler automatically produce two entry points for
> functions, one for general lisp vals, and one that expected float args in
> certain regs, and returned float results in certain other regs?  [You could
> also have flag somewhere instead of multiple entry points]

Theoretically, yes.  But there are a huge number of potential
problems that you have to deal with at runtime.  You could probably
work out a system that would work, but the complexity (and hence, the
probability for bugs) would be astronomical.  And besides, would
probably could get pretty close to the same performance with a
generational GC (which we are working on).

-William Lott
CMU Common Lisp Group