Skip to content

Commit 86f2607

Browse files
committed
fix memo table growth condition
1 parent cfa88e9 commit 86f2607

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/table/memo.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,14 @@ impl MemoTableWithTypes<'_> {
212212
) -> Option<NonNull<M>> {
213213
let memo_ingredient_index = memo_ingredient_index.as_usize();
214214
let mut memos = self.memos.memos.write();
215-
let additional_len = memo_ingredient_index - memos.len() + 1;
216-
memos.reserve(additional_len);
217-
while memos.len() < memo_ingredient_index + 1 {
218-
memos.push(MemoEntry::default());
215+
216+
// Grow the table if needed.
217+
if memos.len() <= memo_ingredient_index {
218+
let additional_len = memo_ingredient_index - memos.len() + 1;
219+
memos.reserve(additional_len);
220+
while memos.len() < memo_ingredient_index + 1 {
221+
memos.push(MemoEntry::default());
222+
}
219223
}
220224

221225
let memo_entry = &mut memos[memo_ingredient_index].atomic_memo;

0 commit comments

Comments
 (0)