core: Extract make_record() function

This commit is contained in:
Pekka Enberg
2024-05-09 07:17:40 -03:00
parent 3afc03cc65
commit 3f722d5827

View File

@@ -270,12 +270,9 @@ impl Program {
register_start,
register_end,
} => {
let mut values = Vec::with_capacity(*register_end - *register_start);
for i in *register_start..*register_end {
values.push(crate::types::to_value(&state.registers[i]));
}
let record = make_record(&state.registers, register_end, register_start);
state.pc += 1;
return Ok(StepResult::Row(Record::new(values)));
return Ok(StepResult::Row(record));
}
Insn::NextAsync { cursor_id } => {
let cursor = cursors.get_mut(cursor_id).unwrap();
@@ -342,6 +339,14 @@ impl Program {
}
}
fn make_record<'a>(registers: &'a [OwnedValue], register_end: &usize, register_start: &usize) -> Record<'a> {
let mut values = Vec::with_capacity(*register_end - *register_start);
for i in *register_start..*register_end {
values.push(crate::types::to_value(&registers[i]));
}
Record::new(values)
}
fn trace_insn(addr: usize, insn: &Insn) {
if !log::log_enabled!(log::Level::Trace) {
return;