summaryrefslogtreecommitdiff
path: root/compiler/codeGen/CgInfoTbls.hs
Commit message (Collapse)AuthorAgeFilesLines
...
* add the constructor name field to the info table for RTS constructorsSimon Marlow2007-04-271-1/+1
|
* Make constructor names in info tables position independentwolfgang.thaller@gmx.net2007-03-081-1/+2
| | | | | | | | | | Info tables, like everything else in the text section, MUST NOT contain pointers. A pointer is, by definition, position dependent and is therefore fundamentally incompatible with generating position independent code. Therefore, we have to store an offset from the info label to the string instead of the pointer, just as we already did for other things referred to by the info table (SRTs, large bitmaps, etc.)
* Remove vectored returns.Simon Marlow2007-02-281-135/+18
| | | | | We recently discovered that they aren't a win any more, and just cost code size.
* Constructor names in info tablesbjpop@csse.unimelb.edu.au2007-02-201-6/+15
| | | | | | | This patch adds data constructor names into their info tables. This is useful in the ghci debugger. It replaces the old scheme which was based on tracking data con names in the linker.
* Semi-tagging optimisationSimon Marlow2007-01-221-1/+1
| | | | | | In the generated code for case-of-variable, test the tag of the scrutinee closure and only enter if it is unevaluated. Also turn *off* vectored returns.
* Semi-tagging optimisationSimon Marlow2007-01-221-1/+1
| | | | | | In the generated code for case-of-variable, test the tag of the scrutinee closure and only enter if it is unevaluated. Also turn *off* vectored returns.
* Rejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changesSimon Marlow2006-10-171-6/+7
| | | | | | | | A GHC binary can generally build either registerised or unregisterised code, unless it is unregisterised only. The previous changes broke this, but I think I've now restored it.
* Partially fix GHCi when unregisterisedIan Lynagh2006-10-121-1/+1
| | | | | | | | We were constructing info tables designed for TABLES_NEXT_TO_CODE, but were building without TABLES_NEXT_TO_CODE. This patch also fixes a bug when we are unregisterised on amd64 and have code with an address above 2^32.
* Module header tidyup, phase 1Simon Marlow2006-10-111-33/+18
| | | | | | | | | | | | This patch is a start on removing import lists and generally tidying up the top of each module. In addition to removing import lists: - Change DATA.IOREF -> Data.IORef etc. - Change List -> Data.List etc. - Remove $Id$ - Update copyrights - Re-order imports to put non-GHC imports last - Remove some unused and duplicate imports
* x86-64: fix a problem exposed by negative offsets in vector tablesSimon Marlow2006-06-291-1/+8
| | | | | | | | | | | static relative offsets (eg .long l1-l2) are restricted to 32 bits on x86-64 due to lack of support in the linker. The codegen, NCG and runtime work around this, using 32-bit offsets instead of 64. However, we were missing a workaround for vector tables, and it happened to work by accident because the offsets were always positive and resolved by the assembler. The bug was exposed by using the NCG to compile the RTS, where the offsets became negative, again by accident.
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+591
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.