Skip to content

Commit 5983fdc

Browse files
authored
fix hint condition bug (#1218)
addressed #1215
1 parent 096821a commit 5983fdc

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

ceno_zkvm/src/e2e.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -433,14 +433,15 @@ impl<'a> ShardContext<'a> {
433433
"addr {addr_raw:x} prev_cycle {prev_cycle}, is_heap {is_heap}, is_hint {is_hint}",
434434
);
435435
// 2. handle heap/hint initial reads outside the shard range.
436-
if !self.shard_heap_addr_range.contains(&addr_raw) {
437-
let prev_shard_id = if is_heap {
438-
self.extract_shard_id_by_heap_addr(addr_raw)
439-
} else if is_hint {
440-
self.extract_shard_id_by_hint_addr(addr_raw)
441-
} else {
442-
unreachable!()
443-
};
436+
let prev_shard_id = if is_heap && !self.shard_heap_addr_range.contains(&addr_raw) {
437+
Some(self.extract_shard_id_by_heap_addr(addr_raw))
438+
} else if is_hint && !self.shard_hint_addr_range.contains(&addr_raw) {
439+
Some(self.extract_shard_id_by_hint_addr(addr_raw))
440+
} else {
441+
// dynamic init in current shard, skip and do nothing
442+
None
443+
};
444+
if let Some(prev_shard_id) = prev_shard_id {
444445
let ram_record = self
445446
.read_records_tbs
446447
.as_mut()

0 commit comments

Comments
 (0)