MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / make_cache

Function make_cache

crates/virtual-machine/src/memory/cache.rs:403–413  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

401 let base = self.next.ram_base();
402 for (set_idx, set) in self.sets.iter().enumerate() {
403 for line in &set.ways {
404 if line.valid && line.dirty {
405 let addr = self.line_base_address(line.tag, set_idx as u64);
406 let off = addr.wrapping_sub(base) as usize;
407 if addr >= base && off + line.data.len() <= buf.len() {
408 buf[off..off + line.data.len()].copy_from_slice(&line.data);
409 }
410 }
411 }
412 }
413 }
414 fn load_image(&mut self, bytes: &[u8]) {
415 self.next.load_image(bytes);
416 for set in &mut self.sets {

Callers 2

Calls

no outgoing calls

Tested by 2