[Openmcl-devel] how does one cause stack-allocation for floats?
Gary King
gwking at metabang.com
Fri Mar 31 20:23:24 PST 2006
I'm probably missing something entirely (I'm tired, it's late, and,
frankly, this stuff often leaves me a bit confused...) but how dos
Randall Beer's FPC code fit into this discussion?
thanks
On Mar 29, 2006, at 9:57 AM, Toomas Altosaar wrote:
> Hi Gary,
>
> I've been listening in on the OpenMCL list and thought I'd put in
> my 2 cents.
>
> At 05:25 -0700 29.03.2006, openmcl-devel-request at clozure.com wrote:
>> would a smarter compiler - which was planning on keeping the
>> result of
>> that addition in an FP register - have any idea of why it's being
>> told
>> to put things in memory and take them back out (when, after all, that
>> largely defeats the purpose of any analysis it has done) ?
>
> But until that day dawns we won't run into this problem.
>
> If such a smart compiler were to exist today I'd _gladly_ go through
> my code and simplify things, removing lots of LAP and stack allocated
> float code.
>
> Side note:
> Great to hear that in your new 64 bit Lisp single precision floats
> will be immediate objects. Too bad double precision is still consing.
> What about a "slightly damaged" double float format, to the same tune
> as MCL's non-consing short floats from 10+ years ago? So that the tag
> plus most of what makes a double float could fit into 64 bits (BTW:
> how big is a tag in the x86 64 bit version?)
>
>> Perhaps more significantly, should users be encouraged to think of
>> floats as being mutable objects and of exercising control over their
>> allocation ? I think that there are lots of aesthetic reasons for
>> saying "no", and the fact that this doesn't have much to do with
>> really good code generation is a strong practical reason for doing
>> so as well.
>
> Having to allocate stuff temporarily on the stack does not lead to
> "good" code.
>
> However, when faced with no other practical solution, then "good"
> must "yield" to practical. I can think of many cases where things
> would have had to be implemented in some other programming
> environment were it not for the availability of LAP and single (and
> double) float allocations on the stack.
>
> What about giving users the:
>
> WITH-STACK-DOUBLE-FLOATS
> WITH-PPC-STACK-SHORT-FLOATS
>
> macros and just say that they may disappear and not be supported in
> some future release? The liability would lie with the users and not
> with the Lisp implementation.
>
> Thanks,
>
> Toomas
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
--
Gary Warren King
metabang.com
http://www.metabang.com/
More information about the Openmcl-devel
mailing list