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
signature.asc
Description: Digital signature
_______________________________________________ Etoile-dev mailing list Etoile-dev@gna.org https://mail.gna.org/listinfo/etoile-dev