pub fn finalize_definitions(&mut self) {
        for func in std::mem::take(&mut self.functions_to_finalize) {
            let decl = self.declarations.get_function_decl(func);
            debug_assert!(decl.linkage.is_definable());
            self.finalize_function(func);
        }
        for data in std::mem::take(&mut self.data_objects_to_finalize) {
            let decl = self.declarations.get_data_decl(data);
            debug_assert!(decl.linkage.is_definable());
            self.finalize_data(data);
        }

        // Now that we're done patching, prepare the memory for execution!
        self.memory.readonly.set_readonly();
        self.memory.code.set_readable_and_executable();
    }
/// Finalize all functions and data objects that are defined but not yet finalized.
/// All symbols referenced in their bodies that are declared as needing a definition
/// must be defined by this point.
///
/// Use `get_finalized_function` and `get_finalized_data` to obtain the final
/// artifacts.
Finalize all functions and data objects that are defined but not yet finalized.
All symbols referenced in their bodies that are declared as needing a definition
must be defined by this point.

Use `get_finalized_function` and `get_finalized_data` to obtain the final
artifacts.
Finalize all functions and data objects that are defined but not yet finalized . All symbols referenced in their bodies that are declared as needing a definition must be defined by this point . Use ` get_finalized_function ` and ` get_finalized_data ` to obtain the final artifacts .
pub fn finalize_definitions(&mut self) {
        for func in std::mem::take(&mut self.functions_to_finalize) {
            let decl = self.declarations.get_function_decl(func);
            debug_assert!(decl.linkage.is_definable());
            self.finalize_function(func);
        }
        for data in std::mem::take(&mut self.data_objects_to_finalize) {
            let decl = self.declarations.get_data_decl(data);
            debug_assert!(decl.linkage.is_definable());
            self.finalize_data(data);
        }
        // Now that we're done patching, prepare the memory for execution!
        self.memory.readonly.set_readonly();
        self.memory.code.set_readable_and_executable();
    }
pub fn finalize_definitions ( & mut self ) { for func in std :: mem :: take ( & mut self . functions_to_finalize ) { let decl = self . declarations . get_function_decl ( func ) ; debug_assert ! ( decl linkage is_definable ( ) ) ; self . finalize_function ( func ) ; } for data in std :: mem :: take ( & mut self . data_objects_to_finalize ) { let decl = self . declarations . get_data_decl ( data ) ; debug_assert ! ( decl linkage is_definable ( ) ) ; self . finalize_data ( data ) ; } // Now that we're done patching, prepare the memory for execution! self . memory . readonly . set_readonly ( ) ; self . memory . code . set_readable_and_executable ( ) ; }
Finalize all functions and data objects that are defined but not yet finalized.
Finalize all functions and data objects that are defined but not yet finalized .
&mut self
&mut self