summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-02-14 12:04:01 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-02-14 12:04:01 +0000
commitdcecd7a5170b54d06df3f7eb6e8f38585a283a21 (patch)
treeda59d21f0d8cd2d55dd127aa97926a9158b92fc8
parent7b60a2503ddc77a23d7c19c8d3079fb4a997f0ea (diff)
downloadhaskell-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
-rw-r--r--includes/Storage.h1
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: