From 5d0d61602f2dfa5478ef120a86a9009d74ac56bb Mon Sep 17 00:00:00 2001 From: Afonso Bordado Date: Thu, 25 Jul 2024 09:03:42 +0100 Subject: [PATCH] fuzzgen: Add stack map variables (#8941) --- cranelift/fuzzgen/src/function_generator.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cranelift/fuzzgen/src/function_generator.rs b/cranelift/fuzzgen/src/function_generator.rs index 61c110cc36bf..f6e5350e1e07 100644 --- a/cranelift/fuzzgen/src/function_generator.rs +++ b/cranelift/fuzzgen/src/function_generator.rs @@ -1898,6 +1898,14 @@ where let var = Variable::new(id); builder.declare_var(var, ty); builder.def_var(var, value); + + // Randomly declare variables as needing a stack map. + // We limit these to only types that have fewer than 16 bytes + // since the stack map mechanism does not support larger types. + if ty.bytes() <= 16 && self.u.arbitrary()? { + builder.declare_var_needs_stack_map(var); + } + self.resources .vars .entry(ty)