Add comments to Message
and WorkItem
.
This is particularly useful for `Message`.
This commit is contained in:
parent
88cd8f9324
commit
a521ba400d
1 changed files with 22 additions and 8 deletions
|
@ -731,6 +731,7 @@ impl<B: WriteBackendMethods> WorkItem<B> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// A result produced by the backend.
|
||||||
pub(crate) enum WorkItemResult<B: WriteBackendMethods> {
|
pub(crate) enum WorkItemResult<B: WriteBackendMethods> {
|
||||||
Compiled(CompiledModule),
|
Compiled(CompiledModule),
|
||||||
NeedsLink(ModuleCodegen<B::Module>),
|
NeedsLink(ModuleCodegen<B::Module>),
|
||||||
|
@ -923,21 +924,34 @@ fn finish_intra_module_work<B: ExtraBackendMethods>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Messages sent to the coordinator.
|
||||||
pub(crate) enum Message<B: WriteBackendMethods> {
|
pub(crate) enum Message<B: WriteBackendMethods> {
|
||||||
|
/// A jobserver token has become available. Sent from the jobserver helper
|
||||||
|
/// thread.
|
||||||
Token(io::Result<Acquired>),
|
Token(io::Result<Acquired>),
|
||||||
WorkItem {
|
|
||||||
result: Result<WorkItemResult<B>, Option<WorkerFatalError>>,
|
/// The backend has finished processing a work item for a codegen unit.
|
||||||
worker_id: usize,
|
/// Sent from a backend worker thread.
|
||||||
},
|
WorkItem { result: Result<WorkItemResult<B>, Option<WorkerFatalError>>, worker_id: usize },
|
||||||
CodegenDone {
|
|
||||||
llvm_work_item: WorkItem<B>,
|
/// The frontend has finished generating something (backend IR or a
|
||||||
cost: u64,
|
/// post-LTO artifact) for a codegen unit, and it should be passed to the
|
||||||
},
|
/// backend. Sent from the main thread.
|
||||||
|
CodegenDone { llvm_work_item: WorkItem<B>, cost: u64 },
|
||||||
|
|
||||||
|
/// Similar to `CodegenDone`, but for reusing a pre-LTO artifact
|
||||||
|
/// Sent from the main thread.
|
||||||
AddImportOnlyModule {
|
AddImportOnlyModule {
|
||||||
module_data: SerializedModule<B::ModuleBuffer>,
|
module_data: SerializedModule<B::ModuleBuffer>,
|
||||||
work_product: WorkProduct,
|
work_product: WorkProduct,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/// The frontend has finished generating everything for all codegen units.
|
||||||
|
/// Sent from the main thread.
|
||||||
CodegenComplete,
|
CodegenComplete,
|
||||||
|
|
||||||
|
/// Some normal-ish compiler error occurred, and codegen should be wound
|
||||||
|
/// down. Sent from the main thread.
|
||||||
CodegenAborted,
|
CodegenAborted,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue