[Ecls-list] Type propagation

Alexander Gavrilov angavrilov at gmail.com
Wed Aug 11 15:29:50 UTC 2010


On Sun, Jul 18, 2010 at 11:54 PM, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
> On Sun, Jul 18, 2010 at 7:38 PM, Alexander Gavrilov <angavrilov at gmail.com>
>> Also, is it at all possible to support using constants of
>> these new types in compiled code without adding a readable
>> representation?
>
> You may want to have a look at cmpct.lsp The goal would be to add a case for
> SSE types and translate the SSE atomic constant into a call to
> LOAD-TIME-VALUE.

Hi, I've finally got around to this, and after some investigation
implemented it using the static constant facility in cmpwt.lsp
instead:

http://github.com/angavrilov/ecl-sse/commit/cb0efd01987c4dead7a94f8dc23ef8ee26353e9c

However, I see that this facility is completely disabled on MSVC. Do
you remember what the actual problems with it were, and is it perhaps
possible to disable only specific types that are broken instead of
everything?

Also, is it documented somewhere what aligment guarantees does Boehm
GC provide? It would be very good if the 32-byte objects of the
sse_pack type could be guaranteed to be 16-byte aligned (actually, the
current code might crash if that is not true). Using static constants
here has a nice property that the C compiler automatically ensures
proper alignment.

Alexander




More information about the ecl-devel mailing list