Singlular syscall context (#24204)
This commit is contained in:
@ -115,7 +115,8 @@ fn bench_program_alu(bencher: &mut Bencher) {
|
||||
Executable::<BpfError, ThisInstructionMeter>::jit_compile(&mut executable).unwrap();
|
||||
let compute_meter = invoke_context.get_compute_meter();
|
||||
let mut instruction_meter = ThisInstructionMeter { compute_meter };
|
||||
let mut vm = create_vm(&executable, &mut inner_iter, invoke_context, &[]).unwrap();
|
||||
invoke_context.set_orig_account_lengths(vec![]).unwrap();
|
||||
let mut vm = create_vm(&executable, &mut inner_iter, invoke_context).unwrap();
|
||||
|
||||
println!("Interpreted:");
|
||||
assert_eq!(
|
||||
@ -219,6 +220,9 @@ fn bench_create_vm(bencher: &mut Bencher) {
|
||||
.unwrap(),
|
||||
)
|
||||
.unwrap();
|
||||
invoke_context
|
||||
.set_orig_account_lengths(account_lengths)
|
||||
.unwrap();
|
||||
|
||||
let executable = Executable::<BpfError, ThisInstructionMeter>::from_elf(
|
||||
&elf,
|
||||
@ -229,13 +233,7 @@ fn bench_create_vm(bencher: &mut Bencher) {
|
||||
.unwrap();
|
||||
|
||||
bencher.iter(|| {
|
||||
let _ = create_vm(
|
||||
&executable,
|
||||
serialized.as_slice_mut(),
|
||||
invoke_context,
|
||||
&account_lengths,
|
||||
)
|
||||
.unwrap();
|
||||
let _ = create_vm(&executable, serialized.as_slice_mut(), invoke_context).unwrap();
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -270,13 +268,10 @@ fn bench_instruction_count_tuner(_bencher: &mut Bencher) {
|
||||
.unwrap();
|
||||
let compute_meter = invoke_context.get_compute_meter();
|
||||
let mut instruction_meter = ThisInstructionMeter { compute_meter };
|
||||
let mut vm = create_vm(
|
||||
&executable,
|
||||
serialized.as_slice_mut(),
|
||||
invoke_context,
|
||||
&account_lengths,
|
||||
)
|
||||
.unwrap();
|
||||
invoke_context
|
||||
.set_orig_account_lengths(account_lengths)
|
||||
.unwrap();
|
||||
let mut vm = create_vm(&executable, serialized.as_slice_mut(), invoke_context).unwrap();
|
||||
|
||||
let mut measure = Measure::start("tune");
|
||||
let _ = vm.execute_program_interpreted(&mut instruction_meter);
|
||||
|
@ -245,13 +245,11 @@ fn run_program(name: &str) -> u64 {
|
||||
.unwrap();
|
||||
let mut parameter_bytes = parameter_bytes.clone();
|
||||
{
|
||||
let mut vm = create_vm(
|
||||
&executable,
|
||||
parameter_bytes.as_slice_mut(),
|
||||
invoke_context,
|
||||
&account_lengths,
|
||||
)
|
||||
.unwrap();
|
||||
invoke_context
|
||||
.set_orig_account_lengths(account_lengths.clone())
|
||||
.unwrap();
|
||||
let mut vm =
|
||||
create_vm(&executable, parameter_bytes.as_slice_mut(), invoke_context).unwrap();
|
||||
let result = if i == 0 {
|
||||
vm.execute_program_interpreted(&mut instruction_meter)
|
||||
} else {
|
||||
@ -1418,7 +1416,7 @@ fn assert_instruction_count() {
|
||||
#[cfg(feature = "bpf_c")]
|
||||
{
|
||||
programs.extend_from_slice(&[
|
||||
("alloc", 1237),
|
||||
("alloc", 11502),
|
||||
("bpf_to_bpf", 313),
|
||||
("multiple_static", 208),
|
||||
("noop", 5),
|
||||
|
Reference in New Issue
Block a user