Re: [Sbcl-commits] master: x86-64, struct-by-value: correctly pass small structs on the stack
Stas Boukarev <[email protected]> Sun, 26 Apr 2026 19:18:25 +0300
| Newsgroups | gmane.lisp.steel-bank.devel |
|---|---|
| Message-ID | <CAF63=13Ti4rECUkN9oU6GTB4tYthBc2V+7ODcc9t_=hfY5h5kQ@mail.gmail.com> |
TW9yZToKKGRlZmluZS1hbGllbi1yb3V0aW5lIHRlc3QtbGFyZ2UgKHN0cnVjdCBuaWwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYSAodW5zaWduZWQg NjQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi ICh1bnNpZ25lZCA2NCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGMgKHVuc2lnbmVkIDY0KSkpCiAgICAgICAgICAgKHggKHVuc2lnbmVkIDEyOCkp KQo7IGluOiBERUZJTkUtQUxJRU4tUk9VVElORSBURVNULUxBUkdFCjsgICAgIChBTElFTi1GVU5D QUxMICM6VEVTVC1MQVJHRSBYKQo7CjsgY2F1Z2h0IFdBUk5JTkc6CjsgICBmdW5jdGlvbiBjYWxs ZWQgd2l0aCBmb3VyIGFyZ3VtZW50cywgYnV0IHdhbnRzIGV4YWN0bHkgdGhyZWUKOyAgIFNlZSBh bHNvOgo7ICAgICBUaGUgQU5TSSBTdGFuZGFyZCwgU2VjdGlvbiAzLjIuMi4zCgoKT24gU2F0LCBB cHIgMjUsIDIwMjYgYXQgOTozMuKAr1BNIEplc3NlIEJvdXdtYW4KPGplc3NlLmJvdXdtYW5AcHJv dG9ubWFpbC5jb20+IHdyb3RlOgo+Cj4gSSBoYXZlIGZhaWxpbmcgdGVzdCBjYXNlcyBmb3IgYm90 aCBvZiB0aG9zZS4gSSdtIHdvcmtpbmcgb24gdGhlIGNhbGxiYWNrIG92ZXJ3cml0ZXMgcmlnaHQg bm93Lgo+Cj4gPiBPbiBBcHIgMjUsIDIwMjYsIGF0IDExOjE04oCvQU0sIFN0YXMgQm91a2FyZXYg PHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gQW5vdGhlciBpc3N1ZSwgbmVzdGVk IHN0cnV0cyBhcmUgbm90IGZsYXR0ZW5lZCBjb3JyZWN0bHk6Cj4gPiBTQi1WTT4gKGNsYXNzaWZ5 LXN0cnVjdCAocGFyc2UtYWxpZW4tdHlwZSAnKHN0cnVjdCBuaWwgKGlubmVyIChzdHJ1Y3QKPiA+ IG5pbCAoZCBkb3VibGUpIChpIGludCkpKSkgbmlsKSkKPiA+ICNTKFNCLUFMSUVOOjpTVFJVQ1Qt Q0xBU1NJRklDQVRJT04gOlJFR0lTVEVSLVNMT1RTICg6SU5URUdFUiA6SU5URUdFUikKPiA+IDpT SVpFIDE2IDpBTElHTk1FTlQgNjQgOk1FTU9SWS1QIE5JTCkKPiA+IFNCLVZNPiAoY2xhc3NpZnkt c3RydWN0IChwYXJzZS1hbGllbi10eXBlICcoc3RydWN0IG5pbCAoZCBkb3VibGUpIChpIGludCkp IG5pbCkpCj4gPiAjUyhTQi1BTElFTjo6U1RSVUNULUNMQVNTSUZJQ0FUSU9OIDpSRUdJU1RFUi1T TE9UUyAoOkRPVUJMRSA6SU5URUdFUikKPiA+IDpTSVpFIDE2IDpBTElHTk1FTlQgNjQgOk1FTU9S WS1QIE5JTCkKPiA+Cj4gPiBBbmQgY2FsbGJhY2tzIHNlZW0gdG8gc3VmZmVyIGZyb20gb3Zlci1y ZWFkcy93cml0ZXMuCj4gPgo+ID4gT24gRnJpLCBBcHIgMjQsIDIwMjYgYXQgMTI6NDDigK9BTSBK ZXNzZSBCb3V3bWFuCj4gPiA8amVzc2UuYm91d21hbkBwcm90b25tYWlsLmNvbT4gd3JvdGU6Cj4g Pj4KPiA+PiBTdGFzLCBpZiB5b3Ugd2FudCB0byBzZW5kIG1lIGEgbGlzdCBvZiBmaW5kaW5ncyBh bmQgdGVzdCBnYXBzLCBJIHdpbGwgcHV0IHRpbWUgaW50byBjbG9zaW5nIHRoZW0gb3V0IC0tIGp1 c3QgcmF3IG5vdGVzIG9yIExMTSBmaW5kaW5ncyBhcmUgZW5vdWdoLgo+ID4+Cj4gPj4gSmVzc2UK PiA+Pgo+ID4+PiBPbiBBcHIgMjMsIDIwMjYsIGF0IDI6MjXigK9QTSwgU3RhcyBCb3VrYXJldiA8 c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToKPiA+Pj4KPiA+Pj4gVGhlIHN0cnVjdC1ieS12YWx1 ZSBpc3N1ZXMga2VlcCBjb21pbmcgYW5kIGNvbWluZywgSSdtIGFscmVhZHkgdGlyZWQKPiA+Pj4g b2YgZml4aW5nIHRoZW0sIGhhdmUgbm8gc3RyZW5ndGggdG8gYWRkIHByb3BlciB0ZXN0cy4KPiA+ Pj4gQW5kIGl0IGFsc28gbmVlZHMgdG8gdGVzdCBmb3Igb3Zlci1yZWFkaW5nIGlucHV0IHN0cnVj dHVyZXMsIEkgaGF2ZQo+ID4+PiBzb21lIHNjYWZmb2xkaW5nIGZyb20gdGhlIHRpbWUgb2Ygd3Jp dGluZyBzaW1kIHJvdXRpbmVzIHdoaWNoIG1tYXBzCj4gPj4+IGRhdGEgYXQgdGhlIGVkZ2VzIG9m IGEgcHJvdGVjdGVkIHJlZ2lvbi4KPiA+Pj4KPiA+Pj4gT24gVGh1LCBBcHIgMjMsIDIwMjYgYXQg MTE6MTfigK9QTSBDaHJpc3RvcGhlIFJob2RlcyA8Y3NyMjFAY2FudGFiLm5ldD4gd3JvdGU6Cj4g Pj4+Pgo+ID4+Pj4gU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cml0ZXM6Cj4g Pj4+Pgo+ID4+Pj4+IEkganVzdCBzZW5kIGMtY2FsbC5saXNwIHRvIHZhcmlvdXMgZnJlZSBMTE1z IGFuZCBzYXkgImZpbmQgYnVncyBoZXJlIi4KPiA+Pj4+PiBBbmQgYWxzbyBtYWtlIHRoZW0gZ2Vu ZXJhdGUgdGVzdCBjYXNlcy4KPiA+Pj4+PiBJIGRpZG4ndCBpbmNsdWRlIGFueSBzcGVjaWZpYyB0 ZXN0IGJlY2F1c2UgdGhleSB3b24ndCBmaW5kIG5ldwo+ID4+Pj4+IHByb2JsZW1zLgo+ID4+Pj4K PiA+Pj4+IFN1cmUsIGJ1dCB0aGV5J2xsIGhlbHAgdGhlIGRheSBzb21lb25lIHdhbnRzIHRvIG1h a2Ugc3RydWN0LWJ5LXZhbHVlCj4gPj4+PiB3b3JrIG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1 cHBvcnQgaXQgeWV0LiAgKE1heWJlIGluIHRoaXMgZ3JhbmQKPiA+Pj4+IGZ1dHVyZSB0aGF0J3Mg bGVzcyBuZWNlc3NhcnkgYmVjYXVzZSB3ZSdsbCBqdXN0IHNlbmQgcmlzY3YncyBjLWNhbGwgdG8K PiA+Pj4+IHNvbWUgTExNIGFuZCBzYXkgIm5vdyBpbXBsZW1lbnQgdGhlIHN0cnVjdC1ieS12YWx1 ZSBBQkkgcGxlYXNlIi4pCj4gPj4+Pgo+ID4+Pj4+IEEgdGVzdCB0aGF0IHBlcmZvcm1zIGFuIGV4 aGF1c3RpdmUgY29tYmluYXRpb24gb2YgZGlmZmVyZW50IGZvcmVpZ24KPiA+Pj4+PiB0eXBlcyBp cyBuZWVkZWQuCj4gPj4+Pj4gQnV0IEknbSBub3QgZWFnZXIgdG8gbWFrZSB0aGF0IHlldC4KPiA+ Pj4+Cj4gPj4+PiAuLi4gdGhhdCB3b3VsZCB3b3JrIHRvbywgc3VyZS4gIEkgY2FuIGJlIHBhdGll bnQuCj4gPj4+Pgo+ID4+Pj4gVGhhbmtzLAo+ID4+Pj4KPiA+Pj4+IENocmlzdG9waGUKPiA+Pj4K PiA+Pj4KPiA+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiA+Pj4gU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+Pj4gU2JjbC1kZXZlbEBsaXN0cy5z b3VyY2Vmb3JnZS5uZXQKPiA+Pj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMv bGlzdGluZm8vc2JjbC1kZXZlbAo+ID4+Cj4gPj4KPgo+CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KU2JjbC1kZXZlbCBtYWlsaW5nIGxpc3QKU2JjbC1k ZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv bGlzdHMvbGlzdGluZm8vc2JjbC1kZXZlbAo=