cranelift-object: move relocation processing to finish
This removes the need to call `finalize_definitions` for cranelift-object. `finalize_definitions` is only intended for backends that produce finalized functions and data objects, which cranelift-object does not.
This commit is contained in:
committed by
Benjamin Bouvier
parent
376654bdfc
commit
3c15f8f129
@@ -146,7 +146,7 @@ where
|
||||
|
||||
/// Consume this `Backend` and return a result. Some implementations may
|
||||
/// provide additional functionality through this result.
|
||||
fn finish(self) -> Self::Product;
|
||||
fn finish(self, namespace: &ModuleNamespace<Self>) -> Self::Product;
|
||||
}
|
||||
|
||||
/// Default names for `ir::LibCall`s. A function by this name is imported into the object as
|
||||
|
||||
@@ -714,8 +714,9 @@ where
|
||||
/// Consume the module and return the resulting `Product`. Some `Backend`
|
||||
/// implementations may provide additional functionality available after
|
||||
/// a `Module` is complete.
|
||||
pub fn finish(mut self) -> B::Product {
|
||||
self.finalize_definitions();
|
||||
self.backend.finish()
|
||||
pub fn finish(self) -> B::Product {
|
||||
self.backend.finish(&ModuleNamespace::<B> {
|
||||
contents: &self.contents,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user