* 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