MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / check_multiblock

Function check_multiblock

hail-fuzz/src/load_resizer.rs:606–677  ·  view source on GitHub ↗
(blocks: [pcode::Block; 3], load_offset: usize, resize: Option<(u8, u8)>)

Source from the content-addressed store, hash-verified

604
605#[cfg(test)]
606fn check_multiblock(blocks: [pcode::Block; 3], load_offset: usize, resize: Option<(u8, u8)>) {
607 use icicle_vm::cpu::BlockKey;
608 use pcode::PcodeDisplay;
609
610 let sleigh = sleigh_runtime::SleighData::default();
611 for (block_id, block) in blocks.iter().enumerate() {
612 eprintln!("{block_id}:");
613 for (i, entry) in block.instructions.iter().enumerate() {
614 eprintln!("[{i}] {}", entry.display(&sleigh));
615 }
616 eprintln!("");
617 }
618
619 let [parent, fallthrough, jump] = blocks;
620
621 let mut code = BlockTable::default();
622 code.blocks.push(icicle_vm::cpu::lifter::Block {
623 pcode: parent,
624 entry: None,
625 start: 0x0,
626 end: 0x0,
627 context: 0x0,
628 exit: lifter::BlockExit::new(
629 pcode::VarNode::new(0x1000, 1).into(),
630 lifter::Target::External(0x2.into()),
631 lifter::Target::External(0x1.into()),
632 ),
633 breakpoints: 0x0,
634 num_instructions: 0x1,
635 });
636 code.map.insert(BlockKey { vaddr: 0x1, isa_mode: 0 }, BlockGroup {
637 blocks: (1, 2),
638 start: 0x1,
639 end: 0x2,
640 });
641 code.blocks.push(icicle_vm::cpu::lifter::Block {
642 pcode: fallthrough,
643 entry: None,
644 start: 0x1,
645 end: 0x0,
646 context: 0x0,
647 exit: lifter::BlockExit::invalid(),
648 breakpoints: 0x0,
649 num_instructions: 0x1,
650 });
651 code.map.insert(BlockKey { vaddr: 0x2, isa_mode: 0 }, BlockGroup {
652 blocks: (2, 3),
653 start: 0x2,
654 end: 0x3,
655 });
656 code.blocks.push(icicle_vm::cpu::lifter::Block {
657 pcode: jump,
658 entry: None,
659 start: 0x2,
660 end: 0x0,
661 context: 0x0,
662 exit: lifter::BlockExit::invalid(),
663 breakpoints: 0x0,

Callers 1

test_multiblockFunction · 0.85

Calls 1

get_loadsMethod · 0.80

Tested by 1

test_multiblockFunction · 0.68