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

Répondre à