os_word collect_rest(os_thread_info* self_info, os_word arg) { collect_args* args = (collect_args*)arg; gc_heap* heap = args->heap; int max_zone = args->max_zone; os_thread_info* other_info = 0; int other_info_count; os_other_thread_info(&other_info, &other_info_count); sync_thread_contexts(heap, other_info, other_info_count, self_info); gc_trace trace; initialize_trace(heap, &trace, max_zone); trace_heap(heap, &trace, self_info, other_info, other_info_count); if(trace.did_mark_objects) { gc_compaction cpt; initialize_compaction(heap, &cpt); compact_heap(heap, &trace, &cpt); finalize_compaction(&cpt); } finalize_trace(heap, &trace); return 0; }
void finalize_util_module() { finalize_lean_path(); finalize_name_generator(); finalize_name(); finalize_script_state(); finalize_thread_script_state(); finalize_ascii(); finalize_thread(); finalize_serializer(); finalize_trace(); finalize_debug(); }
void finalize_library_module() { finalize_unification_hint(); finalize_fun_info_manager(); finalize_app_builder(); finalize_congr_lemma_manager(); finalize_light_rule_set(); finalize_type_context(); finalize_class_instance_resolution(); finalize_aux_recursors(); finalize_noncomputable(); finalize_composition_manager(); finalize_user_recursors(); finalize_relation_manager(); finalize_abbreviation(); finalize_normalize(); finalize_projection(); finalize_pp_options(); finalize_library_util(); finalize_class(); finalize_sorry(); finalize_unifier_plugin(); finalize_coercion(); finalize_aliases(); finalize_reducible(); finalize_scoped_ext(); finalize_private(); finalize_protected(); finalize_module(); finalize_explicit(); finalize_annotation(); finalize_resolve_macro(); finalize_string(); finalize_choice(); finalize_typed_expr(); finalize_let(); finalize_kernel_serializer(); finalize_unifier(); finalize_io_state(); finalize_idx_metavar(); finalize_placeholder(); finalize_print(); finalize_fingerprint(); finalize_constants(); finalize_trace(); finalize_attribute_manager(); }