void finalize() { run_thread_finalizers(); finalize_frontend_lean_module(); finalize_definitional_module(); finalize_tactic_module(); finalize_library_module(); finalize_quotient_module(); finalize_inductive_module(); finalize_kernel_module(); finalize_sexpr_module(); finalize_numerics_module(); finalize_util_module(); run_post_thread_finalizers(); }
void finalize() { #ifdef LEAN_TRACK_CUSTOM_ALLOCATORS std::cerr << "memory deallocated by memory_pool and small_object_allocator (before finalization): " << get_memory_deallocated() << "\n"; #endif #ifdef LEAN_TRACK_LIVE_EXPRS std::cerr << "number of live expressions (before finalization): " << get_num_live_exprs() << "\n"; #endif run_thread_finalizers(); finalize_vm_module(); finalize_frontend_lean_module(); finalize_inductive_compiler_module(); finalize_equations_compiler_module(); finalize_constructions_module(); finalize_tactic_module(); finalize_compiler_module(); finalize_library_module(); finalize_vm_core_module(); finalize_library_core_module(); finalize_quotient_module(); finalize_inductive_module(); finalize_kernel_module(); finalize_sexpr_module(); finalize_numerics_module(); finalize_util_module(); run_post_thread_finalizers(); #ifdef LEAN_TRACK_CUSTOM_ALLOCATORS std::cerr << "memory deallocated by memory_pool and small_object_allocator (after finalization): " << get_memory_deallocated() << "\n"; #endif #ifdef LEAN_TRACK_LIVE_EXPRS std::cerr << "number of live expressions (after finalization): " << get_num_live_exprs() << "\n"; #endif delete_thread_finalizer_manager(); #ifdef LEAN_TRACK_CUSTOM_ALLOCATORS std::cerr << "memory deallocated by memory_pool and small_object_allocator (after thread finalization): " << get_memory_deallocated() << "\n"; #endif #ifdef LEAN_TRACK_LIVE_EXPRS std::cerr << "number of live expressions (after thread finalization): " << get_num_live_exprs() << "\n"; #endif }