diff options
| -rw-r--r-- | ghc/includes/StgMiscClosures.h | 1 | ||||
| -rw-r--r-- | ghc/rts/Apply.cmm | 3 | ||||
| -rw-r--r-- | ghc/utils/genapply/GenApply.hs | 2 |
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 ]), |
