[Vm-dev] arm64 struct passing orientation

ken.dickey at whidbey.com ken.dickey at whidbey.com
Fri Jan 25 00:36:52 UTC 2019


OK.  I could use some help here.

I think I see what is going on with failing unit test
FFIPluginTests>>testPoint4

I am not sure yet how to deal with it.

Looking at the code in gdb, ffiTestStructBig() expects the 4 int values
of pt1 in regiters x0,x1 and pt2 in x2,x3 and result p3 returned as
x0,x1.

The call, however, seems to be putting a pointer to an allocated pt3 in
x0, pt1 values in x1,x2 and pt2 values in x3,x4.

So I am looking at ThreadedARM64FFIPlugin>>ffiCallOutTo:SpecOnSTack:in:
and ffiReturnStruct:ofType:in: but have not yet worked through the logic
of the niggly bits.

So I be deep into the steenking pile, mon!

Any insights thrown over the wall would be appreciated.

Thanks much,
-KenD
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190124/340e93b3/attachment.html>


More information about the Vm-dev mailing list