Hi guys,

I finally took the time to complete the AMD64 ABI support in
LanguageKit and most of the ABI related boxing/unboxing failures in the
Smalltalk test-suite are now fixed. But there is one particularly puzzling
issue with the NSRect test: 
From stepi-ing through the test and comparing it with what clang
generates for equivalent function calls (which is a bit of an
hit-an-miss thing due to sparse debug info), we seem to correctly
classify the NSRect structure and expect it on the stack when returning
from -rectValue, but when passing it back to +valueWithRect: we are 16
bytes off. That means that we're placing the origin where the size
belongs and some other part of the stack in the origin part of the
NSRect. NSSize or NSPoint are not affected by this because they are
small enough to be passed in registers with the AMD64 ABI (at least LK
gets that part right!).
I'm a bit at a loss as to what might be causing this and would
appreciate any pointers.

Cheers,

Niels

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to