Skip to content

Commit 29c53d8

Browse files
committed
Don't clone symbol names for coverage hashing
A symbol already contains a `&str`, and in this context there's no need to make an owned copy, so we can just use the original string reference.
1 parent 33a2c24 commit 29c53d8

File tree

1 file changed

+3
-3
lines changed
  • compiler/rustc_codegen_llvm/src/coverageinfo

1 file changed

+3
-3
lines changed

compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub fn finalize(cx: &CodegenCx<'_, '_>) {
6363
let mut function_data = Vec::new();
6464
for (instance, function_coverage) in function_coverage_map {
6565
debug!("Generate function coverage for {}, {:?}", cx.codegen_unit.name(), instance);
66-
let mangled_function_name = tcx.symbol_name(instance).to_string();
66+
let mangled_function_name = tcx.symbol_name(instance).name;
6767
let source_hash = function_coverage.source_hash();
6868
let is_used = function_coverage.is_used();
6969
let (expressions, counter_regions) =
@@ -228,7 +228,7 @@ impl CoverageMapGenerator {
228228
/// specific, well-known section and name.
229229
fn save_function_record(
230230
cx: &CodegenCx<'_, '_>,
231-
mangled_function_name: String,
231+
mangled_function_name: &str,
232232
source_hash: u64,
233233
filenames_ref: u64,
234234
coverage_mapping_buffer: Vec<u8>,
@@ -238,7 +238,7 @@ fn save_function_record(
238238
let coverage_mapping_size = coverage_mapping_buffer.len();
239239
let coverage_mapping_val = cx.const_bytes(&coverage_mapping_buffer);
240240

241-
let func_name_hash = coverageinfo::hash_str(&mangled_function_name);
241+
let func_name_hash = coverageinfo::hash_str(mangled_function_name);
242242
let func_name_hash_val = cx.const_u64(func_name_hash);
243243
let coverage_mapping_size_val = cx.const_u32(coverage_mapping_size as u32);
244244
let source_hash_val = cx.const_u64(source_hash);

0 commit comments

Comments
 (0)