Pass a byte slice to `coverageinfo::hash_bytes` instead of an owned vector

The function body immediately treats it as a slice anyway, so this just makes
it possible to call the hash function with arbitrary read-only byte slices.
This commit is contained in:
Zalathar 2023-07-13 11:21:21 +10:00
parent 29c53d8748
commit 7a5ad35da4
2 changed files with 2 additions and 2 deletions

View File

@ -95,7 +95,7 @@ pub fn finalize(cx: &CodegenCx<'_, '_>) {
let filenames_size = filenames_buffer.len();
let filenames_val = cx.const_bytes(&filenames_buffer);
let filenames_ref = coverageinfo::hash_bytes(filenames_buffer);
let filenames_ref = coverageinfo::hash_bytes(&filenames_buffer);
// Generate the LLVM IR representation of the coverage map and store it in a well-known global
let cov_data_val = mapgen.generate_coverage_map(cx, version, filenames_size, filenames_val);

View File

@ -378,7 +378,7 @@ pub(crate) fn hash_str(strval: &str) -> u64 {
unsafe { llvm::LLVMRustCoverageHashCString(strval.as_ptr()) }
}
pub(crate) fn hash_bytes(bytes: Vec<u8>) -> u64 {
pub(crate) fn hash_bytes(bytes: &[u8]) -> u64 {
unsafe { llvm::LLVMRustCoverageHashByteArray(bytes.as_ptr().cast(), bytes.len()) }
}