summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc/includes/StgMiscClosures.h1
-rw-r--r--ghc/rts/Apply.cmm3
-rw-r--r--ghc/utils/genapply/GenApply.hs2
3 files changed, 5 insertions, 1 deletions
diff --git a/ghc/includes/StgMiscClosures.h b/ghc/includes/StgMiscClosures.h
index 844c846d1a..62a7ed33de 100644
--- a/ghc/includes/StgMiscClosures.h
+++ b/ghc/includes/StgMiscClosures.h
@@ -424,6 +424,7 @@ RTS_FUN(stg_ap_pppv_fast);
RTS_FUN(stg_ap_pppp_fast);
RTS_FUN(stg_ap_ppppp_fast);
RTS_FUN(stg_ap_pppppp_fast);
+RTS_FUN(stg_PAP_apply);
/* standard GC & stack check entry points, all defined in HeapStackCheck.hc */
diff --git a/ghc/rts/Apply.cmm b/ghc/rts/Apply.cmm
index 58ca18b059..6678a63471 100644
--- a/ghc/rts/Apply.cmm
+++ b/ghc/rts/Apply.cmm
@@ -58,6 +58,9 @@ stg_ap_0_fast
-------------------------------------------------------------------------- */
INFO_TABLE(stg_PAP,/*special layout*/0,0,PAP,"PAP","PAP")
+{ foreign "C" barf("PAP object entered!"); }
+
+stg_PAP_apply
{
W_ Words;
W_ pap;
diff --git a/ghc/utils/genapply/GenApply.hs b/ghc/utils/genapply/GenApply.hs
index a91226632c..cdde66fa78 100644
--- a/ghc/utils/genapply/GenApply.hs
+++ b/ghc/utils/genapply/GenApply.hs
@@ -457,7 +457,7 @@ genApply regstatus args =
nest 4 (vcat [
text "arity = TO_W_(StgPAP_arity(R1));",
text "ASSERT(arity > 0);",
- genMkPAP regstatus "NEW_PAP" "ENTRY_LBL(stg_PAP)" "PAP" "PAP"
+ genMkPAP regstatus "NEW_PAP" "stg_PAP_apply" "PAP" "PAP"
True{-stack apply-} False{-args on stack-} True{-is a PAP-}
args all_args_size fun_info_label
]),