From fdd676331592b45b5657b301b84aaf6d92e72be3 Mon Sep 17 00:00:00 2001 From: sewardj <unknown> Date: Tue, 25 Jan 2000 16:59:30 +0000 Subject: [PATCH] [project @ 2000-01-25 16:59:30 by sewardj] wibble --- ghc/compiler/nativeGen/NOTES | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/ghc/compiler/nativeGen/NOTES b/ghc/compiler/nativeGen/NOTES index f19375b15394..83330ecf2449 100644 --- a/ghc/compiler/nativeGen/NOTES +++ b/ghc/compiler/nativeGen/NOTES @@ -4,16 +4,10 @@ Known bugs in nativeGen, 000124 (JRS) All these bugs are for x86; I don't know about sparc/alpha. --- argument marshalling for ccall is fundamentally flawed, since - it moves the C stack pointer %esp as it pushes each argument. - Alas, the register allocator spills relative to %esp and - assumes that it doesn't move. Result: if the marshalling code - for a ccall involves any spills, the resulting code will - probably be wrong. - - The Right Way to fix this is to copy stuff onto the stack - without moving %esp, then adjust it immediately prior to the - call insn and un-adjust it immediately following it. +-- absC -> stix translation for GET_TAG and in fact anything + to do with the packed-halfword layout info itbl field is + pretty dubious. I think I have it fixed for big and little + endian 32-bit, but it won't work at all on a 64 bit platform. -- nofib/spectral/cvh_unboxing exposes some kind of spilling bug (I think), since there are many references to registers %M229 -- GitLab