X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FStgMiscClosures.h;h=62a7ed33de111c01d1fb35e35e0845738eae9ae0;hb=960a5e6a6f604aa01f5f74b80fb0f61ceffd7ed3;hp=ef39a8ef70b92d534bed59fb3023ef6547aee1a6;hpb=423d477bfecd490de1449c59325c8776f91d7aac;p=ghc-hetmet.git diff --git a/ghc/includes/StgMiscClosures.h b/ghc/includes/StgMiscClosures.h index ef39a8e..62a7ed3 100644 --- a/ghc/includes/StgMiscClosures.h +++ b/ghc/includes/StgMiscClosures.h @@ -37,23 +37,29 @@ /* Stack frames */ RTS_RET_INFO(stg_upd_frame_info); +RTS_RET_INFO(stg_marked_upd_frame_info); RTS_RET_INFO(stg_noupd_frame_info); RTS_RET_INFO(stg_seq_frame_info); RTS_RET_INFO(stg_catch_frame_info); +RTS_RET_INFO(stg_catch_retry_frame_info); +RTS_RET_INFO(stg_atomically_frame_info); +RTS_RET_INFO(stg_atomically_waiting_frame_info); +RTS_RET_INFO(stg_catch_stm_frame_info); RTS_ENTRY(stg_upd_frame_ret); +RTS_ENTRY(stg_marked_upd_frame_ret); RTS_ENTRY(stg_seq_frame_ret); /* Entry code for constructors created by the bytecode interpreter */ -RTS_ENTRY(stg_interp_constr_entry); -RTS_ENTRY(stg_interp_constr1_entry); -RTS_ENTRY(stg_interp_constr2_entry); -RTS_ENTRY(stg_interp_constr3_entry); -RTS_ENTRY(stg_interp_constr4_entry); -RTS_ENTRY(stg_interp_constr5_entry); -RTS_ENTRY(stg_interp_constr6_entry); -RTS_ENTRY(stg_interp_constr7_entry); -RTS_ENTRY(stg_interp_constr8_entry); +RTS_FUN(stg_interp_constr_entry); +RTS_FUN(stg_interp_constr1_entry); +RTS_FUN(stg_interp_constr2_entry); +RTS_FUN(stg_interp_constr3_entry); +RTS_FUN(stg_interp_constr4_entry); +RTS_FUN(stg_interp_constr5_entry); +RTS_FUN(stg_interp_constr6_entry); +RTS_FUN(stg_interp_constr7_entry); +RTS_FUN(stg_interp_constr8_entry); /* Magic glue code for when compiled code returns a value in R1/F1/D1 or a VoidRep to the interpreter. */ @@ -92,9 +98,9 @@ RTS_INFO(stg_IND_OLDGEN_info); RTS_INFO(stg_IND_OLDGEN_PERM_info); RTS_INFO(stg_CAF_UNENTERED_info); RTS_INFO(stg_CAF_ENTERED_info); +RTS_INFO(stg_WHITEHOLE_info); RTS_INFO(stg_BLACKHOLE_info); RTS_INFO(stg_CAF_BLACKHOLE_info); -RTS_INFO(stg_BLACKHOLE_BQ_info); #ifdef TICKY_TICKY RTS_INFO(stg_SE_BLACKHOLE_info); RTS_INFO(stg_SE_CAF_BLACKHOLE_info); @@ -108,7 +114,6 @@ RTS_INFO(stg_FETCH_ME_BQ_info); #endif RTS_FUN_INFO(stg_BCO_info); RTS_INFO(stg_EVACUATED_info); -RTS_INFO(stg_FOREIGN_info); RTS_INFO(stg_WEAK_info); RTS_INFO(stg_DEAD_WEAK_info); RTS_INFO(stg_STABLE_NAME_info); @@ -117,18 +122,27 @@ RTS_INFO(stg_EMPTY_MVAR_info); RTS_INFO(stg_TSO_info); RTS_INFO(stg_ARR_WORDS_info); RTS_INFO(stg_MUT_ARR_WORDS_info); -RTS_INFO(stg_MUT_ARR_PTRS_info); +RTS_INFO(stg_MUT_ARR_PTRS_CLEAN_info); +RTS_INFO(stg_MUT_ARR_PTRS_DIRTY_info); RTS_INFO(stg_MUT_ARR_PTRS_FROZEN_info); -RTS_INFO(stg_MUT_VAR_info); +RTS_INFO(stg_MUT_ARR_PTRS_FROZEN0_info); +RTS_INFO(stg_MUT_VAR_CLEAN_info); +RTS_INFO(stg_MUT_VAR_DIRTY_info); RTS_INFO(stg_END_TSO_QUEUE_info); RTS_INFO(stg_MUT_CONS_info); -RTS_INFO(stg_END_MUT_LIST_info); RTS_INFO(stg_catch_info); RTS_INFO(stg_PAP_info); RTS_INFO(stg_AP_info); RTS_INFO(stg_AP_STACK_info); RTS_INFO(stg_dummy_ret_info); RTS_INFO(stg_raise_info); +RTS_INFO(stg_TVAR_WAIT_QUEUE_info); +RTS_INFO(stg_TVAR_info); +RTS_INFO(stg_TREC_CHUNK_info); +RTS_INFO(stg_TREC_HEADER_info); +RTS_INFO(stg_END_STM_WAIT_QUEUE_info); +RTS_INFO(stg_END_STM_CHUNK_LIST_info); +RTS_INFO(stg_NO_TREC_info); RTS_ENTRY(stg_IND_entry); RTS_ENTRY(stg_IND_direct_entry); @@ -146,9 +160,9 @@ RTS_ENTRY(stg_IND_OLDGEN_entry); RTS_ENTRY(stg_IND_OLDGEN_PERM_entry); RTS_ENTRY(stg_CAF_UNENTERED_entry); RTS_ENTRY(stg_CAF_ENTERED_entry); +RTS_ENTRY(stg_WHITEHOLE_entry); RTS_ENTRY(stg_BLACKHOLE_entry); RTS_ENTRY(stg_CAF_BLACKHOLE_entry); -RTS_ENTRY(stg_BLACKHOLE_BQ_entry); #ifdef TICKY_TICKY RTS_ENTRY(stg_SE_BLACKHOLE_entry); RTS_ENTRY(stg_SE_CAF_BLACKHOLE_entry); @@ -161,7 +175,6 @@ RTS_ENTRY(stg_FETCH_ME_BQ_entry); #endif RTS_ENTRY(stg_BCO_entry); RTS_ENTRY(stg_EVACUATED_entry); -RTS_ENTRY(stg_FOREIGN_entry); RTS_ENTRY(stg_WEAK_entry); RTS_ENTRY(stg_DEAD_WEAK_entry); RTS_ENTRY(stg_STABLE_NAME_entry); @@ -170,34 +183,51 @@ RTS_ENTRY(stg_EMPTY_MVAR_entry); RTS_ENTRY(stg_TSO_entry); RTS_ENTRY(stg_ARR_WORDS_entry); RTS_ENTRY(stg_MUT_ARR_WORDS_entry); -RTS_ENTRY(stg_MUT_ARR_PTRS_entry); +RTS_ENTRY(stg_MUT_ARR_PTRS_CLEAN_entry); +RTS_ENTRY(stg_MUT_ARR_PTRS_DIRTY_entry); RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN_entry); -RTS_ENTRY(stg_MUT_VAR_entry); +RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN0_entry); +RTS_ENTRY(stg_MUT_VAR_CLEAN_entry); +RTS_ENTRY(stg_MUT_VAR_DIRTY_entry); RTS_ENTRY(stg_END_TSO_QUEUE_entry); RTS_ENTRY(stg_MUT_CONS_entry); -RTS_ENTRY(stg_END_MUT_LIST_entry); RTS_ENTRY(stg_catch_entry); RTS_ENTRY(stg_PAP_entry); RTS_ENTRY(stg_AP_entry); RTS_ENTRY(stg_AP_STACK_entry); RTS_ENTRY(stg_dummy_ret_entry); RTS_ENTRY(stg_raise_entry); +RTS_ENTRY(stg_END_STM_WAIT_QUEUE_entry); +RTS_ENTRY(stg_END_STM_CHUNK_LIST_entry); +RTS_ENTRY(stg_NO_TREC_entry); +RTS_ENTRY(stg_TVAR_entry); +RTS_ENTRY(stg_TVAR_WAIT_QUEUE_entry); +RTS_ENTRY(stg_TREC_CHUNK_entry); +RTS_ENTRY(stg_TREC_HEADER_entry); RTS_ENTRY(stg_unblockAsyncExceptionszh_ret_ret); RTS_ENTRY(stg_blockAsyncExceptionszh_ret_ret); RTS_ENTRY(stg_catch_frame_ret); +RTS_ENTRY(stg_catch_retry_frame_ret); +RTS_ENTRY(stg_atomically_frame_ret); +RTS_ENTRY(stg_atomically_waiting_frame_ret); +RTS_ENTRY(stg_catch_stm_frame_ret); +RTS_ENTRY(stg_catch_frame_ret); RTS_ENTRY(stg_catch_entry); RTS_ENTRY(stg_raise_entry); /* closures */ RTS_CLOSURE(stg_END_TSO_QUEUE_closure); -RTS_CLOSURE(stg_END_MUT_LIST_closure); RTS_CLOSURE(stg_NO_FINALIZER_closure); RTS_CLOSURE(stg_dummy_ret_closure); RTS_CLOSURE(stg_forceIO_closure); +RTS_CLOSURE(stg_END_STM_WAIT_QUEUE_closure); +RTS_CLOSURE(stg_END_STM_CHUNK_LIST_closure); +RTS_CLOSURE(stg_NO_TREC_closure); + RTS_ENTRY(stg_NO_FINALIZER_entry); RTS_ENTRY(stg_END_EXCEPTION_LIST_entry); RTS_ENTRY(stg_EXCEPTION_CONS_entry); @@ -349,7 +379,6 @@ RTS_ENTRY(stg_ap_7_upd_entry); /* standard application routines (see also rts/gen_apply.py, * and compiler/codeGen/CgStackery.lhs). */ -RTS_RET_INFO(stg_ap_0_info); RTS_RET_INFO(stg_ap_v_info); RTS_RET_INFO(stg_ap_f_info); RTS_RET_INFO(stg_ap_d_info); @@ -365,7 +394,6 @@ RTS_RET_INFO(stg_ap_pppp_info); RTS_RET_INFO(stg_ap_ppppp_info); RTS_RET_INFO(stg_ap_pppppp_info); -RTS_ENTRY(stg_ap_0_ret); RTS_ENTRY(stg_ap_v_ret); RTS_ENTRY(stg_ap_f_ret); RTS_ENTRY(stg_ap_d_ret); @@ -381,6 +409,23 @@ RTS_ENTRY(stg_ap_pppp_ret); RTS_ENTRY(stg_ap_ppppp_ret); RTS_ENTRY(stg_ap_pppppp_ret); +RTS_FUN(stg_ap_0_fast); +RTS_FUN(stg_ap_v_fast); +RTS_FUN(stg_ap_f_fast); +RTS_FUN(stg_ap_d_fast); +RTS_FUN(stg_ap_l_fast); +RTS_FUN(stg_ap_n_fast); +RTS_FUN(stg_ap_p_fast); +RTS_FUN(stg_ap_pv_fast); +RTS_FUN(stg_ap_pp_fast); +RTS_FUN(stg_ap_ppv_fast); +RTS_FUN(stg_ap_ppp_fast); +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 */ RTS_RET_INFO(stg_enter_info); @@ -432,13 +477,19 @@ RTS_FUN(stg_yield_to_interpreter); RTS_FUN(stg_gen_block); RTS_FUN(stg_block_noregs); RTS_FUN(stg_block_1); +RTS_FUN(stg_block_blackhole); +RTS_FUN(stg_block_blackhole_finally); RTS_FUN(stg_block_takemvar); RTS_ENTRY(stg_block_takemvar_ret); RTS_FUN(stg_block_putmvar); RTS_ENTRY(stg_block_putmvar_ret); -#ifdef mingw32_TARGET_OS +#ifdef mingw32_HOST_OS RTS_FUN(stg_block_async); +RTS_ENTRY(stg_block_async_ret); +RTS_FUN(stg_block_async_void); +RTS_ENTRY(stg_block_async_void_ret); #endif +RTS_FUN(stg_block_stmwait); /* Entry/exit points from StgStartup.cmm */ @@ -446,7 +497,9 @@ RTS_RET_INFO(stg_stop_thread_info); RTS_ENTRY(stg_stop_thread_ret); RTS_FUN(stg_returnToStackTop); -RTS_FUN(stg_enterStackTop); +RTS_FUN(stg_returnToSched); +RTS_FUN(stg_returnToSchedNotPaused); +RTS_FUN(stg_returnToSchedButFirst); RTS_FUN(stg_init_finish); RTS_FUN(stg_init); @@ -511,7 +564,7 @@ RTS_FUN(tryPutMVarzh_fast); RTS_FUN(waitReadzh_fast); RTS_FUN(waitWritezh_fast); RTS_FUN(delayzh_fast); -#ifdef mingw32_TARGET_OS +#ifdef mingw32_HOST_OS RTS_FUN(asyncReadzh_fast); RTS_FUN(asyncWritezh_fast); RTS_FUN(asyncDoProczh_fast); @@ -538,9 +591,15 @@ RTS_FUN(mkWeakzh_fast); RTS_FUN(finalizzeWeakzh_fast); RTS_FUN(deRefWeakzh_fast); -RTS_FUN(mkForeignObjzh_fast); - RTS_FUN(newBCOzh_fast); RTS_FUN(mkApUpd0zh_fast); +RTS_FUN(retryzh_fast); +RTS_FUN(catchRetryzh_fast); +RTS_FUN(catchSTMzh_fast); +RTS_FUN(atomicallyzh_fast); +RTS_FUN(newTVarzh_fast); +RTS_FUN(readTVarzh_fast); +RTS_FUN(writeTVarzh_fast); + #endif /* STGMISCCLOSURES_H */