--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
--- Begin Message ---
On 20-Dec-06, at 10:10 AM, Michael T. Richter wrote:
Well, I'm almost entirely ignorant of LLVM and of Haskell --
especially the internals of both. That makes me ideally suited for
this project since I'm not aware that it's impossible.
I'm afraid LLVM currently lacks some features that are required for
efficient GHC code generation, specifically:
a) Global Register Variables
b) The ability to put data next to code
c) (maybe, I'm not sure) Tailcalls
ad a)
We need to keep some things in global registers for speed reasons
(depending on the number of available registers); among other things,
the haskell stack pointer and the heap pointer. Using regular global
variables instead would be a lot slower.
ad b)
With (almost) every chunk of code, we want to associate a smal chunk
of data (the "info table") which contains information used by the
garbage collector and other parts of the run time system. We want to
use only one pointer to point to both of those things, and we don't
want to waste time with any additional indirections, so we make the
pointer point between the data chunk and the code chunk.
ad c)
While they are supported in theory, I couldn't get LLVM to generate
any tailcalls. Maybe I've done something wrong, maybe they're not
really implemented yet.
So I guess step one would be to start negotiating about those things
with the LLVM people.
Cheers,
Wolfgang
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
--- End Message ---
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language