summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmStackLayout.hs
Commit message (Collapse)AuthorAgeFilesLines
* Delete some unused codeSimon Marlow2012-07-051-590/+0
|
* Remove "fuel", adapt to Hoopl changes, fix warningsSimon Marlow2012-07-051-1/+0
|
* Change -X flags into LANGUAGE pragmasIan Lynagh2012-02-261-3/+3
|
* Clarify some commentsIan Lynagh2011-11-051-2/+3
|
* Use -fwarn-tabs when validatingIan Lynagh2011-11-041-0/+7
| | | | | We only use it for "compiler" sources, i.e. not for libraries. Many modules have a -fno-warn-tabs kludge for now.
* Snapshot of codegen refactoring to share with simonpjSimon Marlow2011-08-251-1/+1
|
* 'Fix' a validation problem when bootstrap is 7.2.1David Terei2011-08-191-1/+1
| | | | | | Problem is with GADTs in new code gen and incomplete pattern warnings. Just disabled the warning really and created #5424 to track an actual fix.
* Eliminate GC check when no extra stack is used.Edward Z. Yang2011-04-271-4/+13
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Give manifestSP better information about the actual SP location.Edward Z. Yang2011-04-271-29/+116
| | | | | | | This patch fixes silliness where the SP pointer is continually bumped up and down. Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Fix warningsSimon Marlow2011-01-281-0/+7
|
* Merge in new code generator branch.Simon Marlow2011-01-241-160/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | This changes the new code generator to make use of the Hoopl package for dataflow analysis. Hoopl is a new boot package, and is maintained in a separate upstream git repository (as usual, GHC has its own lagging darcs mirror in http://darcs.haskell.org/packages/hoopl). During this merge I squashed recent history into one patch. I tried to rebase, but the history had some internal conflicts of its own which made rebase extremely confusing, so I gave up. The history I squashed was: - Update new codegen to work with latest Hoopl - Add some notes on new code gen to cmm-notes - Enable Hoopl lag package. - Add SPJ note to cmm-notes - Improve GC calls on new code generator. Work in this branch was done by: - Milan Straka <fox@ucw.cz> - John Dias <dias@cs.tufts.edu> - David Terei <davidterei@gmail.com> Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD and fixed a few bugs.
* Remove code that is dead now that we need >= 6.12 to buildIan Lynagh2010-12-151-2/+0
|
* Interruptible FFI calls with pthread_kill and CancelSynchronousIO. v4Edward Z. Yang2010-09-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | This is patch that adds support for interruptible FFI calls in the form of a new foreign import keyword 'interruptible', which can be used instead of 'safe' or 'unsafe'. Interruptible FFI calls act like safe FFI calls, except that the worker thread they run on may be interrupted. Internally, it replaces BlockedOnCCall_NoUnblockEx with BlockedOnCCall_Interruptible, and changes the behavior of the RTS to not modify the TSO_ flags on the event of an FFI call from a thread that was interruptible. It also modifies the bytecode format for foreign call, adding an extra Word16 to indicate interruptibility. The semantics of interruption vary from platform to platform, but the intent is that any blocking system calls are aborted with an error code. This is most useful for making function calls to system library functions that support interrupting. There is no support for pre-Vista Windows. There is a partner testsuite patch which adds several tests for this functionality.
* Remove (most of) the FiniteMap wrapperIan Lynagh2010-09-141-38/+41
| | | | | | | | We still have insertList, insertListWith, deleteList which aren't in Data.Map, and foldRightWithKey which works around the fold(r)WithKey addition and deprecation.
* Fix build with 6.10Ian Lynagh2010-09-131-0/+2
|
* Super-monster patch implementing the new typechecker -- at lastsimonpj@microsoft.com2010-09-131-0/+4
| | | | | | | | | This major patch implements the new OutsideIn constraint solving algorithm in the typecheker, following our JFP paper "Modular type inference with local assumptions". Done with major help from Dimitrios Vytiniotis and Brent Yorgey.
* Comments in Cmmsimonpj@microsoft.com2009-09-101-6/+35
|
* Remove GHC's haskell98 dependencyIan Lynagh2009-07-241-1/+1
|
* Remove unused importsIan Lynagh2009-07-071-1/+0
|
* Trim unused imports detected by new unused-import codesimonpj@microsoft.com2009-07-061-1/+0
|
* A few bug fixes; some improvements spurred by paper writingdias@eecs.harvard.edu2009-03-031-69/+78
| | | | | | | | | | | | Among others: - Fixed Stg->C-- translation of let-no-escapes -- it's important to use the right continuation... - Fixed infinite recursion in X86 backend (shortcutJump mishandled infinite loops) - Fixed yet another wrong calling convention -- primops take args only in vanilla regs, but they may return results on the stack! - Removed StackInfo from LGraph and Block -- now in LastCall and CmmZ - Updated avail-variable and liveness code
* Removed warnings, made Haddock happy, added examples in documentationdias@eecs.harvard.edu2008-10-171-4/+4
| | | | | The interesting examples talk about our story with heap checks in case alternatives and our story with the case scrutinee as a Boolean.
* Fixed linear regalloc bug, dropped some tracing codedias@eecs.harvard.edu2008-10-161-11/+14
| | | | | | | | | o The linear-scan register allocator sometimes allocated a block before allocating one of its predecessors, which could lead to inconsistent allocations. Now, we allocate a block only if a predecessor has set the "incoming" assignments for the block (or if it's the procedure's entry block). o Also commented out some tracing code on the new codegen path.
* Keep update frames live even in functions that never returndias@eecs.harvard.edu2008-10-141-2/+10
| | | | | | | | | An unusual case, but without it: (a) we had an assertion failure (b) we can overwrite the caller's infotable, which might cause the garbage collector to collect live data. Better to keep the update frame live at all call sites, not just at returns.
* forgot a few filesdias@eecs.harvard.edu2008-10-131-0/+434