Hi everyone, Truls reports that NSRanges are now being correctly boxed on Linux. My ABI-conformance code is very simple and won't support some of the weird and wonderful ABIs out there (for example, HP-UX has different conventions for complex numbers and structures that are equivalent to them), and might not work for some large structure types. It should, however, now work for the NS* structs on most common platforms.
Whether a structure is returned on the stack or in registers is defined by some numbers in ABI.h. I'm not sure what these should be for x86-64 (although the good news is that, unlike x86-32, everyone uses the same calling conventions there). I think this is the last major issue I wanted to fix before 1.0. Non- local returns now work for the static compiler, but not for the JIT. I am not sure if this is my bug which is only appearing in the JIT, or an LLVM bug, but I'm happy to leave fixing it for 2.0 (non-local returns are usually bad programming style anyway). Please can everyone test this before I move it into stable. David P.S. In tangentially related news, the paper about the Étoilé runtime was just published: http://www.jot.fm/issues/issue_2009_01/article4/ Thanks to everyone who helped with that, _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
