Skip to content

Commit 1fb845d

Browse files
committed
Reuse validator allocations
1 parent 524e2d9 commit 1fb845d

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

packages/vm/src/static_analysis.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,15 @@ pub fn validate_wasm<'a>(
3333
..Default::default()
3434
});
3535

36+
let mut fun_allocations = Default::default();
3637
for p in Parser::new(0).parse_all(wasm_code) {
3738
let p = p?;
3839
// validate the payload
3940
if let ValidPayload::Func(fv, body) = validator.payload(&p)? {
4041
// also validate function bodies
41-
fv.into_validator(Default::default()).validate(&body)?;
42+
let mut fun_validator = fv.into_validator(fun_allocations);
43+
fun_validator.validate(&body)?;
44+
fun_allocations = fun_validator.into_allocations();
4245
}
4346
// tell caller about the payload
4447
handle_payload(p)?;

0 commit comments

Comments
 (0)