attempt to correct list refcount generation in dev backends

This commit is contained in:
Brendan Hansknecht 2024-07-07 16:16:16 -07:00
parent 94fe0820d5
commit 36bc8bfac4
No known key found for this signature in database
GPG key ID: 0EA784685083E75B
9 changed files with 56 additions and 24 deletions

View file

@ -368,6 +368,17 @@ impl<'a> LowLevelCall<'a> {
backend.call_host_fn_after_loading_args(bitcode::LIST_DECREF);
}
ListElemDecFnPtr => {
let input_list: Symbol = self.arguments[0];
let list_layout = backend
.layout_interner
.get_repr(backend.storage.symbol_layouts[&input_list]);
let elem_in_layout = unwrap_list_elem_layout(list_layout);
let dec_fn_ptr = build_refcount_element_fn(backend, elem_in_layout, HelperOp::Dec);
backend.code_builder.i32_const(dec_fn_ptr);
}
ListMap | ListMap2 | ListMap3 | ListMap4 | ListSortWith => {
internal_error!("HigherOrder lowlevels should not be handled here")
}