[Vm-dev] [ANN] FFI for ARM
djm1329 at san.rr.com
Tue Apr 29 20:50:47 UTC 2014
I’ve published an alpha version of an FFI for the ARM architecture. It is in the class ThreadedARMFFIPlugin in the VMMaker.oscog package on source.squeak.org. The generated sources are also available at http://squeakvm.org/svn/squeak/branches/Cog/src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
It passes all existing FFI tests and all tests I used for development. I plan to commit my development tests to the FFI-Tests package within the next few days. These extra tests are important because existing tests don’t exercise some of the trickier cases choosing between registers and stack when marshaling function parameters.
So far, the ARM FFI has only been tested with the Cog/Stack VM on a Raspberry Pi. I plan to also test it on the BeagleBone Black which has a slightly different ARM chip.
The overwhelming majority of the credit for this must go to Eliot Miranda because his FFI design works so well, and because he helped me immensely along the way. And many thanks to Tim Rowledge for showing me how to build a Cog/Stack VM on the RPi and answering numerous other questions. Any bugs in the ARM version of the FFI are my responsibility.
More information about the Vm-dev