rustc_codegen_ssa: write .dwp in a streaming fashion

This commit is contained in:
Weihang Lo 2022-11-24 00:58:58 +00:00
parent 70f8737b2f
commit 433d471a1a
No known key found for this signature in database
GPG Key ID: D7DBF189825E82E7

View File

@ -676,8 +676,7 @@ fn link_dwarf_object<'a>(
thorin::MissingReferencedObjectBehaviour::Skip,
)?;
let output = package.finish()?.write()?;
let mut output_stream = BufWriter::new(
let output_stream = BufWriter::new(
OpenOptions::new()
.read(true)
.write(true)
@ -685,8 +684,10 @@ fn link_dwarf_object<'a>(
.truncate(true)
.open(dwp_out_filename)?,
);
output_stream.write_all(&output)?;
output_stream.flush()?;
let mut output_stream = object::write::StreamingBuffer::new(output_stream);
package.finish()?.emit(&mut output_stream)?;
output_stream.result()?;
output_stream.into_inner().flush()?;
Ok(())
}) {