Box `DiagnosticBuilder`. It's a large type -- 176 bytes on 64-bit. And it's passed around and returned from a lot of functions, including within `PResult`. This commit boxes it, which reduces memory traffic. In particular, `PResult` shrinks to 16 bytes in the best case; this reduces instruction counts by up to 2% on various workloads. The commit touches a lot of lines but it's almost all trivial plumbing changes. |
||
|---|---|---|
| .. | ||
| annotate_snippet_emitter_writer.rs | ||
| Cargo.toml | ||
| diagnostic.rs | ||
| diagnostic_builder.rs | ||
| emitter.rs | ||
| lib.rs | ||
| lock.rs | ||
| registry.rs | ||
| snippet.rs | ||
| styled_buffer.rs | ||