1
Fork 0

ThinLTO: Don't keep files open after mmaping them (because it's not needed).

This commit is contained in:
Michael Woerister 2018-09-05 13:52:58 +02:00
parent 3f13b27c2b
commit fc47a92336
2 changed files with 4 additions and 4 deletions

View file

@ -29,7 +29,7 @@ use {ModuleCodegen, ModuleLlvm, ModuleKind};
use libc;
use std::ffi::{CStr, CString};
use std::fs::{self, File};
use std::fs;
use std::ptr;
use std::slice;
use std::sync::Arc;
@ -619,7 +619,7 @@ fn run_pass_manager(cgcx: &CodegenContext,
pub enum SerializedModule {
Local(ModuleBuffer),
FromRlib(Vec<u8>),
FromUncompressedFile(memmap::Mmap, File),
FromUncompressedFile(memmap::Mmap),
}
impl SerializedModule {
@ -627,7 +627,7 @@ impl SerializedModule {
match *self {
SerializedModule::Local(ref m) => m.data(),
SerializedModule::FromRlib(ref m) => m,
SerializedModule::FromUncompressedFile(ref m, _) => m,
SerializedModule::FromUncompressedFile(ref m) => m,
}
}
}

View file

@ -2485,7 +2485,7 @@ pub(crate) fn submit_pre_lto_module_to_llvm(tcx: TyCtxt,
// Schedule the module to be loaded
drop(tcx.tx_to_llvm_workers.lock().send(Box::new(Message::AddImportOnlyModule {
module_data: SerializedModule::FromUncompressedFile(mmap, file),
module_data: SerializedModule::FromUncompressedFile(mmap),
work_product: module.source,
})));
}