Re: compiling 4.1 ?
- Posted by mattlewis (admin) Apr 23, 2014
- 1871 views
Ouch. Ok, that makes sense. The goal of the C-only callc interface was to provide a single implementation that would have been portable across multiple platforms and architectures, in order to reduce the burden of porting Euphoria's runtime to a new platform/arch. That goal is still met, but I guess it was too much to hope that it'd work with zero changes to a new platform. Oh well.
The real problems, IIRC, come from dealing with passing floating point arguments. When everything goes on the stack (e.g., x86) it's easy. But all of our new platforms (x86-64, ARM) use registers in various ways, and 64-bit Windows does things differently that 64-bit non-Windows (or course). Writing all this in C is a lot easier (IMHO) than writing it in platform specific ASM, but it's still tricky to get it all correct.
Matt