ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add: tmp22 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_isasp (arg1) ; if (tmp23) { /* tmp25 = */ prerr_warning3_loc_02052_ (arg0) ; /* tmp28 = */ atspre_prerr_string (ATSstrcst(": the static constant [")) ; /* tmp29 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2cst (arg1) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst("] is not abstract at this point.")) ; /* tmp24 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp32 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp32, atslab_0, tmp22) ; /* tmp31 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_set_def (arg1, tmp32) ; /* tmp33 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_set_isasp (arg1, ats_true_bool) ; /* tmp21 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add (arg1) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add] */
ats_ptr_type _2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel: tmp41 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local (arg1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp41 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_0, tmp41, atslab_0) ; ATS_FREE(tmp41) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp42 ; tmp43 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (arg0, tmp42) ; /* tmp44 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (tmp42) ; tmp40 = tmp43 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp41 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: ats_ptrget_mac(ats_ptr_type, arg2) = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; /* tmp45 = */ atspre_prerr_string (ATSstrcst("patsopt: error(0)")) ; /* tmp46 = */ atspre_prerr_string (ATSstrcst(": the given file [")) ; /* tmp47 = */ atspre_prerr_string (arg1) ; /* tmp48 = */ atspre_prerr_string (ATSstrcst("] cannot be accessed.")) ; /* tmp49 = */ atspre_prerr_newline () ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_exn_ptr_type)tmp51)->tag = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.tag ; ((ats_exn_ptr_type)tmp51)->name = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.name ; ats_selptrset_mac(anairiats_sum_1, tmp51, atslab_0, arg1) ; /* tmp50 = */ ats_raise_exn (tmp51) ; tmp40 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp40) ; } /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel] */
ats_void_type loop_err_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab_loop_err_12: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e0fftag_loc) ; /* tmp20 = */ prerr_error1_loc_01893_ (tmp23) ; /* tmp24 = */ atspre_prerr_string (ATSstrcst(": unrecognized effect constant: [")) ; /* tmp25 = */ atspre_prerr_string (arg1) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp27 = */ atspre_prerr_newline () ; /* tmp19 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ; return /* (tmp19) */ ; } /* end of [loop_err_12] */
ats_ptr_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; tmp33 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua (arg1, arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp33 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_6, tmp33, atslab_0) ; ATS_FREE(tmp33) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp34)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp34, atslab_0) ; tmp31 = tmp35 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: /* tmp36 = */ prerr_error2_loc_02085_ (tmp32) ; /* tmp37 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ; /* tmp38 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp39 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp40 = */ atspre_prerr_string (ATSstrcst("] is expected to refer to a sort (instead of a subset sort).")) ; /* tmp41 = */ atspre_prerr_newline () ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp43)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp43, atslab_0, arg0) ; /* tmp42 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp43) ; tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp33 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: /* tmp44 = */ prerr_error2_loc_02085_ (tmp32) ; /* tmp45 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ; /* tmp46 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp47 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp48 = */ atspre_prerr_string (ATSstrcst("] does not refer to any recognized sort.")) ; /* tmp49 = */ atspre_prerr_newline () ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp51)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp51, atslab_0, arg0) ; /* tmp50 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp51) ; tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid] */
ats_ptr_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_s1rt_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp4 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp1_2esats__s1rt_is_arrow (arg1) ; if (!tmp4) { goto __ats_lab_5_1 ; } do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; if (tmp5 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_1) ; if (tmp6 != (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_1_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_0) ; tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp7), atslab_s1rt_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp10)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp9 = tmp11 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp12 = (ats_sum_ptr_type)0 ; tmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_0, tmp7) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_1, tmp12) ; break ; } while (0) ; tmp13 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtlst_tr (tmp9) ; tmp14 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (tmp8) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_0, tmp13) ; ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_1, tmp14) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: /* tmp15 = */ prerr_interror_loc_02083_ (tmp2) ; /* tmp20 = */ atspre_prerr_string (ATSstrcst(": s1rt_tr_app: [->] is not an infix operator!")) ; /* tmp21 = */ atspre_prerr_newline () ; /* tmp1 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; /* tmp22 = */ prerr_error2_loc_02085_ (tmp25) ; /* tmp26 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_app")) ; /* tmp27 = */ atspre_prerr_string (ATSstrcst(": sort application is not supported.")) ; /* tmp28 = */ atspre_prerr_newline () ; tmp30 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp30)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp30, atslab_0, arg0) ; /* tmp29 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp30) ; tmp1 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app] */
ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate: #line 110 "gcats1_collecting.dats" /* tmp14 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 110 "gcats1_collecting.dats" /* tmp15 = ats_selsin_mac(tmp14, atslab_1) */ ; #line 111 "gcats1_collecting.dats" tmp16 = the_sweeplst_array_get (arg0) ; #line 113 "gcats1_collecting.dats" tmp18 = chunklst_is_cons (tmp16) ; #line 113 "gcats1_collecting.dats" if (tmp18) { #line 113 "gcats1_collecting.dats" tmp17 = tmp16 ; } else { #line 114 "gcats1_collecting.dats" /* tmp19 = */ the_sweeplst_lock_release_one (arg0) ; #line 115 "gcats1_collecting.dats" /* tmp20 = */ gc_main_lock_acquire () ; #line 115 "gcats1_collecting.dats" /* tmp21 = ats_selsin_mac(tmp20, atslab_1) */ ; #line 116 "gcats1_collecting.dats" /* tmp22 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 116 "gcats1_collecting.dats" /* tmp23 = ats_selsin_mac(tmp22, atslab_1) */ ; #line 118 "gcats1_collecting.dats" tmp24 = the_sweeplst_array_get (arg0) ; #line 120 "gcats1_collecting.dats" tmp25 = chunklst_is_cons (tmp24) ; #line 120 "gcats1_collecting.dats" if (tmp25) { #line 121 "gcats1_collecting.dats" /* tmp26 = */ gc_main_lock_release () ; #line 121 "gcats1_collecting.dats" tmp17 = tmp24 ; } else { #line 124 "gcats1_collecting.dats" tmp27 = the_chunk_count_limit_is_not_reached () ; #line 126 "gcats1_collecting.dats" if (tmp27) { #line 127 "gcats1_collecting.dats" tmp28 = atspre_asl_int_int1 (1, arg0) ; #line 127 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp28) ; } else { #line 129 "gcats1_collecting.dats" /* tmp29 = */ the_globalentrylst_lock_acquire () ; #line 129 "gcats1_collecting.dats" /* tmp30 = ats_selsin_mac(tmp29, atslab_1) */ ; #line 130 "gcats1_collecting.dats" /* tmp31 = */ the_manmemlst_lock_acquire () ; #line 130 "gcats1_collecting.dats" /* tmp32 = ats_selsin_mac(tmp31, atslab_1) */ ; #line 131 "gcats1_collecting.dats" /* tmp33 = */ the_threadinfolst_lock_acquire () ; #line 131 "gcats1_collecting.dats" /* tmp34 = ats_selsin_mac(tmp33, atslab_1) */ ; #line 133 "gcats1_collecting.dats" /* tmp35 = */ the_sweeplst_lock_acquire_rest (arg0) ; #line 132 "gcats1_collecting.dats" /* tmp36 = ats_selsin_mac(tmp35, atslab_1) */ ; #line 135 "gcats1_collecting.dats" /* tmp37 = */ gc_collect () ; #line 139 "gcats1_collecting.dats" /* tmp38 = */ the_sweeplst_lock_release_rest (arg0) ; #line 138 "gcats1_collecting.dats" /* tmp39 = ats_selsin_mac(tmp38, atslab_1) */ ; #line 142 "gcats1_collecting.dats" /* tmp40 = */ the_threadinfolst_lock_release () ; #line 143 "gcats1_collecting.dats" /* tmp41 = */ the_manmemlst_lock_release () ; #line 144 "gcats1_collecting.dats" /* tmp42 = */ the_globalentrylst_lock_release () ; #line 145 "gcats1_collecting.dats" tmp43 = the_sweeplst_array_get (arg0) ; #line 152 "gcats1_collecting.dats" tmp44 = chunklst_is_cons (tmp43) ; #line 152 "gcats1_collecting.dats" if (tmp44) { #line 153 "gcats1_collecting.dats" /* tmp45 = */ gc_main_lock_release () ; #line 153 "gcats1_collecting.dats" tmp17 = tmp43 ; } else { #line 155 "gcats1_collecting.dats" tmp46 = atspre_asl_int_int1 (1, arg0) ; #line 155 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp46) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ #line 166 "gcats1_collecting.dats" tmp47 = chunklst_sweep_next_get (tmp17) ; #line 167 "gcats1_collecting.dats" /* tmp48 = */ the_sweeplst_array_set (arg0, tmp47) ; #line 168 "gcats1_collecting.dats" /* tmp49 = */ the_sweeplst_lock_release_one (arg0) ; #line 169 "gcats1_collecting.dats" tmp50 = gc_chunk_threading (tmp17) ; #line 176 "gcats1_collecting.dats" tmp51 = freeitmlst_is_nil (tmp50) ; #line 176 "gcats1_collecting.dats" if (tmp51) { #line 177 "gcats1_collecting.dats" /* tmp52 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error")) ; #line 178 "gcats1_collecting.dats" /* tmp53 = */ atspre_prerr_string (ATSstrcst(": [gc_freeitmlst_generate]: the generated freeitmlst is nil")) ; #line 179 "gcats1_collecting.dats" /* tmp54 = */ atspre_prerr_newline () ; #line 180 "gcats1_collecting.dats" /* tmp13 = */ ats_exit (1) ; } else { #line 182 "gcats1_collecting.dats" tmp13 = tmp50 ; } /* end of [if] */ return (tmp13) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate] */
ats_void_type gcats1_freeitmlst_freeitmlst_mark_unset_4 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4: #line 77 "gcats1_freeitmlst.dats" tmp12 = freeitmlst_is_cons (arg0) ; #line 77 "gcats1_freeitmlst.dats" if (tmp12) { #line 78 "gcats1_freeitmlst.dats" /* ats_int_type tmp13 ; */ #line 78 "gcats1_freeitmlst.dats" tmp13 = 0 ; #line 78 "gcats1_freeitmlst.dats" tmp14 = freeitmlst2ptr (arg0) ; #line 79 "gcats1_freeitmlst.dats" tmp15 = gc_ptr_is_valid (tmp14, (&tmp13)) ; #line 80 "gcats1_freeitmlst.dats" tmp17 = chunklst_is_cons (tmp15) ; #line 80 "gcats1_freeitmlst.dats" if (tmp17) { #line 80 "gcats1_freeitmlst.dats" tmp16 = tmp15 ; } else { #line 81 "gcats1_freeitmlst.dats" /* tmp18 = */ atspre_prerr_string (ATSstrcst("freeitmlst_mark_unset: illegal pointer: ptr = ")) ; #line 82 "gcats1_freeitmlst.dats" /* tmp19 = */ atspre_prerr_ptr (tmp14) ; #line 83 "gcats1_freeitmlst.dats" /* tmp20 = */ atspre_prerr_newline () ; #line 84 "gcats1_freeitmlst.dats" /* tmp16 = */ ats_exit (1) ; } /* end of [if] */ #line 87 "gcats1_freeitmlst.dats" tmp21 = chunklst_markbits_get (tmp16) ; #line 89 "gcats1_freeitmlst.dats" tmp24 = MARK_GET (tmp21, tmp13) ; #line 89 "gcats1_freeitmlst.dats" tmp23 = atspre_gt_int_int (tmp24, 0) ; #line 89 "gcats1_freeitmlst.dats" if (tmp23) { #line 91 "gcats1_freeitmlst.dats" /* tmp25 = */ MARK_CLEAR (tmp21, tmp13) ; #line 91 "gcats1_freeitmlst.dats" /* tmp22 = */ chunklst_markcnt_dec (tmp16) ; } else { /* empty */ } /* end of [if] */ #line 94 "gcats1_freeitmlst.dats" tmp26 = freeitmlst_tail_get (arg0) ; #line 94 "gcats1_freeitmlst.dats" arg0 = tmp26 ; #line 94 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp11) */ ; } /* end of [gcats1_freeitmlst_freeitmlst_mark_unset_4] */