From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- third_party/rust/wasmparser/tests/big-module.rs | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 third_party/rust/wasmparser/tests/big-module.rs (limited to 'third_party/rust/wasmparser/tests/big-module.rs') diff --git a/third_party/rust/wasmparser/tests/big-module.rs b/third_party/rust/wasmparser/tests/big-module.rs new file mode 100644 index 0000000000..d5cf37f4a4 --- /dev/null +++ b/third_party/rust/wasmparser/tests/big-module.rs @@ -0,0 +1,32 @@ +use wasm_encoder::*; +#[test] +fn big_type_indices() { + const N: u32 = 100_000; + let mut module = Module::new(); + let mut types = TypeSection::new(); + for _ in 0..N { + types.function([], []); + } + module.section(&types); + let mut funcs = FunctionSection::new(); + funcs.function(N - 1); + module.section(&funcs); + + let mut elems = ElementSection::new(); + elems.declared(RefType::FUNCREF, Elements::Functions(&[0])); + module.section(&elems); + + let mut code = CodeSection::new(); + let mut body = Function::new([]); + body.instruction(&Instruction::RefFunc(0)); + body.instruction(&Instruction::Drop); + body.instruction(&Instruction::End); + code.function(&body); + module.section(&code); + + let wasm = module.finish(); + + wasmparser::Validator::default() + .validate_all(&wasm) + .unwrap(); +} -- cgit v1.2.3