Struct rustc_codegen_ssa::back::write::OngoingCodegen
source · [−]pub struct OngoingCodegen<B: ExtraBackendMethods> {
pub backend: B,
pub metadata: EncodedMetadata,
pub metadata_module: Option<CompiledModule>,
pub crate_info: CrateInfo,
pub coordinator_send: Sender<Box<dyn Any + Send>>,
pub codegen_worker_receive: Receiver<Message<B>>,
pub shared_emitter_main: SharedEmitterMain,
pub future: JoinHandle<Result<CompiledModules, ()>>,
pub output_filenames: Arc<OutputFilenames>,
}Fields
backend: Bmetadata: EncodedMetadatametadata_module: Option<CompiledModule>crate_info: CrateInfocoordinator_send: Sender<Box<dyn Any + Send>>codegen_worker_receive: Receiver<Message<B>>future: JoinHandle<Result<CompiledModules, ()>>output_filenames: Arc<OutputFilenames>Implementations
sourceimpl<B: ExtraBackendMethods> OngoingCodegen<B>
impl<B: ExtraBackendMethods> OngoingCodegen<B>
pub fn join(
self,
sess: &Session
) -> (CodegenResults, FxHashMap<WorkProductId, WorkProduct>)
pub fn submit_pre_codegened_module_to_llvm(
&self,
tcx: TyCtxt<'_>,
module: ModuleCodegen<B::Module>
)
pub fn codegen_finished(&self, tcx: TyCtxt<'_>)
sourcepub fn codegen_aborted(self)
pub fn codegen_aborted(self)
Consumes this context indicating that codegen was entirely aborted, and we need to exit as quickly as possible.
This method blocks the current thread until all worker threads have finished, and all worker threads should have exited or be real close to exiting at this point.
pub fn check_for_errors(&self, sess: &Session)
pub fn wait_for_signal_to_codegen_item(&self)
Auto Trait Implementations
impl<B> !RefUnwindSafe for OngoingCodegen<B>
impl<B> !Send for OngoingCodegen<B>
impl<B> !Sync for OngoingCodegen<B>
impl<B> Unpin for OngoingCodegen<B> where
B: Unpin,
impl<B> !UnwindSafe for OngoingCodegen<B>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.