Skip to content

Commit ea4c626

Browse files
committed
Prevent record events for empty slice drops
1 parent 83fb223 commit ea4c626

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

crates/wasmtime/src/runtime/rr/hooks/component_hooks.rs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,14 @@ impl Drop for DynamicMemorySlice<'_> {
280280
fn drop(&mut self) {
281281
#[cfg(feature = "rr")]
282282
if let Some(buf) = &mut self.recorder {
283-
buf.record_event(|| MemorySliceWriteEvent {
284-
offset: self.offset,
285-
bytes: self.bytes.to_vec(),
286-
})
287-
.unwrap();
283+
// We don't need to record empty slices
284+
if !self.bytes.is_empty() {
285+
buf.record_event(|| MemorySliceWriteEvent {
286+
offset: self.offset,
287+
bytes: self.bytes.to_vec(),
288+
})
289+
.unwrap();
290+
}
288291
}
289292
}
290293
}
@@ -340,11 +343,14 @@ impl<'a, const N: usize> Drop for FixedMemorySlice<'a, N> {
340343
fn drop(&mut self) {
341344
#[cfg(feature = "rr")]
342345
if let Some(buf) = &mut self.recorder {
343-
buf.record_event(|| MemorySliceWriteEvent {
344-
offset: self.offset,
345-
bytes: self.bytes.to_vec(),
346-
})
347-
.unwrap();
346+
// We don't need to record empty slices
347+
if !self.bytes.is_empty() {
348+
buf.record_event(|| MemorySliceWriteEvent {
349+
offset: self.offset,
350+
bytes: self.bytes.to_vec(),
351+
})
352+
.unwrap();
353+
}
348354
}
349355
}
350356
}

0 commit comments

Comments
 (0)