[cmucl-imp] Unboxed float arguments

Helmut Eller heller at common-lisp.net
Sat Jun 23 18:05:27 UTC 2012


* Raymond Toy [2012-06-23 15:30] writes:

> On 6/22/12 12:32 AM, Helmut Eller wrote:
>> The only issue I have with "unboxed" is that the calling convention also
>> supports boxed values, e.g. arrays, for which the type check was already
>> done in the caller.
>
> That's true, but I don't think anyone expects unboxed arrays.  I find
> "typed" confusing because everything has a type.

Well, yes but not everything has a non-trivial static type that doesn't
need to be verified at runtime.

>  Maybe acl's
> immediate-arg is better?  But cmucl already has a concept of immediates,
> so this can be confusing too.

Then I guess "unboxed" is the least confusing.

> So, how do I build your changes?  I assume can just do a normal
> cross-compile using tccxboot.lisp?

Yes, that's the idea.  I use the snapshot from June.  During the build
process you need to answer two questions:

1. for the constant IR1-ATTRIBUTE-TRANSLATIONS choose "Go ahead"
2. for the struct VM-SUPPORT-ROUTINES choose "CLOBBER-IT" 

I also added a file src/tests/unboxed-convention.lisp with some examples
that do work.  Tho, I'm sure that there are cases left that don't work.

Helmut



More information about the cmucl-imp mailing list