>>>>> "Jonathan" == Jonathan J Simpson <[EMAIL PROTECTED]> writes:

    Jonathan> (declaim (optimize (speed 3) (safety 0)))
    Jonathan> (defstruct vec4
    Jonathan>   (x 0d0 :type double-float)
    Jonathan>   (y 0d0 :type double-float)
    Jonathan>   (z 0d0 :type double-float)
    Jonathan>   (w 0d0 :type double-float))

    Jonathan> Produces four compiler notes:

    Jonathan>  In: DEFSTRUCT VEC4

    Jonathan> ;   (DEFSTRUCT VEC4
    Jonathan> ;     (X 0.0d0 :TYPE DOUBLE-FLOAT)
    Jonathan> ;     (Y 0.0d0 :TYPE DOUBLE-FLOAT)
    Jonathan> ;     (Z 0.0d0 :TYPE DOUBLE-FLOAT)
    Jonathan> ;     ...)
    Jonathan> ; Note: Doing float to pointer coercion (cost 13) to "<return value>".


    Jonathan> I thought that in cmucl, structs could have unboxed
    Jonathan> slots.  I'm using cmucl 18e.  Is it supposed to be doing
    Jonathan> this.  I've noticed other people do this in their code

I believe these notes are coming from the accessors for the slots.
The accessors need to box up the floats so they can be returned.  The
structure slots themselves ought to be unboxed.

Ray

-- 
Ericsson may automatically add a disclaimer.  Sorry, it's beyond my
control.


 

This communication is confidential and intended solely for the addressee(s). Any 
unauthorized review, use, disclosure or distribution is prohibited. If you believe 
this message has been sent to you in error, please notify the sender by replying to 
this transmission and delete the message without disclosing it. Thank you.

E-mail including attachments is susceptible to data corruption, interruption, 
unauthorized amendment, tampering and viruses, and we only send and receive e-mails on 
the basis that we are not liable for any such corruption, interception, amendment, 
tampering or viruses or any consequences thereof.

Reply via email to