@@ -186,9 +186,9 @@ pub(crate) fn convert_module_code(
186186 }
187187
188188 #[ cfg( feature = "validate" ) ]
189- let ( body, data, validator_allocs, reader_allocs) = match validator {
189+ let ( body, data, uses_local_memory , validator_allocs, reader_allocs) = match validator {
190190 Some ( validator) => {
191- let ( body, data, validator_allocs, reader_allocs) = process_operators_and_validate (
191+ let ( body, data, uses_local_memory , validator_allocs, reader_allocs) = process_operators_and_validate (
192192 validator,
193193 func,
194194 ( local_types, local_addr_map) ,
@@ -197,34 +197,38 @@ pub(crate) fn convert_module_code(
197197 reader_allocs,
198198 options. deduplicate_operands ( ) ,
199199 ) ?;
200- ( body, data, Some ( validator_allocs) , reader_allocs)
200+ ( body, data, uses_local_memory , Some ( validator_allocs) , reader_allocs)
201201 }
202202 None => {
203- let ( body, data, reader_allocs) = process_operators (
203+ let ( body, data, uses_local_memory , reader_allocs) = process_operators (
204204 func,
205205 ( local_types, local_addr_map) ,
206206 metadata,
207207 ty_idx,
208208 reader_allocs,
209209 options. deduplicate_operands ( ) ,
210210 ) ?;
211- ( body, data, None , reader_allocs)
211+ ( body, data, uses_local_memory , None , reader_allocs)
212212 }
213213 } ;
214214 #[ cfg( not( feature = "validate" ) ) ]
215- let ( body, data, validator_allocs, reader_allocs) = {
215+ let ( body, data, uses_local_memory , validator_allocs, reader_allocs) = {
216216 let _ = validator;
217- let ( body, data, reader_allocs) = process_operators (
217+ let ( body, data, uses_local_memory , reader_allocs) = process_operators (
218218 func,
219219 ( local_types, local_addr_map) ,
220220 metadata,
221221 ty_idx,
222222 reader_allocs,
223223 options. deduplicate_operands ( ) ,
224224 ) ?;
225- ( body, data, None , reader_allocs)
225+ ( body, data, uses_local_memory , None , reader_allocs)
226226 } ;
227- Ok ( ( FunctionCode { instructions : body, data, locals : local_counts } , validator_allocs, reader_allocs) )
227+ Ok ( (
228+ FunctionCode { instructions : body, data, locals : local_counts, uses_local_memory } ,
229+ validator_allocs,
230+ reader_allocs,
231+ ) )
228232}
229233
230234pub ( crate ) fn convert_rec_group ( ty : wasmparser:: RecGroup , group_start : u32 , types : & mut Vec < SubType > ) -> Result < u32 > {
0 commit comments