diff options
author | Michael D. Adams <t-madams@microsoft.com> | 2007-07-02 08:42:21 +0000 |
---|---|---|
committer | Michael D. Adams <t-madams@microsoft.com> | 2007-07-02 08:42:21 +0000 |
commit | a2d5d3c9677a740ace920a976d03dfbd82f7697b (patch) | |
tree | 577508b8b12a0ee43c48a19ec54e1b1ee28de166 /compiler/codeGen | |
parent | 603bf8c5496b9ac71552e7097eb88ad97db15e70 (diff) | |
download | haskell-a2d5d3c9677a740ace920a976d03dfbd82f7697b.tar.gz |
Multiple improvements to CPS algorithm.
These include:
- Stack size detection now includes function arguments.
- Stack size detection now avoids stack checks just because of
the GC block.
- A CmmCall followed by a CmmBranch will no longer generate an extra
continuation consisting just of the brach.
- Multiple CmmCall/CmmBranch pairs that all go to the same place
will try to use the same continuation. If they can't (because
the return value signature is different), adaptor block are built.
- Function entry statements are now in a separate block.
(Fixed bug with branches to the entry block having unintended effects.)
- Other changes that I can't recall right now.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/ClosureInfo.lhs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs index db4636866d..d0d2ed98b2 100644 --- a/compiler/codeGen/ClosureInfo.lhs +++ b/compiler/codeGen/ClosureInfo.lhs @@ -124,6 +124,7 @@ data ClosureInfo data C_SRT = NoC_SRT | C_SRT !CLabel !WordOff !StgHalfWord {-bitmap or escape-} + deriving (Eq) needsSRT :: C_SRT -> Bool needsSRT NoC_SRT = False |