[cmucl-imp] Unboxed float arguments
Raymond Toy
toy.raymond at gmail.com
Sat Jun 23 20:41:49 UTC 2012
On 6/23/12 11:05 AM, Helmut Eller wrote:
> * Raymond Toy [2012-06-23 15:30] writes:
>
>> 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"
Yep, I just guessed that those are the answers, so I have recompiled
cmucl with the new feature. We'll have to fix the issue with the
questions if possible.
I also noticed that when compiling the target, I get an error:
; File: /Volumes/share2/src/clnet/cmucl/cmucl/src/compiler/dump.lisp
; In: DEFUN DUMP-CODE-OBJECT
; (DUMP-FOP 'LISP::FOP-TYPED-ENTRY-POINT FILE)
; Error: (during macroexpansion)
;
; Error in function LISP::ASSERT-ERROR:
; Compiler bug: LISP::FOP-TYPED-ENTRY-POINT not a legal fasload operator.
Seems to be harmless, because the result can rebuild cmucl just fine.
But we should fix this too.
>
> 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.
I'll do some more tests with this a bit later. I'd be interested in
some bigger tests with maxima, once I hack f2cl to generate the ftype
declarations for the translated functions. This might tease out a few
corner cases that you missed. And it might give a nice speed up for
those functions. (Although, I think most functions are fairly long, so
boxing and unboxing is probably in the noise, but it might save on some
GC time.)
Ray
More information about the cmucl-imp
mailing list