diff options
author | Simon Marlow <simonmar@microsoft.com> | 2007-02-14 12:04:01 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2007-02-14 12:04:01 +0000 |
commit | dcecd7a5170b54d06df3f7eb6e8f38585a283a21 (patch) | |
tree | da59d21f0d8cd2d55dd127aa97926a9158b92fc8 /includes/Storage.h | |
parent | 7b60a2503ddc77a23d7c19c8d3079fb4a997f0ea (diff) | |
download | haskell-dcecd7a5170b54d06df3f7eb6e8f38585a283a21.tar.gz |
fix closure_sizeW_() for AP closures
Since thunks grew an extra padding word in GHC 6.6, closure_sizeW()
has been wrong for AP closures because it assumed compatible layout
between PAPs and APs. One symptom is that the compacting GC would
crash if it encountered an AP. APs conly crop up in GHCi or
when using asynchronous exceptions.
Fixes #1010
Diffstat (limited to 'includes/Storage.h')
-rw-r--r-- | includes/Storage.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/includes/Storage.h b/includes/Storage.h index 12be6d19d0..da24a785ad 100644 --- a/includes/Storage.h +++ b/includes/Storage.h @@ -392,6 +392,7 @@ closure_sizeW_ (StgClosure *p, StgInfoTable *info) case AP_STACK: return ap_stack_sizeW((StgAP_STACK *)p); case AP: + return ap_sizeW((StgAP *)p); case PAP: return pap_sizeW((StgPAP *)p); case IND: |