From 0f079c6a29bfb7e44d035c16e24a6a3d108d58c1 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Tue, 7 Oct 2025 16:04:31 +0200 Subject: [PATCH 01/30] [tools] Add minimal presubmit script Bug: 449893303 Change-Id: I2621ec4f20fa4fdec65c6aba9f1fb468b363fcde Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8643956 Reviewed-by: Pawel Krawczyk Reviewed-by: Michael Achenbach Commit-Queue: Matthias Liedtke Auto-Submit: Matthias Liedtke --- .github/workflows/swift.yml | 7 ++++++ Tools/presubmit.py | 49 +++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Tools/presubmit.py diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index d2822a14b..302f577f4 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -34,6 +34,13 @@ jobs: - uses: actions/checkout@v2 - name: Build run: swift build -c ${{ matrix.kind }} -v + - name: Install protobuf + # Install protoc so the presubmit can also validate the generated *.pb.swift files. + if: ${{ matrix.os == 'ubuntu-latest' && matrix.kind == 'debug' }} + run: sudo apt install -y protobuf-compiler + - name: Run presubmit checks + if: ${{ matrix.os == 'ubuntu-latest' && matrix.kind == 'debug' }} + run: python3 Tools/presubmit.py - name: Run tests with Node.js run: swift test -c ${{ matrix.kind }} -v - name: Install jsvu diff --git a/Tools/presubmit.py b/Tools/presubmit.py new file mode 100644 index 000000000..2fd903e52 --- /dev/null +++ b/Tools/presubmit.py @@ -0,0 +1,49 @@ +import os +import shutil +import subprocess + +KNOWN_PROTO_FILES = [ + "program.proto", + "operations.proto", + "sync.proto", + "ast.proto" +] + +def check_git_clean(): + """Check that the git repository does not have any uncommitted changes.""" + result = subprocess.run(["git", "status", "--porcelain", "--untracked-files=no"], capture_output=True, check=True) + assert result.stdout.decode().strip() == "", f"Unexpected modified files: {result.stdout.decode()}" + +def check_proto(): + """Check that program.proto is up-to-date.""" + print("Checking generated protobuf files...") + proto_dir = "Sources/Fuzzilli/Protobuf" + subprocess.run(["python3", "./gen_programproto.py"], cwd=proto_dir, check=True) + # gen_programproto.py should be a no-op. + check_git_clean() + + if not shutil.which("protoc"): + print("Skipping protobuf validation as protoc is not available.") + return + + swift_protobuf_path = os.getcwd() + "/.build/checkouts/swift-protobuf" + assert os.path.exists(swift_protobuf_path), \ + "The presubmit requires a swift-protobuf checkout, e.g. via \"swift build\"" + # Build swift-protobuf (for simplicity reuse the fetched repository from the swift-protobuf library). + # Use a debug build as running it is very quick while building it with reelase might be slow. + subprocess.run(["swift", "build", "-c", "debug"], cwd=swift_protobuf_path, check=True) + env = os.environ.copy() + env["PATH"] = f"{swift_protobuf_path}/.build/debug:" + env["PATH"] + cmd = ["protoc", "--swift_opt=Visibility=Public", "--swift_out=."] + KNOWN_PROTO_FILES + subprocess.run(cmd, cwd=proto_dir, check=True, env=env) + # Regenerating the protobuf files should be a no-op. + check_git_clean() + +def main(): + check_git_clean() + check_proto() + # TODO(mliedtke): Ensure formatting delta is zero once we enable automated formatting. + + +if __name__ == '__main__': + main() From 88d0e33041bea3f57a573b10bc4503df279dda74 Mon Sep 17 00:00:00 2001 From: Pawel Krawczyk Date: Thu, 9 Oct 2025 10:49:16 +0000 Subject: [PATCH 02/30] Add support for table.init and table.copy instructions. Bug: 427115604 Change-Id: I0a79b5dc133a09c1ec84b78b966bc6c27d9aa3f2 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8643536 Auto-Submit: Pawel Krawczyk Commit-Queue: Matthias Liedtke Reviewed-by: Matthias Liedtke --- Sources/Fuzzilli/Base/ProgramBuilder.swift | 29 +- .../Fuzzilli/CodeGen/WasmCodeGenerators.swift | 12 +- Sources/Fuzzilli/FuzzIL/JSTyper.swift | 5 +- Sources/Fuzzilli/FuzzIL/WasmOperations.swift | 2 +- Sources/Fuzzilli/Protobuf/program.pb.swift | 1374 ++++++++--------- Sources/Fuzzilli/Protobuf/program.proto | 592 +++---- Tests/FuzzilliTests/WasmTests.swift | 100 +- 7 files changed, 1106 insertions(+), 1008 deletions(-) diff --git a/Sources/Fuzzilli/Base/ProgramBuilder.swift b/Sources/Fuzzilli/Base/ProgramBuilder.swift index e8990e253..d6cf99689 100644 --- a/Sources/Fuzzilli/Base/ProgramBuilder.swift +++ b/Sources/Fuzzilli/Base/ProgramBuilder.swift @@ -3823,17 +3823,20 @@ public class ProgramBuilder { } public func wasmTableInit(elementSegment: Variable, table: Variable, tableOffset: Variable, elementSegmentOffset: Variable, nrOfElementsToUpdate: Variable) { - // TODO: b/427115604 - assert that table.elemType IS_SUBTYPE_OF elementSegment.elemType (depending on refactor outcome). + let elementSegmentType = ILType.wasmFuncRef + let tableElemType = b.type(of: table).wasmTableType!.elementType + assert(elementSegmentType.Is(tableElemType)) + let addrType = b.type(of: table).wasmTableType!.isTable64 ? ILType.wasmi64 : ILType.wasmi32 b.emit(WasmTableInit(), withInputs: [elementSegment, table, tableOffset, elementSegmentOffset, nrOfElementsToUpdate], - types: [.wasmElementSegment(), .object(ofGroup: "WasmTable"), addrType, addrType, addrType]) + types: [.wasmElementSegment(), .object(ofGroup: "WasmTable"), addrType, .wasmi32, .wasmi32]) } public func wasmTableCopy(dstTable: Variable, srcTable: Variable, dstOffset: Variable, srcOffset: Variable, count: Variable) { - // TODO: b/427115604 - assert that srcTable.elemType IS_SUBTYPE_OF dstTable.elemType (depending on refactor outcome). let dstTableType = b.type(of: dstTable).wasmTableType! let srcTableType = b.type(of: srcTable).wasmTableType! assert(dstTableType.isTable64 == srcTableType.isTable64) + assert(srcTableType.elementType.Is(dstTableType.elementType)) let addrType = dstTableType.isTable64 ? ILType.wasmi64 : ILType.wasmi32 b.emit(WasmTableCopy(), withInputs: [dstTable, srcTable, dstOffset, srcOffset, count], @@ -4354,21 +4357,27 @@ public class ProgramBuilder { @discardableResult public func addTable(elementType: ILType, minSize: Int, maxSize: Int? = nil, definedEntries: [WasmTableType.IndexInTableAndWasmSignature] = [], definedEntryValues: [Variable] = [], isTable64: Bool) -> Variable { - let inputTypes = if elementType == .wasmFuncRef { - Array(repeating: .wasmFunctionDef() | .function(), count: definedEntries.count) - } else { - [ILType]() - } + let inputTypes = Array(repeating: getEntryTypeForTable(elementType: elementType), count: definedEntries.count) return b.emit(WasmDefineTable(elementType: elementType, limits: Limits(min: minSize, max: maxSize), definedEntries: definedEntries, isTable64: isTable64), withInputs: definedEntryValues, types: inputTypes).output } @discardableResult - public func addElementSegment(elementsType: ILType, elements: [Variable]) -> Variable { - let inputTypes = Array(repeating: elementsType, count: elements.count) + public func addElementSegment(elements: [Variable]) -> Variable { + let inputTypes = Array(repeating: getEntryTypeForTable(elementType: ILType.wasmFuncRef), count: elements.count) return b.emit(WasmDefineElementSegment(size: UInt32(elements.count)), withInputs: elements, types: inputTypes).output } + public func getEntryTypeForTable(elementType: ILType) -> ILType { + switch elementType { + case .wasmFuncRef: + return .wasmFunctionDef() | .function() + default: + return .object() + } + } + + // This result can be ignored right now, as we can only define one memory per module // Also this should be tracked like a global / table. @discardableResult diff --git a/Sources/Fuzzilli/CodeGen/WasmCodeGenerators.swift b/Sources/Fuzzilli/CodeGen/WasmCodeGenerators.swift index 685cb0c0f..865b94a7a 100644 --- a/Sources/Fuzzilli/CodeGen/WasmCodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/WasmCodeGenerators.swift @@ -632,9 +632,7 @@ public let WasmCodeGenerators: [CodeGenerator] = [ // For funcref tables, we need to look for functions to populate the entries. // These are going to be either wasm function definitions (.wasmFunctionDef()) or JS functions (.function()). // TODO(manoskouk): When we have support for constant expressions, consider looking for .wasmFuncRef instead. - let expectedEntryType = - elementType == .wasmFuncRef - ? .wasmFunctionDef() | .function() : .object() + let expectedEntryType = module.getEntryTypeForTable(elementType: elementType) // Currently, only generate entries for funcref tables. // TODO(manoskouk): Generalize this. @@ -667,13 +665,13 @@ public let WasmCodeGenerators: [CodeGenerator] = [ }, CodeGenerator("WasmDefineElementSegmentGenerator", inContext: .single(.wasm)) { b in - let elementsType: ILType = .wasmFunctionDef() | .function() - if b.randomVariable(ofType: elementsType) == nil { + let expectedEntryType = b.currentWasmModule.getEntryTypeForTable(elementType: ILType.wasmFuncRef) + if b.randomVariable(ofType: expectedEntryType) == nil { return } - var elements: [Variable] = (0...Int.random(in: 0...8)).map {_ in b.randomVariable(ofType: elementsType)!} - b.currentWasmModule.addElementSegment(elementsType: elementsType, elements: elements) + var elements: [Variable] = (0...Int.random(in: 0...8)).map {_ in b.randomVariable(ofType: expectedEntryType)!} + b.currentWasmModule.addElementSegment(elements: elements) }, CodeGenerator("WasmDropElementSegmentGenerator", inContext: .single(.wasmFunction), inputs: .required(.wasmElementSegment())) { b, elementSegment in diff --git a/Sources/Fuzzilli/FuzzIL/JSTyper.swift b/Sources/Fuzzilli/FuzzIL/JSTyper.swift index 6157ea39d..63a3ed41a 100644 --- a/Sources/Fuzzilli/FuzzIL/JSTyper.swift +++ b/Sources/Fuzzilli/FuzzIL/JSTyper.swift @@ -728,8 +728,9 @@ public struct JSTyper: Analyzer { type(of: instr.input(0)).wasmElementSegmentType!.markAsDropped() case .wasmTableInit(_), .wasmTableCopy(_): - // TODO(427115604): - implement both init and copy instructions. - break + let definingInstruction = defUseAnalyzer.definition(of: instr.input(0)) + dynamicObjectGroupManager.addWasmTable(withType: type(of: instr.input(0)), forDefinition: definingInstruction, forVariable: instr.input(0)) + // Ignore changed function signatures - it is too hard to reason about them statically. case .wasmDefineMemory(let op): setType(of: instr.output, to: op.wasmMemory) registerWasmMemoryUse(for: instr.output) diff --git a/Sources/Fuzzilli/FuzzIL/WasmOperations.swift b/Sources/Fuzzilli/FuzzIL/WasmOperations.swift index c05115eba..bed8bd6ae 100644 --- a/Sources/Fuzzilli/FuzzIL/WasmOperations.swift +++ b/Sources/Fuzzilli/FuzzIL/WasmOperations.swift @@ -813,7 +813,7 @@ final class WasmDefineTable: WasmOperation { final class WasmDefineElementSegment: WasmOperation { override var opcode: Opcode { .wasmDefineElementSegment(self) } - public let size: UInt32 + let size: UInt32 init(size: UInt32) { self.size = size diff --git a/Sources/Fuzzilli/Protobuf/program.pb.swift b/Sources/Fuzzilli/Protobuf/program.pb.swift index e13009f1f..bf4e21f82 100644 --- a/Sources/Fuzzilli/Protobuf/program.pb.swift +++ b/Sources/Fuzzilli/Protobuf/program.pb.swift @@ -353,6 +353,22 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { set {operation = .endClassInstanceMethod(newValue)} } + public var beginClassInstanceComputedMethod: Fuzzilli_Protobuf_BeginClassInstanceComputedMethod { + get { + if case .beginClassInstanceComputedMethod(let v)? = operation {return v} + return Fuzzilli_Protobuf_BeginClassInstanceComputedMethod() + } + set {operation = .beginClassInstanceComputedMethod(newValue)} + } + + public var endClassInstanceComputedMethod: Fuzzilli_Protobuf_EndClassInstanceComputedMethod { + get { + if case .endClassInstanceComputedMethod(let v)? = operation {return v} + return Fuzzilli_Protobuf_EndClassInstanceComputedMethod() + } + set {operation = .endClassInstanceComputedMethod(newValue)} + } + public var beginClassInstanceGetter: Fuzzilli_Protobuf_BeginClassInstanceGetter { get { if case .beginClassInstanceGetter(let v)? = operation {return v} @@ -441,6 +457,22 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { set {operation = .endClassStaticMethod(newValue)} } + public var beginClassStaticComputedMethod: Fuzzilli_Protobuf_BeginClassStaticComputedMethod { + get { + if case .beginClassStaticComputedMethod(let v)? = operation {return v} + return Fuzzilli_Protobuf_BeginClassStaticComputedMethod() + } + set {operation = .beginClassStaticComputedMethod(newValue)} + } + + public var endClassStaticComputedMethod: Fuzzilli_Protobuf_EndClassStaticComputedMethod { + get { + if case .endClassStaticComputedMethod(let v)? = operation {return v} + return Fuzzilli_Protobuf_EndClassStaticComputedMethod() + } + set {operation = .endClassStaticComputedMethod(newValue)} + } + public var beginClassStaticGetter: Fuzzilli_Protobuf_BeginClassStaticGetter { get { if case .beginClassStaticGetter(let v)? = operation {return v} @@ -2689,38 +2721,6 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { set {operation = .createNamedAsyncDisposableVariable(newValue)} } - public var beginClassInstanceComputedMethod: Fuzzilli_Protobuf_BeginClassInstanceComputedMethod { - get { - if case .beginClassInstanceComputedMethod(let v)? = operation {return v} - return Fuzzilli_Protobuf_BeginClassInstanceComputedMethod() - } - set {operation = .beginClassInstanceComputedMethod(newValue)} - } - - public var endClassInstanceComputedMethod: Fuzzilli_Protobuf_EndClassInstanceComputedMethod { - get { - if case .endClassInstanceComputedMethod(let v)? = operation {return v} - return Fuzzilli_Protobuf_EndClassInstanceComputedMethod() - } - set {operation = .endClassInstanceComputedMethod(newValue)} - } - - public var beginClassStaticComputedMethod: Fuzzilli_Protobuf_BeginClassStaticComputedMethod { - get { - if case .beginClassStaticComputedMethod(let v)? = operation {return v} - return Fuzzilli_Protobuf_BeginClassStaticComputedMethod() - } - set {operation = .beginClassStaticComputedMethod(newValue)} - } - - public var endClassStaticComputedMethod: Fuzzilli_Protobuf_EndClassStaticComputedMethod { - get { - if case .endClassStaticComputedMethod(let v)? = operation {return v} - return Fuzzilli_Protobuf_EndClassStaticComputedMethod() - } - set {operation = .endClassStaticComputedMethod(newValue)} - } - public var unknownFields = SwiftProtobuf.UnknownStorage() public enum OneOf_Operation: Equatable, Sendable { @@ -2762,6 +2762,8 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { case classAddInstanceComputedProperty(Fuzzilli_Protobuf_ClassAddInstanceComputedProperty) case beginClassInstanceMethod(Fuzzilli_Protobuf_BeginClassInstanceMethod) case endClassInstanceMethod(Fuzzilli_Protobuf_EndClassInstanceMethod) + case beginClassInstanceComputedMethod(Fuzzilli_Protobuf_BeginClassInstanceComputedMethod) + case endClassInstanceComputedMethod(Fuzzilli_Protobuf_EndClassInstanceComputedMethod) case beginClassInstanceGetter(Fuzzilli_Protobuf_BeginClassInstanceGetter) case endClassInstanceGetter(Fuzzilli_Protobuf_EndClassInstanceGetter) case beginClassInstanceSetter(Fuzzilli_Protobuf_BeginClassInstanceSetter) @@ -2773,6 +2775,8 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { case endClassStaticInitializer(Fuzzilli_Protobuf_EndClassStaticInitializer) case beginClassStaticMethod(Fuzzilli_Protobuf_BeginClassStaticMethod) case endClassStaticMethod(Fuzzilli_Protobuf_EndClassStaticMethod) + case beginClassStaticComputedMethod(Fuzzilli_Protobuf_BeginClassStaticComputedMethod) + case endClassStaticComputedMethod(Fuzzilli_Protobuf_EndClassStaticComputedMethod) case beginClassStaticGetter(Fuzzilli_Protobuf_BeginClassStaticGetter) case endClassStaticGetter(Fuzzilli_Protobuf_EndClassStaticGetter) case beginClassStaticSetter(Fuzzilli_Protobuf_BeginClassStaticSetter) @@ -3054,10 +3058,6 @@ public struct Fuzzilli_Protobuf_Instruction: Sendable { case wasmDefineSignatureType(Fuzzilli_Protobuf_WasmDefineSignatureType) case createNamedDisposableVariable(Fuzzilli_Protobuf_CreateNamedDisposableVariable) case createNamedAsyncDisposableVariable(Fuzzilli_Protobuf_CreateNamedAsyncDisposableVariable) - case beginClassInstanceComputedMethod(Fuzzilli_Protobuf_BeginClassInstanceComputedMethod) - case endClassInstanceComputedMethod(Fuzzilli_Protobuf_EndClassInstanceComputedMethod) - case beginClassStaticComputedMethod(Fuzzilli_Protobuf_BeginClassStaticComputedMethod) - case endClassStaticComputedMethod(Fuzzilli_Protobuf_EndClassStaticComputedMethod) } @@ -3106,7 +3106,7 @@ fileprivate let _protobuf_package = "fuzzilli.protobuf" extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".Instruction" - public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}inouts\0\u{1}opIdx\0\u{1}nop\0\u{1}loadInteger\0\u{1}loadBigInt\0\u{1}loadFloat\0\u{1}loadString\0\u{1}loadBoolean\0\u{1}loadUndefined\0\u{1}loadNull\0\u{1}loadThis\0\u{1}loadArguments\0\u{1}createNamedVariable\0\u{1}loadDisposableVariable\0\u{1}loadAsyncDisposableVariable\0\u{1}loadRegExp\0\u{1}beginObjectLiteral\0\u{1}objectLiteralAddProperty\0\u{1}objectLiteralAddElement\0\u{1}objectLiteralAddComputedProperty\0\u{1}objectLiteralCopyProperties\0\u{1}objectLiteralSetPrototype\0\u{1}beginObjectLiteralMethod\0\u{1}endObjectLiteralMethod\0\u{1}beginObjectLiteralComputedMethod\0\u{1}endObjectLiteralComputedMethod\0\u{1}beginObjectLiteralGetter\0\u{1}endObjectLiteralGetter\0\u{1}beginObjectLiteralSetter\0\u{1}endObjectLiteralSetter\0\u{1}endObjectLiteral\0\u{1}beginClassDefinition\0\u{1}beginClassConstructor\0\u{1}endClassConstructor\0\u{1}classAddInstanceProperty\0\u{1}classAddInstanceElement\0\u{1}classAddInstanceComputedProperty\0\u{1}beginClassInstanceMethod\0\u{1}endClassInstanceMethod\0\u{1}beginClassInstanceGetter\0\u{1}endClassInstanceGetter\0\u{1}beginClassInstanceSetter\0\u{1}endClassInstanceSetter\0\u{1}classAddStaticProperty\0\u{1}classAddStaticElement\0\u{1}classAddStaticComputedProperty\0\u{1}beginClassStaticInitializer\0\u{1}endClassStaticInitializer\0\u{1}beginClassStaticMethod\0\u{1}endClassStaticMethod\0\u{1}beginClassStaticGetter\0\u{1}endClassStaticGetter\0\u{1}beginClassStaticSetter\0\u{1}endClassStaticSetter\0\u{1}classAddPrivateInstanceProperty\0\u{1}beginClassPrivateInstanceMethod\0\u{1}endClassPrivateInstanceMethod\0\u{1}classAddPrivateStaticProperty\0\u{1}beginClassPrivateStaticMethod\0\u{1}endClassPrivateStaticMethod\0\u{1}endClassDefinition\0\u{1}createArray\0\u{1}createIntArray\0\u{1}createFloatArray\0\u{1}createArrayWithSpread\0\u{1}createTemplateString\0\u{1}getProperty\0\u{1}setProperty\0\u{1}updateProperty\0\u{1}deleteProperty\0\u{1}configureProperty\0\u{1}getElement\0\u{1}setElement\0\u{1}updateElement\0\u{1}deleteElement\0\u{1}configureElement\0\u{1}getComputedProperty\0\u{1}setComputedProperty\0\u{1}updateComputedProperty\0\u{1}deleteComputedProperty\0\u{1}configureComputedProperty\0\u{1}typeOf\0\u{1}void\0\u{1}testInstanceOf\0\u{1}testIn\0\u{1}beginPlainFunction\0\u{1}endPlainFunction\0\u{1}beginArrowFunction\0\u{1}endArrowFunction\0\u{1}beginGeneratorFunction\0\u{1}endGeneratorFunction\0\u{1}beginAsyncFunction\0\u{1}endAsyncFunction\0\u{1}beginAsyncArrowFunction\0\u{1}endAsyncArrowFunction\0\u{1}beginAsyncGeneratorFunction\0\u{1}endAsyncGeneratorFunction\0\u{1}beginConstructor\0\u{1}endConstructor\0\u{1}directive\0\u{1}return\0\u{1}yield\0\u{1}yieldEach\0\u{1}await\0\u{1}callFunction\0\u{1}callFunctionWithSpread\0\u{1}construct\0\u{1}constructWithSpread\0\u{1}callMethod\0\u{1}callMethodWithSpread\0\u{1}callComputedMethod\0\u{1}callComputedMethodWithSpread\0\u{1}unaryOperation\0\u{1}binaryOperation\0\u{1}ternaryOperation\0\u{1}update\0\u{1}dup\0\u{1}reassign\0\u{1}destructArray\0\u{1}destructArrayAndReassign\0\u{1}destructObject\0\u{1}destructObjectAndReassign\0\u{1}compare\0\u{1}eval\0\u{1}beginWith\0\u{1}endWith\0\u{1}callSuperConstructor\0\u{1}callSuperMethod\0\u{1}getPrivateProperty\0\u{1}setPrivateProperty\0\u{1}updatePrivateProperty\0\u{1}callPrivateMethod\0\u{1}getSuperProperty\0\u{1}setSuperProperty\0\u{1}getComputedSuperProperty\0\u{1}setComputedSuperProperty\0\u{1}updateSuperProperty\0\u{1}beginIf\0\u{1}beginElse\0\u{1}endIf\0\u{1}beginWhileLoopHeader\0\u{1}beginWhileLoopBody\0\u{1}endWhileLoop\0\u{1}beginDoWhileLoopBody\0\u{1}beginDoWhileLoopHeader\0\u{1}endDoWhileLoop\0\u{1}beginForLoopInitializer\0\u{1}beginForLoopCondition\0\u{1}beginForLoopAfterthought\0\u{1}beginForLoopBody\0\u{1}endForLoop\0\u{1}beginForInLoop\0\u{1}endForInLoop\0\u{1}beginForOfLoop\0\u{1}beginForOfLoopWithDestruct\0\u{1}endForOfLoop\0\u{1}beginRepeatLoop\0\u{1}endRepeatLoop\0\u{1}loopBreak\0\u{1}loopContinue\0\u{1}beginTry\0\u{1}beginCatch\0\u{1}beginFinally\0\u{1}endTryCatchFinally\0\u{1}throwException\0\u{1}beginCodeString\0\u{1}endCodeString\0\u{1}beginBlockStatement\0\u{1}endBlockStatement\0\u{1}beginSwitch\0\u{1}beginSwitchCase\0\u{1}beginSwitchDefaultCase\0\u{1}endSwitchCase\0\u{1}endSwitch\0\u{1}switchBreak\0\u{1}loadNewTarget\0\u{1}print\0\u{1}explore\0\u{1}probe\0\u{1}fixup\0\u{1}beginWasmModule\0\u{1}endWasmModule\0\u{1}createWasmGlobal\0\u{1}createWasmMemory\0\u{1}createWasmTable\0\u{1}createWasmJSTag\0\u{1}createWasmTag\0\u{1}wrapPromising\0\u{1}wrapSuspending\0\u{1}bindMethod\0\u{1}bindFunction\0\u{1}consti64\0\u{1}consti32\0\u{1}constf32\0\u{1}constf64\0\u{1}wasmReturn\0\u{1}wasmJsCall\0\u{1}wasmi32CompareOp\0\u{1}wasmi64CompareOp\0\u{1}wasmf32CompareOp\0\u{1}wasmf64CompareOp\0\u{1}wasmi32EqualZero\0\u{1}wasmi64EqualZero\0\u{1}wasmi32BinOp\0\u{1}wasmi64BinOp\0\u{1}wasmi32UnOp\0\u{1}wasmi64UnOp\0\u{1}wasmf32BinOp\0\u{1}wasmf64BinOp\0\u{1}wasmf32UnOp\0\u{1}wasmf64UnOp\0\u{1}wasmWrapi64Toi32\0\u{1}wasmTruncatef32Toi32\0\u{1}wasmTruncatef64Toi32\0\u{1}wasmExtendi32Toi64\0\u{1}wasmTruncatef32Toi64\0\u{1}wasmTruncatef64Toi64\0\u{1}wasmConverti32Tof32\0\u{1}wasmConverti64Tof32\0\u{1}wasmDemotef64Tof32\0\u{1}wasmConverti32Tof64\0\u{1}wasmConverti64Tof64\0\u{1}wasmPromotef32Tof64\0\u{1}wasmReinterpretf32Asi32\0\u{1}wasmReinterpretf64Asi64\0\u{1}wasmReinterpreti32Asf32\0\u{1}wasmReinterpreti64Asf64\0\u{1}wasmSignExtend8Intoi32\0\u{1}wasmSignExtend16Intoi32\0\u{1}wasmSignExtend8Intoi64\0\u{1}wasmSignExtend16Intoi64\0\u{1}wasmSignExtend32Intoi64\0\u{1}wasmTruncateSatf32Toi32\0\u{1}wasmTruncateSatf64Toi32\0\u{1}wasmTruncateSatf32Toi64\0\u{1}wasmTruncateSatf64Toi64\0\u{1}wasmReassign\0\u{1}wasmDefineGlobal\0\u{1}wasmDefineTable\0\u{1}wasmDefineMemory\0\u{1}wasmDefineDataSegment\0\u{1}wasmLoadGlobal\0\u{1}wasmStoreGlobal\0\u{1}wasmTableGet\0\u{1}wasmTableSet\0\u{1}wasmTableSize\0\u{1}wasmTableGrow\0\u{1}wasmCallIndirect\0\u{1}wasmCallDirect\0\u{1}wasmReturnCallDirect\0\u{1}wasmReturnCallIndirect\0\u{1}wasmMemoryLoad\0\u{1}wasmMemoryStore\0\u{1}wasmAtomicLoad\0\u{1}wasmAtomicStore\0\u{1}wasmAtomicRMW\0\u{1}wasmAtomicCmpxchg\0\u{1}wasmMemorySize\0\u{1}wasmMemoryGrow\0\u{1}wasmMemoryFill\0\u{1}wasmMemoryInit\0\u{1}wasmDropDataSegment\0\u{1}beginWasmFunction\0\u{1}endWasmFunction\0\u{1}wasmBeginBlock\0\u{1}wasmEndBlock\0\u{1}wasmBeginLoop\0\u{1}wasmEndLoop\0\u{1}wasmBranch\0\u{1}wasmBranchIf\0\u{1}wasmBranchTable\0\u{1}wasmNop\0\u{1}wasmBeginIf\0\u{1}wasmBeginElse\0\u{1}wasmEndIf\0\u{1}wasmBeginTryTable\0\u{1}wasmEndTryTable\0\u{1}wasmBeginTry\0\u{1}wasmBeginCatchAll\0\u{1}wasmBeginCatch\0\u{1}wasmEndTry\0\u{1}wasmBeginTryDelegate\0\u{1}wasmEndTryDelegate\0\u{1}wasmThrow\0\u{1}wasmRethrow\0\u{1}wasmThrowRef\0\u{1}wasmDefineTag\0\u{1}constSimd128\0\u{1}wasmSimd128Compare\0\u{1}wasmSimd128IntegerUnOp\0\u{1}wasmSimd128IntegerBinOp\0\u{1}wasmSimd128IntegerTernaryOp\0\u{1}wasmSimd128FloatUnOp\0\u{1}wasmSimd128FloatBinOp\0\u{1}wasmSimd128FloatTernaryOp\0\u{1}wasmSimdSplat\0\u{1}wasmSimdExtractLane\0\u{1}wasmSimdReplaceLane\0\u{1}wasmSimdStoreLane\0\u{1}wasmSimdLoadLane\0\u{1}wasmSimdLoad\0\u{1}wasmUnreachable\0\u{1}wasmSelect\0\u{1}wasmBeginTypeGroup\0\u{1}wasmEndTypeGroup\0\u{1}wasmDefineArrayType\0\u{1}wasmDefineStructType\0\u{1}wasmDefineForwardOrSelfReference\0\u{1}wasmResolveForwardReference\0\u{1}wasmArrayNewFixed\0\u{1}wasmArrayNewDefault\0\u{1}wasmArrayLen\0\u{1}wasmArrayGet\0\u{1}wasmArraySet\0\u{1}wasmStructNewDefault\0\u{1}wasmStructGet\0\u{1}wasmStructSet\0\u{1}wasmRefNull\0\u{1}wasmRefIsNull\0\u{1}wasmRefI31\0\u{1}wasmI31Get\0\u{1}wasmAnyConvertExtern\0\u{1}wasmExternConvertAny\0\u{1}wasmMemoryCopy\0\u{1}wasmDefineElementSegment\0\u{1}wasmTableInit\0\u{1}wasmDropElementSegment\0\u{1}wasmTableCopy\0\u{1}wasmDefineSignatureType\0\u{1}createNamedDisposableVariable\0\u{1}createNamedAsyncDisposableVariable\0\u{1}beginClassInstanceComputedMethod\0\u{1}endClassInstanceComputedMethod\0\u{1}beginClassStaticComputedMethod\0\u{1}endClassStaticComputedMethod\0") + public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}inouts\0\u{1}opIdx\0\u{1}nop\0\u{1}loadInteger\0\u{1}loadBigInt\0\u{1}loadFloat\0\u{1}loadString\0\u{1}loadBoolean\0\u{1}loadUndefined\0\u{1}loadNull\0\u{1}loadThis\0\u{1}loadArguments\0\u{1}createNamedVariable\0\u{1}loadDisposableVariable\0\u{1}loadAsyncDisposableVariable\0\u{1}loadRegExp\0\u{1}beginObjectLiteral\0\u{1}objectLiteralAddProperty\0\u{1}objectLiteralAddElement\0\u{1}objectLiteralAddComputedProperty\0\u{1}objectLiteralCopyProperties\0\u{1}objectLiteralSetPrototype\0\u{1}beginObjectLiteralMethod\0\u{1}endObjectLiteralMethod\0\u{1}beginObjectLiteralComputedMethod\0\u{1}endObjectLiteralComputedMethod\0\u{1}beginObjectLiteralGetter\0\u{1}endObjectLiteralGetter\0\u{1}beginObjectLiteralSetter\0\u{1}endObjectLiteralSetter\0\u{1}endObjectLiteral\0\u{1}beginClassDefinition\0\u{1}beginClassConstructor\0\u{1}endClassConstructor\0\u{1}classAddInstanceProperty\0\u{1}classAddInstanceElement\0\u{1}classAddInstanceComputedProperty\0\u{1}beginClassInstanceMethod\0\u{1}endClassInstanceMethod\0\u{1}beginClassInstanceComputedMethod\0\u{1}endClassInstanceComputedMethod\0\u{1}beginClassInstanceGetter\0\u{1}endClassInstanceGetter\0\u{1}beginClassInstanceSetter\0\u{1}endClassInstanceSetter\0\u{1}classAddStaticProperty\0\u{1}classAddStaticElement\0\u{1}classAddStaticComputedProperty\0\u{1}beginClassStaticInitializer\0\u{1}endClassStaticInitializer\0\u{1}beginClassStaticMethod\0\u{1}endClassStaticMethod\0\u{1}beginClassStaticComputedMethod\0\u{1}endClassStaticComputedMethod\0\u{1}beginClassStaticGetter\0\u{1}endClassStaticGetter\0\u{1}beginClassStaticSetter\0\u{1}endClassStaticSetter\0\u{1}classAddPrivateInstanceProperty\0\u{1}beginClassPrivateInstanceMethod\0\u{1}endClassPrivateInstanceMethod\0\u{1}classAddPrivateStaticProperty\0\u{1}beginClassPrivateStaticMethod\0\u{1}endClassPrivateStaticMethod\0\u{1}endClassDefinition\0\u{1}createArray\0\u{1}createIntArray\0\u{1}createFloatArray\0\u{1}createArrayWithSpread\0\u{1}createTemplateString\0\u{1}getProperty\0\u{1}setProperty\0\u{1}updateProperty\0\u{1}deleteProperty\0\u{1}configureProperty\0\u{1}getElement\0\u{1}setElement\0\u{1}updateElement\0\u{1}deleteElement\0\u{1}configureElement\0\u{1}getComputedProperty\0\u{1}setComputedProperty\0\u{1}updateComputedProperty\0\u{1}deleteComputedProperty\0\u{1}configureComputedProperty\0\u{1}typeOf\0\u{1}void\0\u{1}testInstanceOf\0\u{1}testIn\0\u{1}beginPlainFunction\0\u{1}endPlainFunction\0\u{1}beginArrowFunction\0\u{1}endArrowFunction\0\u{1}beginGeneratorFunction\0\u{1}endGeneratorFunction\0\u{1}beginAsyncFunction\0\u{1}endAsyncFunction\0\u{1}beginAsyncArrowFunction\0\u{1}endAsyncArrowFunction\0\u{1}beginAsyncGeneratorFunction\0\u{1}endAsyncGeneratorFunction\0\u{1}beginConstructor\0\u{1}endConstructor\0\u{1}directive\0\u{1}return\0\u{1}yield\0\u{1}yieldEach\0\u{1}await\0\u{1}callFunction\0\u{1}callFunctionWithSpread\0\u{1}construct\0\u{1}constructWithSpread\0\u{1}callMethod\0\u{1}callMethodWithSpread\0\u{1}callComputedMethod\0\u{1}callComputedMethodWithSpread\0\u{1}unaryOperation\0\u{1}binaryOperation\0\u{1}ternaryOperation\0\u{1}update\0\u{1}dup\0\u{1}reassign\0\u{1}destructArray\0\u{1}destructArrayAndReassign\0\u{1}destructObject\0\u{1}destructObjectAndReassign\0\u{1}compare\0\u{1}eval\0\u{1}beginWith\0\u{1}endWith\0\u{1}callSuperConstructor\0\u{1}callSuperMethod\0\u{1}getPrivateProperty\0\u{1}setPrivateProperty\0\u{1}updatePrivateProperty\0\u{1}callPrivateMethod\0\u{1}getSuperProperty\0\u{1}setSuperProperty\0\u{1}getComputedSuperProperty\0\u{1}setComputedSuperProperty\0\u{1}updateSuperProperty\0\u{1}beginIf\0\u{1}beginElse\0\u{1}endIf\0\u{1}beginWhileLoopHeader\0\u{1}beginWhileLoopBody\0\u{1}endWhileLoop\0\u{1}beginDoWhileLoopBody\0\u{1}beginDoWhileLoopHeader\0\u{1}endDoWhileLoop\0\u{1}beginForLoopInitializer\0\u{1}beginForLoopCondition\0\u{1}beginForLoopAfterthought\0\u{1}beginForLoopBody\0\u{1}endForLoop\0\u{1}beginForInLoop\0\u{1}endForInLoop\0\u{1}beginForOfLoop\0\u{1}beginForOfLoopWithDestruct\0\u{1}endForOfLoop\0\u{1}beginRepeatLoop\0\u{1}endRepeatLoop\0\u{1}loopBreak\0\u{1}loopContinue\0\u{1}beginTry\0\u{1}beginCatch\0\u{1}beginFinally\0\u{1}endTryCatchFinally\0\u{1}throwException\0\u{1}beginCodeString\0\u{1}endCodeString\0\u{1}beginBlockStatement\0\u{1}endBlockStatement\0\u{1}beginSwitch\0\u{1}beginSwitchCase\0\u{1}beginSwitchDefaultCase\0\u{1}endSwitchCase\0\u{1}endSwitch\0\u{1}switchBreak\0\u{1}loadNewTarget\0\u{1}print\0\u{1}explore\0\u{1}probe\0\u{1}fixup\0\u{1}beginWasmModule\0\u{1}endWasmModule\0\u{1}createWasmGlobal\0\u{1}createWasmMemory\0\u{1}createWasmTable\0\u{1}createWasmJSTag\0\u{1}createWasmTag\0\u{1}wrapPromising\0\u{1}wrapSuspending\0\u{1}bindMethod\0\u{1}bindFunction\0\u{1}consti64\0\u{1}consti32\0\u{1}constf32\0\u{1}constf64\0\u{1}wasmReturn\0\u{1}wasmJsCall\0\u{1}wasmi32CompareOp\0\u{1}wasmi64CompareOp\0\u{1}wasmf32CompareOp\0\u{1}wasmf64CompareOp\0\u{1}wasmi32EqualZero\0\u{1}wasmi64EqualZero\0\u{1}wasmi32BinOp\0\u{1}wasmi64BinOp\0\u{1}wasmi32UnOp\0\u{1}wasmi64UnOp\0\u{1}wasmf32BinOp\0\u{1}wasmf64BinOp\0\u{1}wasmf32UnOp\0\u{1}wasmf64UnOp\0\u{1}wasmWrapi64Toi32\0\u{1}wasmTruncatef32Toi32\0\u{1}wasmTruncatef64Toi32\0\u{1}wasmExtendi32Toi64\0\u{1}wasmTruncatef32Toi64\0\u{1}wasmTruncatef64Toi64\0\u{1}wasmConverti32Tof32\0\u{1}wasmConverti64Tof32\0\u{1}wasmDemotef64Tof32\0\u{1}wasmConverti32Tof64\0\u{1}wasmConverti64Tof64\0\u{1}wasmPromotef32Tof64\0\u{1}wasmReinterpretf32Asi32\0\u{1}wasmReinterpretf64Asi64\0\u{1}wasmReinterpreti32Asf32\0\u{1}wasmReinterpreti64Asf64\0\u{1}wasmSignExtend8Intoi32\0\u{1}wasmSignExtend16Intoi32\0\u{1}wasmSignExtend8Intoi64\0\u{1}wasmSignExtend16Intoi64\0\u{1}wasmSignExtend32Intoi64\0\u{1}wasmTruncateSatf32Toi32\0\u{1}wasmTruncateSatf64Toi32\0\u{1}wasmTruncateSatf32Toi64\0\u{1}wasmTruncateSatf64Toi64\0\u{1}wasmReassign\0\u{1}wasmDefineGlobal\0\u{1}wasmDefineTable\0\u{1}wasmDefineMemory\0\u{1}wasmDefineDataSegment\0\u{1}wasmLoadGlobal\0\u{1}wasmStoreGlobal\0\u{1}wasmTableGet\0\u{1}wasmTableSet\0\u{1}wasmTableSize\0\u{1}wasmTableGrow\0\u{1}wasmCallIndirect\0\u{1}wasmCallDirect\0\u{1}wasmReturnCallDirect\0\u{1}wasmReturnCallIndirect\0\u{1}wasmMemoryLoad\0\u{1}wasmMemoryStore\0\u{1}wasmAtomicLoad\0\u{1}wasmAtomicStore\0\u{1}wasmAtomicRMW\0\u{1}wasmAtomicCmpxchg\0\u{1}wasmMemorySize\0\u{1}wasmMemoryGrow\0\u{1}wasmMemoryFill\0\u{1}wasmMemoryInit\0\u{1}wasmDropDataSegment\0\u{1}beginWasmFunction\0\u{1}endWasmFunction\0\u{1}wasmBeginBlock\0\u{1}wasmEndBlock\0\u{1}wasmBeginLoop\0\u{1}wasmEndLoop\0\u{1}wasmBranch\0\u{1}wasmBranchIf\0\u{1}wasmBranchTable\0\u{1}wasmNop\0\u{1}wasmBeginIf\0\u{1}wasmBeginElse\0\u{1}wasmEndIf\0\u{1}wasmBeginTryTable\0\u{1}wasmEndTryTable\0\u{1}wasmBeginTry\0\u{1}wasmBeginCatchAll\0\u{1}wasmBeginCatch\0\u{1}wasmEndTry\0\u{1}wasmBeginTryDelegate\0\u{1}wasmEndTryDelegate\0\u{1}wasmThrow\0\u{1}wasmRethrow\0\u{1}wasmThrowRef\0\u{1}wasmDefineTag\0\u{1}constSimd128\0\u{1}wasmSimd128Compare\0\u{1}wasmSimd128IntegerUnOp\0\u{1}wasmSimd128IntegerBinOp\0\u{1}wasmSimd128IntegerTernaryOp\0\u{1}wasmSimd128FloatUnOp\0\u{1}wasmSimd128FloatBinOp\0\u{1}wasmSimd128FloatTernaryOp\0\u{1}wasmSimdSplat\0\u{1}wasmSimdExtractLane\0\u{1}wasmSimdReplaceLane\0\u{1}wasmSimdStoreLane\0\u{1}wasmSimdLoadLane\0\u{1}wasmSimdLoad\0\u{1}wasmUnreachable\0\u{1}wasmSelect\0\u{1}wasmBeginTypeGroup\0\u{1}wasmEndTypeGroup\0\u{1}wasmDefineArrayType\0\u{1}wasmDefineStructType\0\u{1}wasmDefineForwardOrSelfReference\0\u{1}wasmResolveForwardReference\0\u{1}wasmArrayNewFixed\0\u{1}wasmArrayNewDefault\0\u{1}wasmArrayLen\0\u{1}wasmArrayGet\0\u{1}wasmArraySet\0\u{1}wasmStructNewDefault\0\u{1}wasmStructGet\0\u{1}wasmStructSet\0\u{1}wasmRefNull\0\u{1}wasmRefIsNull\0\u{1}wasmRefI31\0\u{1}wasmI31Get\0\u{1}wasmAnyConvertExtern\0\u{1}wasmExternConvertAny\0\u{1}wasmMemoryCopy\0\u{1}wasmDefineElementSegment\0\u{1}wasmTableInit\0\u{1}wasmDropElementSegment\0\u{1}wasmTableCopy\0\u{1}wasmDefineSignatureType\0\u{1}createNamedDisposableVariable\0\u{1}createNamedAsyncDisposableVariable\0") public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { @@ -3605,6 +3605,32 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M } }() case 40: try { + var v: Fuzzilli_Protobuf_BeginClassInstanceComputedMethod? + var hadOneofValue = false + if let current = self.operation { + hadOneofValue = true + if case .beginClassInstanceComputedMethod(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.operation = .beginClassInstanceComputedMethod(v) + } + }() + case 41: try { + var v: Fuzzilli_Protobuf_EndClassInstanceComputedMethod? + var hadOneofValue = false + if let current = self.operation { + hadOneofValue = true + if case .endClassInstanceComputedMethod(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.operation = .endClassInstanceComputedMethod(v) + } + }() + case 42: try { var v: Fuzzilli_Protobuf_BeginClassInstanceGetter? var hadOneofValue = false if let current = self.operation { @@ -3617,7 +3643,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassInstanceGetter(v) } }() - case 41: try { + case 43: try { var v: Fuzzilli_Protobuf_EndClassInstanceGetter? var hadOneofValue = false if let current = self.operation { @@ -3630,7 +3656,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassInstanceGetter(v) } }() - case 42: try { + case 44: try { var v: Fuzzilli_Protobuf_BeginClassInstanceSetter? var hadOneofValue = false if let current = self.operation { @@ -3643,7 +3669,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassInstanceSetter(v) } }() - case 43: try { + case 45: try { var v: Fuzzilli_Protobuf_EndClassInstanceSetter? var hadOneofValue = false if let current = self.operation { @@ -3656,7 +3682,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassInstanceSetter(v) } }() - case 44: try { + case 46: try { var v: Fuzzilli_Protobuf_ClassAddStaticProperty? var hadOneofValue = false if let current = self.operation { @@ -3669,7 +3695,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .classAddStaticProperty(v) } }() - case 45: try { + case 47: try { var v: Fuzzilli_Protobuf_ClassAddStaticElement? var hadOneofValue = false if let current = self.operation { @@ -3682,7 +3708,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .classAddStaticElement(v) } }() - case 46: try { + case 48: try { var v: Fuzzilli_Protobuf_ClassAddStaticComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -3695,7 +3721,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .classAddStaticComputedProperty(v) } }() - case 47: try { + case 49: try { var v: Fuzzilli_Protobuf_BeginClassStaticInitializer? var hadOneofValue = false if let current = self.operation { @@ -3708,7 +3734,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassStaticInitializer(v) } }() - case 48: try { + case 50: try { var v: Fuzzilli_Protobuf_EndClassStaticInitializer? var hadOneofValue = false if let current = self.operation { @@ -3721,7 +3747,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassStaticInitializer(v) } }() - case 49: try { + case 51: try { var v: Fuzzilli_Protobuf_BeginClassStaticMethod? var hadOneofValue = false if let current = self.operation { @@ -3734,7 +3760,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassStaticMethod(v) } }() - case 50: try { + case 52: try { var v: Fuzzilli_Protobuf_EndClassStaticMethod? var hadOneofValue = false if let current = self.operation { @@ -3747,7 +3773,33 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassStaticMethod(v) } }() - case 51: try { + case 53: try { + var v: Fuzzilli_Protobuf_BeginClassStaticComputedMethod? + var hadOneofValue = false + if let current = self.operation { + hadOneofValue = true + if case .beginClassStaticComputedMethod(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.operation = .beginClassStaticComputedMethod(v) + } + }() + case 54: try { + var v: Fuzzilli_Protobuf_EndClassStaticComputedMethod? + var hadOneofValue = false + if let current = self.operation { + hadOneofValue = true + if case .endClassStaticComputedMethod(let m) = current {v = m} + } + try decoder.decodeSingularMessageField(value: &v) + if let v = v { + if hadOneofValue {try decoder.handleConflictingOneOf()} + self.operation = .endClassStaticComputedMethod(v) + } + }() + case 55: try { var v: Fuzzilli_Protobuf_BeginClassStaticGetter? var hadOneofValue = false if let current = self.operation { @@ -3760,7 +3812,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassStaticGetter(v) } }() - case 52: try { + case 56: try { var v: Fuzzilli_Protobuf_EndClassStaticGetter? var hadOneofValue = false if let current = self.operation { @@ -3773,7 +3825,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassStaticGetter(v) } }() - case 53: try { + case 57: try { var v: Fuzzilli_Protobuf_BeginClassStaticSetter? var hadOneofValue = false if let current = self.operation { @@ -3786,7 +3838,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassStaticSetter(v) } }() - case 54: try { + case 58: try { var v: Fuzzilli_Protobuf_EndClassStaticSetter? var hadOneofValue = false if let current = self.operation { @@ -3799,7 +3851,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassStaticSetter(v) } }() - case 55: try { + case 59: try { var v: Fuzzilli_Protobuf_ClassAddPrivateInstanceProperty? var hadOneofValue = false if let current = self.operation { @@ -3812,7 +3864,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .classAddPrivateInstanceProperty(v) } }() - case 56: try { + case 60: try { var v: Fuzzilli_Protobuf_BeginClassPrivateInstanceMethod? var hadOneofValue = false if let current = self.operation { @@ -3825,7 +3877,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassPrivateInstanceMethod(v) } }() - case 57: try { + case 61: try { var v: Fuzzilli_Protobuf_EndClassPrivateInstanceMethod? var hadOneofValue = false if let current = self.operation { @@ -3838,7 +3890,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassPrivateInstanceMethod(v) } }() - case 58: try { + case 62: try { var v: Fuzzilli_Protobuf_ClassAddPrivateStaticProperty? var hadOneofValue = false if let current = self.operation { @@ -3851,7 +3903,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .classAddPrivateStaticProperty(v) } }() - case 59: try { + case 63: try { var v: Fuzzilli_Protobuf_BeginClassPrivateStaticMethod? var hadOneofValue = false if let current = self.operation { @@ -3864,7 +3916,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginClassPrivateStaticMethod(v) } }() - case 60: try { + case 64: try { var v: Fuzzilli_Protobuf_EndClassPrivateStaticMethod? var hadOneofValue = false if let current = self.operation { @@ -3877,7 +3929,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassPrivateStaticMethod(v) } }() - case 61: try { + case 65: try { var v: Fuzzilli_Protobuf_EndClassDefinition? var hadOneofValue = false if let current = self.operation { @@ -3890,7 +3942,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endClassDefinition(v) } }() - case 62: try { + case 66: try { var v: Fuzzilli_Protobuf_CreateArray? var hadOneofValue = false if let current = self.operation { @@ -3903,7 +3955,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createArray(v) } }() - case 63: try { + case 67: try { var v: Fuzzilli_Protobuf_CreateIntArray? var hadOneofValue = false if let current = self.operation { @@ -3916,7 +3968,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createIntArray(v) } }() - case 64: try { + case 68: try { var v: Fuzzilli_Protobuf_CreateFloatArray? var hadOneofValue = false if let current = self.operation { @@ -3929,7 +3981,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createFloatArray(v) } }() - case 65: try { + case 69: try { var v: Fuzzilli_Protobuf_CreateArrayWithSpread? var hadOneofValue = false if let current = self.operation { @@ -3942,7 +3994,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createArrayWithSpread(v) } }() - case 66: try { + case 70: try { var v: Fuzzilli_Protobuf_CreateTemplateString? var hadOneofValue = false if let current = self.operation { @@ -3955,7 +4007,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createTemplateString(v) } }() - case 67: try { + case 71: try { var v: Fuzzilli_Protobuf_GetProperty? var hadOneofValue = false if let current = self.operation { @@ -3968,7 +4020,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getProperty(v) } }() - case 68: try { + case 72: try { var v: Fuzzilli_Protobuf_SetProperty? var hadOneofValue = false if let current = self.operation { @@ -3981,7 +4033,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setProperty(v) } }() - case 69: try { + case 73: try { var v: Fuzzilli_Protobuf_UpdateProperty? var hadOneofValue = false if let current = self.operation { @@ -3994,7 +4046,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .updateProperty(v) } }() - case 70: try { + case 74: try { var v: Fuzzilli_Protobuf_DeleteProperty? var hadOneofValue = false if let current = self.operation { @@ -4007,7 +4059,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .deleteProperty(v) } }() - case 71: try { + case 75: try { var v: Fuzzilli_Protobuf_ConfigureProperty? var hadOneofValue = false if let current = self.operation { @@ -4020,7 +4072,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .configureProperty(v) } }() - case 72: try { + case 76: try { var v: Fuzzilli_Protobuf_GetElement? var hadOneofValue = false if let current = self.operation { @@ -4033,7 +4085,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getElement(v) } }() - case 73: try { + case 77: try { var v: Fuzzilli_Protobuf_SetElement? var hadOneofValue = false if let current = self.operation { @@ -4046,7 +4098,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setElement(v) } }() - case 74: try { + case 78: try { var v: Fuzzilli_Protobuf_UpdateElement? var hadOneofValue = false if let current = self.operation { @@ -4059,7 +4111,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .updateElement(v) } }() - case 75: try { + case 79: try { var v: Fuzzilli_Protobuf_DeleteElement? var hadOneofValue = false if let current = self.operation { @@ -4072,7 +4124,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .deleteElement(v) } }() - case 76: try { + case 80: try { var v: Fuzzilli_Protobuf_ConfigureElement? var hadOneofValue = false if let current = self.operation { @@ -4085,7 +4137,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .configureElement(v) } }() - case 77: try { + case 81: try { var v: Fuzzilli_Protobuf_GetComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -4098,7 +4150,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getComputedProperty(v) } }() - case 78: try { + case 82: try { var v: Fuzzilli_Protobuf_SetComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -4111,7 +4163,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setComputedProperty(v) } }() - case 79: try { + case 83: try { var v: Fuzzilli_Protobuf_UpdateComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -4124,7 +4176,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .updateComputedProperty(v) } }() - case 80: try { + case 84: try { var v: Fuzzilli_Protobuf_DeleteComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -4137,7 +4189,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .deleteComputedProperty(v) } }() - case 81: try { + case 85: try { var v: Fuzzilli_Protobuf_ConfigureComputedProperty? var hadOneofValue = false if let current = self.operation { @@ -4150,7 +4202,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .configureComputedProperty(v) } }() - case 82: try { + case 86: try { var v: Fuzzilli_Protobuf_TypeOf? var hadOneofValue = false if let current = self.operation { @@ -4163,7 +4215,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .typeOf(v) } }() - case 83: try { + case 87: try { var v: Fuzzilli_Protobuf_Void? var hadOneofValue = false if let current = self.operation { @@ -4176,7 +4228,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .void(v) } }() - case 84: try { + case 88: try { var v: Fuzzilli_Protobuf_TestInstanceOf? var hadOneofValue = false if let current = self.operation { @@ -4189,7 +4241,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .testInstanceOf(v) } }() - case 85: try { + case 89: try { var v: Fuzzilli_Protobuf_TestIn? var hadOneofValue = false if let current = self.operation { @@ -4202,7 +4254,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .testIn(v) } }() - case 86: try { + case 90: try { var v: Fuzzilli_Protobuf_BeginPlainFunction? var hadOneofValue = false if let current = self.operation { @@ -4215,7 +4267,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginPlainFunction(v) } }() - case 87: try { + case 91: try { var v: Fuzzilli_Protobuf_EndPlainFunction? var hadOneofValue = false if let current = self.operation { @@ -4228,7 +4280,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endPlainFunction(v) } }() - case 88: try { + case 92: try { var v: Fuzzilli_Protobuf_BeginArrowFunction? var hadOneofValue = false if let current = self.operation { @@ -4241,7 +4293,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginArrowFunction(v) } }() - case 89: try { + case 93: try { var v: Fuzzilli_Protobuf_EndArrowFunction? var hadOneofValue = false if let current = self.operation { @@ -4254,7 +4306,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endArrowFunction(v) } }() - case 90: try { + case 94: try { var v: Fuzzilli_Protobuf_BeginGeneratorFunction? var hadOneofValue = false if let current = self.operation { @@ -4267,7 +4319,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginGeneratorFunction(v) } }() - case 91: try { + case 95: try { var v: Fuzzilli_Protobuf_EndGeneratorFunction? var hadOneofValue = false if let current = self.operation { @@ -4280,7 +4332,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endGeneratorFunction(v) } }() - case 92: try { + case 96: try { var v: Fuzzilli_Protobuf_BeginAsyncFunction? var hadOneofValue = false if let current = self.operation { @@ -4293,7 +4345,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginAsyncFunction(v) } }() - case 93: try { + case 97: try { var v: Fuzzilli_Protobuf_EndAsyncFunction? var hadOneofValue = false if let current = self.operation { @@ -4306,7 +4358,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endAsyncFunction(v) } }() - case 94: try { + case 98: try { var v: Fuzzilli_Protobuf_BeginAsyncArrowFunction? var hadOneofValue = false if let current = self.operation { @@ -4319,7 +4371,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginAsyncArrowFunction(v) } }() - case 95: try { + case 99: try { var v: Fuzzilli_Protobuf_EndAsyncArrowFunction? var hadOneofValue = false if let current = self.operation { @@ -4332,7 +4384,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endAsyncArrowFunction(v) } }() - case 96: try { + case 100: try { var v: Fuzzilli_Protobuf_BeginAsyncGeneratorFunction? var hadOneofValue = false if let current = self.operation { @@ -4345,7 +4397,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginAsyncGeneratorFunction(v) } }() - case 97: try { + case 101: try { var v: Fuzzilli_Protobuf_EndAsyncGeneratorFunction? var hadOneofValue = false if let current = self.operation { @@ -4358,7 +4410,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endAsyncGeneratorFunction(v) } }() - case 98: try { + case 102: try { var v: Fuzzilli_Protobuf_BeginConstructor? var hadOneofValue = false if let current = self.operation { @@ -4371,7 +4423,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginConstructor(v) } }() - case 99: try { + case 103: try { var v: Fuzzilli_Protobuf_EndConstructor? var hadOneofValue = false if let current = self.operation { @@ -4384,7 +4436,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endConstructor(v) } }() - case 100: try { + case 104: try { var v: Fuzzilli_Protobuf_Directive? var hadOneofValue = false if let current = self.operation { @@ -4397,7 +4449,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .directive(v) } }() - case 101: try { + case 105: try { var v: Fuzzilli_Protobuf_Return? var hadOneofValue = false if let current = self.operation { @@ -4410,7 +4462,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .return(v) } }() - case 102: try { + case 106: try { var v: Fuzzilli_Protobuf_Yield? var hadOneofValue = false if let current = self.operation { @@ -4423,7 +4475,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .yield(v) } }() - case 103: try { + case 107: try { var v: Fuzzilli_Protobuf_YieldEach? var hadOneofValue = false if let current = self.operation { @@ -4436,7 +4488,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .yieldEach(v) } }() - case 104: try { + case 108: try { var v: Fuzzilli_Protobuf_Await? var hadOneofValue = false if let current = self.operation { @@ -4449,7 +4501,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .await(v) } }() - case 105: try { + case 109: try { var v: Fuzzilli_Protobuf_CallFunction? var hadOneofValue = false if let current = self.operation { @@ -4462,7 +4514,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callFunction(v) } }() - case 106: try { + case 110: try { var v: Fuzzilli_Protobuf_CallFunctionWithSpread? var hadOneofValue = false if let current = self.operation { @@ -4475,7 +4527,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callFunctionWithSpread(v) } }() - case 107: try { + case 111: try { var v: Fuzzilli_Protobuf_Construct? var hadOneofValue = false if let current = self.operation { @@ -4488,7 +4540,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .construct(v) } }() - case 108: try { + case 112: try { var v: Fuzzilli_Protobuf_ConstructWithSpread? var hadOneofValue = false if let current = self.operation { @@ -4501,7 +4553,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .constructWithSpread(v) } }() - case 109: try { + case 113: try { var v: Fuzzilli_Protobuf_CallMethod? var hadOneofValue = false if let current = self.operation { @@ -4514,7 +4566,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callMethod(v) } }() - case 110: try { + case 114: try { var v: Fuzzilli_Protobuf_CallMethodWithSpread? var hadOneofValue = false if let current = self.operation { @@ -4527,7 +4579,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callMethodWithSpread(v) } }() - case 111: try { + case 115: try { var v: Fuzzilli_Protobuf_CallComputedMethod? var hadOneofValue = false if let current = self.operation { @@ -4540,7 +4592,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callComputedMethod(v) } }() - case 112: try { + case 116: try { var v: Fuzzilli_Protobuf_CallComputedMethodWithSpread? var hadOneofValue = false if let current = self.operation { @@ -4553,7 +4605,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callComputedMethodWithSpread(v) } }() - case 113: try { + case 117: try { var v: Fuzzilli_Protobuf_UnaryOperation? var hadOneofValue = false if let current = self.operation { @@ -4566,7 +4618,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .unaryOperation(v) } }() - case 114: try { + case 118: try { var v: Fuzzilli_Protobuf_BinaryOperation? var hadOneofValue = false if let current = self.operation { @@ -4579,7 +4631,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .binaryOperation(v) } }() - case 115: try { + case 119: try { var v: Fuzzilli_Protobuf_TernaryOperation? var hadOneofValue = false if let current = self.operation { @@ -4592,7 +4644,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .ternaryOperation(v) } }() - case 116: try { + case 120: try { var v: Fuzzilli_Protobuf_Update? var hadOneofValue = false if let current = self.operation { @@ -4605,7 +4657,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .update(v) } }() - case 117: try { + case 121: try { var v: Fuzzilli_Protobuf_Dup? var hadOneofValue = false if let current = self.operation { @@ -4618,7 +4670,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .dup(v) } }() - case 118: try { + case 122: try { var v: Fuzzilli_Protobuf_Reassign? var hadOneofValue = false if let current = self.operation { @@ -4631,7 +4683,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .reassign(v) } }() - case 119: try { + case 123: try { var v: Fuzzilli_Protobuf_DestructArray? var hadOneofValue = false if let current = self.operation { @@ -4644,7 +4696,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .destructArray(v) } }() - case 120: try { + case 124: try { var v: Fuzzilli_Protobuf_DestructArrayAndReassign? var hadOneofValue = false if let current = self.operation { @@ -4657,7 +4709,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .destructArrayAndReassign(v) } }() - case 121: try { + case 125: try { var v: Fuzzilli_Protobuf_DestructObject? var hadOneofValue = false if let current = self.operation { @@ -4670,7 +4722,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .destructObject(v) } }() - case 122: try { + case 126: try { var v: Fuzzilli_Protobuf_DestructObjectAndReassign? var hadOneofValue = false if let current = self.operation { @@ -4683,7 +4735,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .destructObjectAndReassign(v) } }() - case 123: try { + case 127: try { var v: Fuzzilli_Protobuf_Compare? var hadOneofValue = false if let current = self.operation { @@ -4696,7 +4748,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .compare(v) } }() - case 124: try { + case 128: try { var v: Fuzzilli_Protobuf_Eval? var hadOneofValue = false if let current = self.operation { @@ -4709,7 +4761,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .eval(v) } }() - case 125: try { + case 129: try { var v: Fuzzilli_Protobuf_BeginWith? var hadOneofValue = false if let current = self.operation { @@ -4722,7 +4774,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginWith(v) } }() - case 126: try { + case 130: try { var v: Fuzzilli_Protobuf_EndWith? var hadOneofValue = false if let current = self.operation { @@ -4735,7 +4787,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endWith(v) } }() - case 127: try { + case 131: try { var v: Fuzzilli_Protobuf_CallSuperConstructor? var hadOneofValue = false if let current = self.operation { @@ -4748,7 +4800,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callSuperConstructor(v) } }() - case 128: try { + case 132: try { var v: Fuzzilli_Protobuf_CallSuperMethod? var hadOneofValue = false if let current = self.operation { @@ -4761,7 +4813,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callSuperMethod(v) } }() - case 129: try { + case 133: try { var v: Fuzzilli_Protobuf_GetPrivateProperty? var hadOneofValue = false if let current = self.operation { @@ -4774,7 +4826,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getPrivateProperty(v) } }() - case 130: try { + case 134: try { var v: Fuzzilli_Protobuf_SetPrivateProperty? var hadOneofValue = false if let current = self.operation { @@ -4787,7 +4839,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setPrivateProperty(v) } }() - case 131: try { + case 135: try { var v: Fuzzilli_Protobuf_UpdatePrivateProperty? var hadOneofValue = false if let current = self.operation { @@ -4800,7 +4852,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .updatePrivateProperty(v) } }() - case 132: try { + case 136: try { var v: Fuzzilli_Protobuf_CallPrivateMethod? var hadOneofValue = false if let current = self.operation { @@ -4813,7 +4865,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .callPrivateMethod(v) } }() - case 133: try { + case 137: try { var v: Fuzzilli_Protobuf_GetSuperProperty? var hadOneofValue = false if let current = self.operation { @@ -4826,7 +4878,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getSuperProperty(v) } }() - case 134: try { + case 138: try { var v: Fuzzilli_Protobuf_SetSuperProperty? var hadOneofValue = false if let current = self.operation { @@ -4839,7 +4891,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setSuperProperty(v) } }() - case 135: try { + case 139: try { var v: Fuzzilli_Protobuf_GetComputedSuperProperty? var hadOneofValue = false if let current = self.operation { @@ -4852,7 +4904,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .getComputedSuperProperty(v) } }() - case 136: try { + case 140: try { var v: Fuzzilli_Protobuf_SetComputedSuperProperty? var hadOneofValue = false if let current = self.operation { @@ -4865,7 +4917,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .setComputedSuperProperty(v) } }() - case 137: try { + case 141: try { var v: Fuzzilli_Protobuf_UpdateSuperProperty? var hadOneofValue = false if let current = self.operation { @@ -4878,7 +4930,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .updateSuperProperty(v) } }() - case 138: try { + case 142: try { var v: Fuzzilli_Protobuf_BeginIf? var hadOneofValue = false if let current = self.operation { @@ -4891,7 +4943,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginIf(v) } }() - case 139: try { + case 143: try { var v: Fuzzilli_Protobuf_BeginElse? var hadOneofValue = false if let current = self.operation { @@ -4904,7 +4956,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginElse(v) } }() - case 140: try { + case 144: try { var v: Fuzzilli_Protobuf_EndIf? var hadOneofValue = false if let current = self.operation { @@ -4917,7 +4969,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endIf(v) } }() - case 141: try { + case 145: try { var v: Fuzzilli_Protobuf_BeginWhileLoopHeader? var hadOneofValue = false if let current = self.operation { @@ -4930,7 +4982,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginWhileLoopHeader(v) } }() - case 142: try { + case 146: try { var v: Fuzzilli_Protobuf_BeginWhileLoopBody? var hadOneofValue = false if let current = self.operation { @@ -4943,7 +4995,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginWhileLoopBody(v) } }() - case 143: try { + case 147: try { var v: Fuzzilli_Protobuf_EndWhileLoop? var hadOneofValue = false if let current = self.operation { @@ -4956,7 +5008,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endWhileLoop(v) } }() - case 144: try { + case 148: try { var v: Fuzzilli_Protobuf_BeginDoWhileLoopBody? var hadOneofValue = false if let current = self.operation { @@ -4969,7 +5021,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginDoWhileLoopBody(v) } }() - case 145: try { + case 149: try { var v: Fuzzilli_Protobuf_BeginDoWhileLoopHeader? var hadOneofValue = false if let current = self.operation { @@ -4982,7 +5034,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginDoWhileLoopHeader(v) } }() - case 146: try { + case 150: try { var v: Fuzzilli_Protobuf_EndDoWhileLoop? var hadOneofValue = false if let current = self.operation { @@ -4995,7 +5047,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endDoWhileLoop(v) } }() - case 147: try { + case 151: try { var v: Fuzzilli_Protobuf_BeginForLoopInitializer? var hadOneofValue = false if let current = self.operation { @@ -5008,7 +5060,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForLoopInitializer(v) } }() - case 148: try { + case 152: try { var v: Fuzzilli_Protobuf_BeginForLoopCondition? var hadOneofValue = false if let current = self.operation { @@ -5021,7 +5073,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForLoopCondition(v) } }() - case 149: try { + case 153: try { var v: Fuzzilli_Protobuf_BeginForLoopAfterthought? var hadOneofValue = false if let current = self.operation { @@ -5034,7 +5086,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForLoopAfterthought(v) } }() - case 150: try { + case 154: try { var v: Fuzzilli_Protobuf_BeginForLoopBody? var hadOneofValue = false if let current = self.operation { @@ -5047,7 +5099,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForLoopBody(v) } }() - case 151: try { + case 155: try { var v: Fuzzilli_Protobuf_EndForLoop? var hadOneofValue = false if let current = self.operation { @@ -5060,7 +5112,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endForLoop(v) } }() - case 152: try { + case 156: try { var v: Fuzzilli_Protobuf_BeginForInLoop? var hadOneofValue = false if let current = self.operation { @@ -5073,7 +5125,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForInLoop(v) } }() - case 153: try { + case 157: try { var v: Fuzzilli_Protobuf_EndForInLoop? var hadOneofValue = false if let current = self.operation { @@ -5086,7 +5138,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endForInLoop(v) } }() - case 154: try { + case 158: try { var v: Fuzzilli_Protobuf_BeginForOfLoop? var hadOneofValue = false if let current = self.operation { @@ -5099,7 +5151,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForOfLoop(v) } }() - case 155: try { + case 159: try { var v: Fuzzilli_Protobuf_BeginForOfLoopWithDestruct? var hadOneofValue = false if let current = self.operation { @@ -5112,7 +5164,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginForOfLoopWithDestruct(v) } }() - case 156: try { + case 160: try { var v: Fuzzilli_Protobuf_EndForOfLoop? var hadOneofValue = false if let current = self.operation { @@ -5125,7 +5177,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endForOfLoop(v) } }() - case 157: try { + case 161: try { var v: Fuzzilli_Protobuf_BeginRepeatLoop? var hadOneofValue = false if let current = self.operation { @@ -5138,7 +5190,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginRepeatLoop(v) } }() - case 158: try { + case 162: try { var v: Fuzzilli_Protobuf_EndRepeatLoop? var hadOneofValue = false if let current = self.operation { @@ -5151,7 +5203,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endRepeatLoop(v) } }() - case 159: try { + case 163: try { var v: Fuzzilli_Protobuf_LoopBreak? var hadOneofValue = false if let current = self.operation { @@ -5164,7 +5216,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .loopBreak(v) } }() - case 160: try { + case 164: try { var v: Fuzzilli_Protobuf_LoopContinue? var hadOneofValue = false if let current = self.operation { @@ -5177,7 +5229,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .loopContinue(v) } }() - case 161: try { + case 165: try { var v: Fuzzilli_Protobuf_BeginTry? var hadOneofValue = false if let current = self.operation { @@ -5190,7 +5242,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginTry(v) } }() - case 162: try { + case 166: try { var v: Fuzzilli_Protobuf_BeginCatch? var hadOneofValue = false if let current = self.operation { @@ -5203,7 +5255,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginCatch(v) } }() - case 163: try { + case 167: try { var v: Fuzzilli_Protobuf_BeginFinally? var hadOneofValue = false if let current = self.operation { @@ -5216,7 +5268,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginFinally(v) } }() - case 164: try { + case 168: try { var v: Fuzzilli_Protobuf_EndTryCatchFinally? var hadOneofValue = false if let current = self.operation { @@ -5229,7 +5281,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endTryCatchFinally(v) } }() - case 165: try { + case 169: try { var v: Fuzzilli_Protobuf_ThrowException? var hadOneofValue = false if let current = self.operation { @@ -5242,7 +5294,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .throwException(v) } }() - case 166: try { + case 170: try { var v: Fuzzilli_Protobuf_BeginCodeString? var hadOneofValue = false if let current = self.operation { @@ -5255,7 +5307,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginCodeString(v) } }() - case 167: try { + case 171: try { var v: Fuzzilli_Protobuf_EndCodeString? var hadOneofValue = false if let current = self.operation { @@ -5268,7 +5320,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endCodeString(v) } }() - case 168: try { + case 172: try { var v: Fuzzilli_Protobuf_BeginBlockStatement? var hadOneofValue = false if let current = self.operation { @@ -5281,7 +5333,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginBlockStatement(v) } }() - case 169: try { + case 173: try { var v: Fuzzilli_Protobuf_EndBlockStatement? var hadOneofValue = false if let current = self.operation { @@ -5294,7 +5346,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endBlockStatement(v) } }() - case 170: try { + case 174: try { var v: Fuzzilli_Protobuf_BeginSwitch? var hadOneofValue = false if let current = self.operation { @@ -5307,7 +5359,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginSwitch(v) } }() - case 171: try { + case 175: try { var v: Fuzzilli_Protobuf_BeginSwitchCase? var hadOneofValue = false if let current = self.operation { @@ -5320,7 +5372,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginSwitchCase(v) } }() - case 172: try { + case 176: try { var v: Fuzzilli_Protobuf_BeginSwitchDefaultCase? var hadOneofValue = false if let current = self.operation { @@ -5333,7 +5385,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginSwitchDefaultCase(v) } }() - case 173: try { + case 177: try { var v: Fuzzilli_Protobuf_EndSwitchCase? var hadOneofValue = false if let current = self.operation { @@ -5346,7 +5398,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endSwitchCase(v) } }() - case 174: try { + case 178: try { var v: Fuzzilli_Protobuf_EndSwitch? var hadOneofValue = false if let current = self.operation { @@ -5359,7 +5411,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endSwitch(v) } }() - case 175: try { + case 179: try { var v: Fuzzilli_Protobuf_SwitchBreak? var hadOneofValue = false if let current = self.operation { @@ -5372,7 +5424,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .switchBreak(v) } }() - case 176: try { + case 180: try { var v: Fuzzilli_Protobuf_LoadNewTarget? var hadOneofValue = false if let current = self.operation { @@ -5385,7 +5437,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .loadNewTarget(v) } }() - case 177: try { + case 181: try { var v: Fuzzilli_Protobuf_Print? var hadOneofValue = false if let current = self.operation { @@ -5398,7 +5450,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .print(v) } }() - case 178: try { + case 182: try { var v: Fuzzilli_Protobuf_Explore? var hadOneofValue = false if let current = self.operation { @@ -5411,7 +5463,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .explore(v) } }() - case 179: try { + case 183: try { var v: Fuzzilli_Protobuf_Probe? var hadOneofValue = false if let current = self.operation { @@ -5424,7 +5476,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .probe(v) } }() - case 180: try { + case 184: try { var v: Fuzzilli_Protobuf_Fixup? var hadOneofValue = false if let current = self.operation { @@ -5437,7 +5489,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .fixup(v) } }() - case 181: try { + case 185: try { var v: Fuzzilli_Protobuf_BeginWasmModule? var hadOneofValue = false if let current = self.operation { @@ -5450,7 +5502,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginWasmModule(v) } }() - case 182: try { + case 186: try { var v: Fuzzilli_Protobuf_EndWasmModule? var hadOneofValue = false if let current = self.operation { @@ -5463,7 +5515,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endWasmModule(v) } }() - case 183: try { + case 187: try { var v: Fuzzilli_Protobuf_CreateWasmGlobal? var hadOneofValue = false if let current = self.operation { @@ -5476,7 +5528,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createWasmGlobal(v) } }() - case 184: try { + case 188: try { var v: Fuzzilli_Protobuf_CreateWasmMemory? var hadOneofValue = false if let current = self.operation { @@ -5489,7 +5541,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createWasmMemory(v) } }() - case 185: try { + case 189: try { var v: Fuzzilli_Protobuf_CreateWasmTable? var hadOneofValue = false if let current = self.operation { @@ -5502,7 +5554,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createWasmTable(v) } }() - case 186: try { + case 190: try { var v: Fuzzilli_Protobuf_CreateWasmJSTag? var hadOneofValue = false if let current = self.operation { @@ -5515,7 +5567,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createWasmJstag(v) } }() - case 187: try { + case 191: try { var v: Fuzzilli_Protobuf_CreateWasmTag? var hadOneofValue = false if let current = self.operation { @@ -5528,7 +5580,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createWasmTag(v) } }() - case 188: try { + case 192: try { var v: Fuzzilli_Protobuf_WrapPromising? var hadOneofValue = false if let current = self.operation { @@ -5541,7 +5593,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wrapPromising(v) } }() - case 189: try { + case 193: try { var v: Fuzzilli_Protobuf_WrapSuspending? var hadOneofValue = false if let current = self.operation { @@ -5554,7 +5606,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wrapSuspending(v) } }() - case 190: try { + case 194: try { var v: Fuzzilli_Protobuf_BindMethod? var hadOneofValue = false if let current = self.operation { @@ -5567,7 +5619,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .bindMethod(v) } }() - case 191: try { + case 195: try { var v: Fuzzilli_Protobuf_BindFunction? var hadOneofValue = false if let current = self.operation { @@ -5580,7 +5632,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .bindFunction(v) } }() - case 192: try { + case 196: try { var v: Fuzzilli_Protobuf_Consti64? var hadOneofValue = false if let current = self.operation { @@ -5593,7 +5645,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .consti64(v) } }() - case 193: try { + case 197: try { var v: Fuzzilli_Protobuf_Consti32? var hadOneofValue = false if let current = self.operation { @@ -5606,7 +5658,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .consti32(v) } }() - case 194: try { + case 198: try { var v: Fuzzilli_Protobuf_Constf32? var hadOneofValue = false if let current = self.operation { @@ -5619,7 +5671,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .constf32(v) } }() - case 195: try { + case 199: try { var v: Fuzzilli_Protobuf_Constf64? var hadOneofValue = false if let current = self.operation { @@ -5632,7 +5684,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .constf64(v) } }() - case 196: try { + case 200: try { var v: Fuzzilli_Protobuf_WasmReturn? var hadOneofValue = false if let current = self.operation { @@ -5645,7 +5697,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReturn(v) } }() - case 197: try { + case 201: try { var v: Fuzzilli_Protobuf_WasmJsCall? var hadOneofValue = false if let current = self.operation { @@ -5658,7 +5710,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmJsCall(v) } }() - case 198: try { + case 202: try { var v: Fuzzilli_Protobuf_Wasmi32CompareOp? var hadOneofValue = false if let current = self.operation { @@ -5671,7 +5723,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi32CompareOp(v) } }() - case 199: try { + case 203: try { var v: Fuzzilli_Protobuf_Wasmi64CompareOp? var hadOneofValue = false if let current = self.operation { @@ -5684,7 +5736,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi64CompareOp(v) } }() - case 200: try { + case 204: try { var v: Fuzzilli_Protobuf_Wasmf32CompareOp? var hadOneofValue = false if let current = self.operation { @@ -5697,7 +5749,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf32CompareOp(v) } }() - case 201: try { + case 205: try { var v: Fuzzilli_Protobuf_Wasmf64CompareOp? var hadOneofValue = false if let current = self.operation { @@ -5710,7 +5762,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf64CompareOp(v) } }() - case 202: try { + case 206: try { var v: Fuzzilli_Protobuf_Wasmi32EqualZero? var hadOneofValue = false if let current = self.operation { @@ -5723,7 +5775,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi32EqualZero(v) } }() - case 203: try { + case 207: try { var v: Fuzzilli_Protobuf_Wasmi64EqualZero? var hadOneofValue = false if let current = self.operation { @@ -5736,7 +5788,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi64EqualZero(v) } }() - case 204: try { + case 208: try { var v: Fuzzilli_Protobuf_Wasmi32BinOp? var hadOneofValue = false if let current = self.operation { @@ -5749,7 +5801,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi32BinOp(v) } }() - case 205: try { + case 209: try { var v: Fuzzilli_Protobuf_Wasmi64BinOp? var hadOneofValue = false if let current = self.operation { @@ -5762,7 +5814,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi64BinOp(v) } }() - case 206: try { + case 210: try { var v: Fuzzilli_Protobuf_Wasmi32UnOp? var hadOneofValue = false if let current = self.operation { @@ -5775,7 +5827,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi32UnOp(v) } }() - case 207: try { + case 211: try { var v: Fuzzilli_Protobuf_Wasmi64UnOp? var hadOneofValue = false if let current = self.operation { @@ -5788,7 +5840,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmi64UnOp(v) } }() - case 208: try { + case 212: try { var v: Fuzzilli_Protobuf_Wasmf32BinOp? var hadOneofValue = false if let current = self.operation { @@ -5801,7 +5853,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf32BinOp(v) } }() - case 209: try { + case 213: try { var v: Fuzzilli_Protobuf_Wasmf64BinOp? var hadOneofValue = false if let current = self.operation { @@ -5814,7 +5866,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf64BinOp(v) } }() - case 210: try { + case 214: try { var v: Fuzzilli_Protobuf_Wasmf32UnOp? var hadOneofValue = false if let current = self.operation { @@ -5827,7 +5879,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf32UnOp(v) } }() - case 211: try { + case 215: try { var v: Fuzzilli_Protobuf_Wasmf64UnOp? var hadOneofValue = false if let current = self.operation { @@ -5840,7 +5892,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmf64UnOp(v) } }() - case 212: try { + case 216: try { var v: Fuzzilli_Protobuf_WasmWrapi64Toi32? var hadOneofValue = false if let current = self.operation { @@ -5853,7 +5905,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmWrapi64Toi32(v) } }() - case 213: try { + case 217: try { var v: Fuzzilli_Protobuf_WasmTruncatef32Toi32? var hadOneofValue = false if let current = self.operation { @@ -5866,7 +5918,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncatef32Toi32(v) } }() - case 214: try { + case 218: try { var v: Fuzzilli_Protobuf_WasmTruncatef64Toi32? var hadOneofValue = false if let current = self.operation { @@ -5879,7 +5931,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncatef64Toi32(v) } }() - case 215: try { + case 219: try { var v: Fuzzilli_Protobuf_WasmExtendi32Toi64? var hadOneofValue = false if let current = self.operation { @@ -5892,7 +5944,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmExtendi32Toi64(v) } }() - case 216: try { + case 220: try { var v: Fuzzilli_Protobuf_WasmTruncatef32Toi64? var hadOneofValue = false if let current = self.operation { @@ -5905,7 +5957,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncatef32Toi64(v) } }() - case 217: try { + case 221: try { var v: Fuzzilli_Protobuf_WasmTruncatef64Toi64? var hadOneofValue = false if let current = self.operation { @@ -5918,7 +5970,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncatef64Toi64(v) } }() - case 218: try { + case 222: try { var v: Fuzzilli_Protobuf_WasmConverti32Tof32? var hadOneofValue = false if let current = self.operation { @@ -5931,7 +5983,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmConverti32Tof32(v) } }() - case 219: try { + case 223: try { var v: Fuzzilli_Protobuf_WasmConverti64Tof32? var hadOneofValue = false if let current = self.operation { @@ -5944,7 +5996,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmConverti64Tof32(v) } }() - case 220: try { + case 224: try { var v: Fuzzilli_Protobuf_WasmDemotef64Tof32? var hadOneofValue = false if let current = self.operation { @@ -5957,7 +6009,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDemotef64Tof32(v) } }() - case 221: try { + case 225: try { var v: Fuzzilli_Protobuf_WasmConverti32Tof64? var hadOneofValue = false if let current = self.operation { @@ -5970,7 +6022,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmConverti32Tof64(v) } }() - case 222: try { + case 226: try { var v: Fuzzilli_Protobuf_WasmConverti64Tof64? var hadOneofValue = false if let current = self.operation { @@ -5983,7 +6035,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmConverti64Tof64(v) } }() - case 223: try { + case 227: try { var v: Fuzzilli_Protobuf_WasmPromotef32Tof64? var hadOneofValue = false if let current = self.operation { @@ -5996,7 +6048,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmPromotef32Tof64(v) } }() - case 224: try { + case 228: try { var v: Fuzzilli_Protobuf_WasmReinterpretf32Asi32? var hadOneofValue = false if let current = self.operation { @@ -6009,7 +6061,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReinterpretf32Asi32(v) } }() - case 225: try { + case 229: try { var v: Fuzzilli_Protobuf_WasmReinterpretf64Asi64? var hadOneofValue = false if let current = self.operation { @@ -6022,7 +6074,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReinterpretf64Asi64(v) } }() - case 226: try { + case 230: try { var v: Fuzzilli_Protobuf_WasmReinterpreti32Asf32? var hadOneofValue = false if let current = self.operation { @@ -6035,7 +6087,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReinterpreti32Asf32(v) } }() - case 227: try { + case 231: try { var v: Fuzzilli_Protobuf_WasmReinterpreti64Asf64? var hadOneofValue = false if let current = self.operation { @@ -6048,7 +6100,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReinterpreti64Asf64(v) } }() - case 228: try { + case 232: try { var v: Fuzzilli_Protobuf_WasmSignExtend8Intoi32? var hadOneofValue = false if let current = self.operation { @@ -6061,7 +6113,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSignExtend8Intoi32(v) } }() - case 229: try { + case 233: try { var v: Fuzzilli_Protobuf_WasmSignExtend16Intoi32? var hadOneofValue = false if let current = self.operation { @@ -6074,7 +6126,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSignExtend16Intoi32(v) } }() - case 230: try { + case 234: try { var v: Fuzzilli_Protobuf_WasmSignExtend8Intoi64? var hadOneofValue = false if let current = self.operation { @@ -6087,7 +6139,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSignExtend8Intoi64(v) } }() - case 231: try { + case 235: try { var v: Fuzzilli_Protobuf_WasmSignExtend16Intoi64? var hadOneofValue = false if let current = self.operation { @@ -6100,7 +6152,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSignExtend16Intoi64(v) } }() - case 232: try { + case 236: try { var v: Fuzzilli_Protobuf_WasmSignExtend32Intoi64? var hadOneofValue = false if let current = self.operation { @@ -6113,7 +6165,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSignExtend32Intoi64(v) } }() - case 233: try { + case 237: try { var v: Fuzzilli_Protobuf_WasmTruncateSatf32Toi32? var hadOneofValue = false if let current = self.operation { @@ -6126,7 +6178,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncateSatf32Toi32(v) } }() - case 234: try { + case 238: try { var v: Fuzzilli_Protobuf_WasmTruncateSatf64Toi32? var hadOneofValue = false if let current = self.operation { @@ -6139,7 +6191,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncateSatf64Toi32(v) } }() - case 235: try { + case 239: try { var v: Fuzzilli_Protobuf_WasmTruncateSatf32Toi64? var hadOneofValue = false if let current = self.operation { @@ -6152,7 +6204,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncateSatf32Toi64(v) } }() - case 236: try { + case 240: try { var v: Fuzzilli_Protobuf_WasmTruncateSatf64Toi64? var hadOneofValue = false if let current = self.operation { @@ -6165,7 +6217,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTruncateSatf64Toi64(v) } }() - case 237: try { + case 241: try { var v: Fuzzilli_Protobuf_WasmReassign? var hadOneofValue = false if let current = self.operation { @@ -6178,7 +6230,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReassign(v) } }() - case 238: try { + case 242: try { var v: Fuzzilli_Protobuf_WasmDefineGlobal? var hadOneofValue = false if let current = self.operation { @@ -6191,7 +6243,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineGlobal(v) } }() - case 239: try { + case 243: try { var v: Fuzzilli_Protobuf_WasmDefineTable? var hadOneofValue = false if let current = self.operation { @@ -6204,7 +6256,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineTable(v) } }() - case 240: try { + case 244: try { var v: Fuzzilli_Protobuf_WasmDefineMemory? var hadOneofValue = false if let current = self.operation { @@ -6217,7 +6269,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineMemory(v) } }() - case 241: try { + case 245: try { var v: Fuzzilli_Protobuf_WasmDefineDataSegment? var hadOneofValue = false if let current = self.operation { @@ -6230,7 +6282,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineDataSegment(v) } }() - case 242: try { + case 246: try { var v: Fuzzilli_Protobuf_WasmLoadGlobal? var hadOneofValue = false if let current = self.operation { @@ -6243,7 +6295,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmLoadGlobal(v) } }() - case 243: try { + case 247: try { var v: Fuzzilli_Protobuf_WasmStoreGlobal? var hadOneofValue = false if let current = self.operation { @@ -6256,7 +6308,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmStoreGlobal(v) } }() - case 244: try { + case 248: try { var v: Fuzzilli_Protobuf_WasmTableGet? var hadOneofValue = false if let current = self.operation { @@ -6269,7 +6321,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableGet(v) } }() - case 245: try { + case 249: try { var v: Fuzzilli_Protobuf_WasmTableSet? var hadOneofValue = false if let current = self.operation { @@ -6282,7 +6334,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableSet(v) } }() - case 246: try { + case 250: try { var v: Fuzzilli_Protobuf_WasmTableSize? var hadOneofValue = false if let current = self.operation { @@ -6295,7 +6347,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableSize(v) } }() - case 247: try { + case 251: try { var v: Fuzzilli_Protobuf_WasmTableGrow? var hadOneofValue = false if let current = self.operation { @@ -6308,7 +6360,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableGrow(v) } }() - case 248: try { + case 252: try { var v: Fuzzilli_Protobuf_WasmCallIndirect? var hadOneofValue = false if let current = self.operation { @@ -6321,7 +6373,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmCallIndirect(v) } }() - case 249: try { + case 253: try { var v: Fuzzilli_Protobuf_WasmCallDirect? var hadOneofValue = false if let current = self.operation { @@ -6334,7 +6386,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmCallDirect(v) } }() - case 250: try { + case 254: try { var v: Fuzzilli_Protobuf_WasmReturnCallDirect? var hadOneofValue = false if let current = self.operation { @@ -6347,7 +6399,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReturnCallDirect(v) } }() - case 251: try { + case 255: try { var v: Fuzzilli_Protobuf_WasmReturnCallIndirect? var hadOneofValue = false if let current = self.operation { @@ -6360,7 +6412,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmReturnCallIndirect(v) } }() - case 252: try { + case 256: try { var v: Fuzzilli_Protobuf_WasmMemoryLoad? var hadOneofValue = false if let current = self.operation { @@ -6373,7 +6425,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryLoad(v) } }() - case 253: try { + case 257: try { var v: Fuzzilli_Protobuf_WasmMemoryStore? var hadOneofValue = false if let current = self.operation { @@ -6386,7 +6438,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryStore(v) } }() - case 254: try { + case 258: try { var v: Fuzzilli_Protobuf_WasmAtomicLoad? var hadOneofValue = false if let current = self.operation { @@ -6399,7 +6451,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmAtomicLoad(v) } }() - case 255: try { + case 259: try { var v: Fuzzilli_Protobuf_WasmAtomicStore? var hadOneofValue = false if let current = self.operation { @@ -6412,7 +6464,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmAtomicStore(v) } }() - case 256: try { + case 260: try { var v: Fuzzilli_Protobuf_WasmAtomicRMW? var hadOneofValue = false if let current = self.operation { @@ -6425,7 +6477,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmAtomicRmw(v) } }() - case 257: try { + case 261: try { var v: Fuzzilli_Protobuf_WasmAtomicCmpxchg? var hadOneofValue = false if let current = self.operation { @@ -6438,7 +6490,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmAtomicCmpxchg(v) } }() - case 258: try { + case 262: try { var v: Fuzzilli_Protobuf_WasmMemorySize? var hadOneofValue = false if let current = self.operation { @@ -6451,7 +6503,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemorySize(v) } }() - case 259: try { + case 263: try { var v: Fuzzilli_Protobuf_WasmMemoryGrow? var hadOneofValue = false if let current = self.operation { @@ -6464,7 +6516,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryGrow(v) } }() - case 260: try { + case 264: try { var v: Fuzzilli_Protobuf_WasmMemoryFill? var hadOneofValue = false if let current = self.operation { @@ -6477,7 +6529,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryFill(v) } }() - case 261: try { + case 265: try { var v: Fuzzilli_Protobuf_WasmMemoryInit? var hadOneofValue = false if let current = self.operation { @@ -6490,7 +6542,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryInit(v) } }() - case 262: try { + case 266: try { var v: Fuzzilli_Protobuf_WasmDropDataSegment? var hadOneofValue = false if let current = self.operation { @@ -6503,7 +6555,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDropDataSegment(v) } }() - case 263: try { + case 267: try { var v: Fuzzilli_Protobuf_BeginWasmFunction? var hadOneofValue = false if let current = self.operation { @@ -6516,7 +6568,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .beginWasmFunction(v) } }() - case 264: try { + case 268: try { var v: Fuzzilli_Protobuf_EndWasmFunction? var hadOneofValue = false if let current = self.operation { @@ -6529,7 +6581,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .endWasmFunction(v) } }() - case 265: try { + case 269: try { var v: Fuzzilli_Protobuf_WasmBeginBlock? var hadOneofValue = false if let current = self.operation { @@ -6542,7 +6594,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginBlock(v) } }() - case 266: try { + case 270: try { var v: Fuzzilli_Protobuf_WasmEndBlock? var hadOneofValue = false if let current = self.operation { @@ -6555,7 +6607,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndBlock(v) } }() - case 267: try { + case 271: try { var v: Fuzzilli_Protobuf_WasmBeginLoop? var hadOneofValue = false if let current = self.operation { @@ -6568,7 +6620,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginLoop(v) } }() - case 268: try { + case 272: try { var v: Fuzzilli_Protobuf_WasmEndLoop? var hadOneofValue = false if let current = self.operation { @@ -6581,7 +6633,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndLoop(v) } }() - case 269: try { + case 273: try { var v: Fuzzilli_Protobuf_WasmBranch? var hadOneofValue = false if let current = self.operation { @@ -6594,7 +6646,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBranch(v) } }() - case 270: try { + case 274: try { var v: Fuzzilli_Protobuf_WasmBranchIf? var hadOneofValue = false if let current = self.operation { @@ -6607,7 +6659,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBranchIf(v) } }() - case 271: try { + case 275: try { var v: Fuzzilli_Protobuf_WasmBranchTable? var hadOneofValue = false if let current = self.operation { @@ -6620,7 +6672,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBranchTable(v) } }() - case 272: try { + case 276: try { var v: Fuzzilli_Protobuf_WasmNop? var hadOneofValue = false if let current = self.operation { @@ -6633,7 +6685,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmNop(v) } }() - case 273: try { + case 277: try { var v: Fuzzilli_Protobuf_WasmBeginIf? var hadOneofValue = false if let current = self.operation { @@ -6646,7 +6698,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginIf(v) } }() - case 274: try { + case 278: try { var v: Fuzzilli_Protobuf_WasmBeginElse? var hadOneofValue = false if let current = self.operation { @@ -6659,7 +6711,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginElse(v) } }() - case 275: try { + case 279: try { var v: Fuzzilli_Protobuf_WasmEndIf? var hadOneofValue = false if let current = self.operation { @@ -6672,7 +6724,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndIf(v) } }() - case 276: try { + case 280: try { var v: Fuzzilli_Protobuf_WasmBeginTryTable? var hadOneofValue = false if let current = self.operation { @@ -6685,7 +6737,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginTryTable(v) } }() - case 277: try { + case 281: try { var v: Fuzzilli_Protobuf_WasmEndTryTable? var hadOneofValue = false if let current = self.operation { @@ -6698,7 +6750,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndTryTable(v) } }() - case 278: try { + case 282: try { var v: Fuzzilli_Protobuf_WasmBeginTry? var hadOneofValue = false if let current = self.operation { @@ -6711,7 +6763,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginTry(v) } }() - case 279: try { + case 283: try { var v: Fuzzilli_Protobuf_WasmBeginCatchAll? var hadOneofValue = false if let current = self.operation { @@ -6724,7 +6776,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginCatchAll(v) } }() - case 280: try { + case 284: try { var v: Fuzzilli_Protobuf_WasmBeginCatch? var hadOneofValue = false if let current = self.operation { @@ -6737,7 +6789,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginCatch(v) } }() - case 281: try { + case 285: try { var v: Fuzzilli_Protobuf_WasmEndTry? var hadOneofValue = false if let current = self.operation { @@ -6750,7 +6802,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndTry(v) } }() - case 282: try { + case 286: try { var v: Fuzzilli_Protobuf_WasmBeginTryDelegate? var hadOneofValue = false if let current = self.operation { @@ -6763,7 +6815,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginTryDelegate(v) } }() - case 283: try { + case 287: try { var v: Fuzzilli_Protobuf_WasmEndTryDelegate? var hadOneofValue = false if let current = self.operation { @@ -6776,7 +6828,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndTryDelegate(v) } }() - case 284: try { + case 288: try { var v: Fuzzilli_Protobuf_WasmThrow? var hadOneofValue = false if let current = self.operation { @@ -6789,7 +6841,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmThrow(v) } }() - case 285: try { + case 289: try { var v: Fuzzilli_Protobuf_WasmRethrow? var hadOneofValue = false if let current = self.operation { @@ -6802,7 +6854,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmRethrow(v) } }() - case 286: try { + case 290: try { var v: Fuzzilli_Protobuf_WasmThrowRef? var hadOneofValue = false if let current = self.operation { @@ -6815,7 +6867,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmThrowRef(v) } }() - case 287: try { + case 291: try { var v: Fuzzilli_Protobuf_WasmDefineTag? var hadOneofValue = false if let current = self.operation { @@ -6828,7 +6880,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineTag(v) } }() - case 288: try { + case 292: try { var v: Fuzzilli_Protobuf_ConstSimd128? var hadOneofValue = false if let current = self.operation { @@ -6841,7 +6893,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .constSimd128(v) } }() - case 289: try { + case 293: try { var v: Fuzzilli_Protobuf_WasmSimd128Compare? var hadOneofValue = false if let current = self.operation { @@ -6854,7 +6906,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128Compare(v) } }() - case 290: try { + case 294: try { var v: Fuzzilli_Protobuf_WasmSimd128IntegerUnOp? var hadOneofValue = false if let current = self.operation { @@ -6867,7 +6919,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128IntegerUnOp(v) } }() - case 291: try { + case 295: try { var v: Fuzzilli_Protobuf_WasmSimd128IntegerBinOp? var hadOneofValue = false if let current = self.operation { @@ -6880,7 +6932,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128IntegerBinOp(v) } }() - case 292: try { + case 296: try { var v: Fuzzilli_Protobuf_WasmSimd128IntegerTernaryOp? var hadOneofValue = false if let current = self.operation { @@ -6893,7 +6945,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128IntegerTernaryOp(v) } }() - case 293: try { + case 297: try { var v: Fuzzilli_Protobuf_WasmSimd128FloatUnOp? var hadOneofValue = false if let current = self.operation { @@ -6906,7 +6958,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128FloatUnOp(v) } }() - case 294: try { + case 298: try { var v: Fuzzilli_Protobuf_WasmSimd128FloatBinOp? var hadOneofValue = false if let current = self.operation { @@ -6919,7 +6971,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128FloatBinOp(v) } }() - case 295: try { + case 299: try { var v: Fuzzilli_Protobuf_WasmSimd128FloatTernaryOp? var hadOneofValue = false if let current = self.operation { @@ -6932,7 +6984,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimd128FloatTernaryOp(v) } }() - case 296: try { + case 300: try { var v: Fuzzilli_Protobuf_WasmSimdSplat? var hadOneofValue = false if let current = self.operation { @@ -6945,7 +6997,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdSplat(v) } }() - case 297: try { + case 301: try { var v: Fuzzilli_Protobuf_WasmSimdExtractLane? var hadOneofValue = false if let current = self.operation { @@ -6958,7 +7010,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdExtractLane(v) } }() - case 298: try { + case 302: try { var v: Fuzzilli_Protobuf_WasmSimdReplaceLane? var hadOneofValue = false if let current = self.operation { @@ -6971,7 +7023,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdReplaceLane(v) } }() - case 299: try { + case 303: try { var v: Fuzzilli_Protobuf_WasmSimdStoreLane? var hadOneofValue = false if let current = self.operation { @@ -6984,7 +7036,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdStoreLane(v) } }() - case 300: try { + case 304: try { var v: Fuzzilli_Protobuf_WasmSimdLoadLane? var hadOneofValue = false if let current = self.operation { @@ -6997,7 +7049,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdLoadLane(v) } }() - case 301: try { + case 305: try { var v: Fuzzilli_Protobuf_WasmSimdLoad? var hadOneofValue = false if let current = self.operation { @@ -7010,7 +7062,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSimdLoad(v) } }() - case 302: try { + case 306: try { var v: Fuzzilli_Protobuf_WasmUnreachable? var hadOneofValue = false if let current = self.operation { @@ -7023,7 +7075,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmUnreachable(v) } }() - case 303: try { + case 307: try { var v: Fuzzilli_Protobuf_WasmSelect? var hadOneofValue = false if let current = self.operation { @@ -7036,7 +7088,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmSelect(v) } }() - case 304: try { + case 308: try { var v: Fuzzilli_Protobuf_WasmBeginTypeGroup? var hadOneofValue = false if let current = self.operation { @@ -7049,7 +7101,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmBeginTypeGroup(v) } }() - case 305: try { + case 309: try { var v: Fuzzilli_Protobuf_WasmEndTypeGroup? var hadOneofValue = false if let current = self.operation { @@ -7062,7 +7114,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmEndTypeGroup(v) } }() - case 306: try { + case 310: try { var v: Fuzzilli_Protobuf_WasmDefineArrayType? var hadOneofValue = false if let current = self.operation { @@ -7075,7 +7127,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineArrayType(v) } }() - case 307: try { + case 311: try { var v: Fuzzilli_Protobuf_WasmDefineStructType? var hadOneofValue = false if let current = self.operation { @@ -7088,7 +7140,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineStructType(v) } }() - case 308: try { + case 312: try { var v: Fuzzilli_Protobuf_WasmDefineForwardOrSelfReference? var hadOneofValue = false if let current = self.operation { @@ -7101,7 +7153,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineForwardOrSelfReference(v) } }() - case 309: try { + case 313: try { var v: Fuzzilli_Protobuf_WasmResolveForwardReference? var hadOneofValue = false if let current = self.operation { @@ -7114,7 +7166,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmResolveForwardReference(v) } }() - case 310: try { + case 314: try { var v: Fuzzilli_Protobuf_WasmArrayNewFixed? var hadOneofValue = false if let current = self.operation { @@ -7127,7 +7179,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmArrayNewFixed(v) } }() - case 311: try { + case 315: try { var v: Fuzzilli_Protobuf_WasmArrayNewDefault? var hadOneofValue = false if let current = self.operation { @@ -7140,7 +7192,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmArrayNewDefault(v) } }() - case 312: try { + case 316: try { var v: Fuzzilli_Protobuf_WasmArrayLen? var hadOneofValue = false if let current = self.operation { @@ -7153,7 +7205,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmArrayLen(v) } }() - case 313: try { + case 317: try { var v: Fuzzilli_Protobuf_WasmArrayGet? var hadOneofValue = false if let current = self.operation { @@ -7166,7 +7218,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmArrayGet(v) } }() - case 314: try { + case 318: try { var v: Fuzzilli_Protobuf_WasmArraySet? var hadOneofValue = false if let current = self.operation { @@ -7179,7 +7231,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmArraySet(v) } }() - case 315: try { + case 319: try { var v: Fuzzilli_Protobuf_WasmStructNewDefault? var hadOneofValue = false if let current = self.operation { @@ -7192,7 +7244,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmStructNewDefault(v) } }() - case 316: try { + case 320: try { var v: Fuzzilli_Protobuf_WasmStructGet? var hadOneofValue = false if let current = self.operation { @@ -7205,7 +7257,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmStructGet(v) } }() - case 317: try { + case 321: try { var v: Fuzzilli_Protobuf_WasmStructSet? var hadOneofValue = false if let current = self.operation { @@ -7218,7 +7270,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmStructSet(v) } }() - case 318: try { + case 322: try { var v: Fuzzilli_Protobuf_WasmRefNull? var hadOneofValue = false if let current = self.operation { @@ -7231,7 +7283,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmRefNull(v) } }() - case 319: try { + case 323: try { var v: Fuzzilli_Protobuf_WasmRefIsNull? var hadOneofValue = false if let current = self.operation { @@ -7244,7 +7296,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmRefIsNull(v) } }() - case 320: try { + case 324: try { var v: Fuzzilli_Protobuf_WasmRefI31? var hadOneofValue = false if let current = self.operation { @@ -7257,7 +7309,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmRefI31(v) } }() - case 321: try { + case 325: try { var v: Fuzzilli_Protobuf_WasmI31Get? var hadOneofValue = false if let current = self.operation { @@ -7270,7 +7322,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmI31Get(v) } }() - case 322: try { + case 326: try { var v: Fuzzilli_Protobuf_WasmAnyConvertExtern? var hadOneofValue = false if let current = self.operation { @@ -7283,7 +7335,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmAnyConvertExtern(v) } }() - case 323: try { + case 327: try { var v: Fuzzilli_Protobuf_WasmExternConvertAny? var hadOneofValue = false if let current = self.operation { @@ -7296,7 +7348,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmExternConvertAny(v) } }() - case 324: try { + case 328: try { var v: Fuzzilli_Protobuf_WasmMemoryCopy? var hadOneofValue = false if let current = self.operation { @@ -7309,7 +7361,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmMemoryCopy(v) } }() - case 325: try { + case 329: try { var v: Fuzzilli_Protobuf_WasmDefineElementSegment? var hadOneofValue = false if let current = self.operation { @@ -7322,7 +7374,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineElementSegment(v) } }() - case 326: try { + case 330: try { var v: Fuzzilli_Protobuf_WasmTableInit? var hadOneofValue = false if let current = self.operation { @@ -7335,7 +7387,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableInit(v) } }() - case 327: try { + case 331: try { var v: Fuzzilli_Protobuf_WasmDropElementSegment? var hadOneofValue = false if let current = self.operation { @@ -7348,7 +7400,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDropElementSegment(v) } }() - case 328: try { + case 332: try { var v: Fuzzilli_Protobuf_WasmTableCopy? var hadOneofValue = false if let current = self.operation { @@ -7361,7 +7413,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmTableCopy(v) } }() - case 329: try { + case 333: try { var v: Fuzzilli_Protobuf_WasmDefineSignatureType? var hadOneofValue = false if let current = self.operation { @@ -7374,7 +7426,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .wasmDefineSignatureType(v) } }() - case 330: try { + case 334: try { var v: Fuzzilli_Protobuf_CreateNamedDisposableVariable? var hadOneofValue = false if let current = self.operation { @@ -7387,7 +7439,7 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createNamedDisposableVariable(v) } }() - case 331: try { + case 335: try { var v: Fuzzilli_Protobuf_CreateNamedAsyncDisposableVariable? var hadOneofValue = false if let current = self.operation { @@ -7400,58 +7452,6 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M self.operation = .createNamedAsyncDisposableVariable(v) } }() - case 332: try { - var v: Fuzzilli_Protobuf_BeginClassInstanceComputedMethod? - var hadOneofValue = false - if let current = self.operation { - hadOneofValue = true - if case .beginClassInstanceComputedMethod(let m) = current {v = m} - } - try decoder.decodeSingularMessageField(value: &v) - if let v = v { - if hadOneofValue {try decoder.handleConflictingOneOf()} - self.operation = .beginClassInstanceComputedMethod(v) - } - }() - case 333: try { - var v: Fuzzilli_Protobuf_EndClassInstanceComputedMethod? - var hadOneofValue = false - if let current = self.operation { - hadOneofValue = true - if case .endClassInstanceComputedMethod(let m) = current {v = m} - } - try decoder.decodeSingularMessageField(value: &v) - if let v = v { - if hadOneofValue {try decoder.handleConflictingOneOf()} - self.operation = .endClassInstanceComputedMethod(v) - } - }() - case 334: try { - var v: Fuzzilli_Protobuf_BeginClassStaticComputedMethod? - var hadOneofValue = false - if let current = self.operation { - hadOneofValue = true - if case .beginClassStaticComputedMethod(let m) = current {v = m} - } - try decoder.decodeSingularMessageField(value: &v) - if let v = v { - if hadOneofValue {try decoder.handleConflictingOneOf()} - self.operation = .beginClassStaticComputedMethod(v) - } - }() - case 335: try { - var v: Fuzzilli_Protobuf_EndClassStaticComputedMethod? - var hadOneofValue = false - if let current = self.operation { - hadOneofValue = true - if case .endClassStaticComputedMethod(let m) = current {v = m} - } - try decoder.decodeSingularMessageField(value: &v) - if let v = v { - if hadOneofValue {try decoder.handleConflictingOneOf()} - self.operation = .endClassStaticComputedMethod(v) - } - }() default: break } } @@ -7618,1188 +7618,1188 @@ extension Fuzzilli_Protobuf_Instruction: SwiftProtobuf.Message, SwiftProtobuf._M guard case .endClassInstanceMethod(let v)? = self.operation else { preconditionFailure() } try visitor.visitSingularMessageField(value: v, fieldNumber: 39) }() + case .beginClassInstanceComputedMethod?: try { + guard case .beginClassInstanceComputedMethod(let v)? = self.operation else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 40) + }() + case .endClassInstanceComputedMethod?: try { + guard case .endClassInstanceComputedMethod(let v)? = self.operation else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 41) + }() case .beginClassInstanceGetter?: try { guard case .beginClassInstanceGetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 40) + try visitor.visitSingularMessageField(value: v, fieldNumber: 42) }() case .endClassInstanceGetter?: try { guard case .endClassInstanceGetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 41) + try visitor.visitSingularMessageField(value: v, fieldNumber: 43) }() case .beginClassInstanceSetter?: try { guard case .beginClassInstanceSetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 42) + try visitor.visitSingularMessageField(value: v, fieldNumber: 44) }() case .endClassInstanceSetter?: try { guard case .endClassInstanceSetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 43) + try visitor.visitSingularMessageField(value: v, fieldNumber: 45) }() case .classAddStaticProperty?: try { guard case .classAddStaticProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 44) + try visitor.visitSingularMessageField(value: v, fieldNumber: 46) }() case .classAddStaticElement?: try { guard case .classAddStaticElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 45) + try visitor.visitSingularMessageField(value: v, fieldNumber: 47) }() case .classAddStaticComputedProperty?: try { guard case .classAddStaticComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 46) + try visitor.visitSingularMessageField(value: v, fieldNumber: 48) }() case .beginClassStaticInitializer?: try { guard case .beginClassStaticInitializer(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 47) + try visitor.visitSingularMessageField(value: v, fieldNumber: 49) }() case .endClassStaticInitializer?: try { guard case .endClassStaticInitializer(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 48) + try visitor.visitSingularMessageField(value: v, fieldNumber: 50) }() case .beginClassStaticMethod?: try { guard case .beginClassStaticMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 49) + try visitor.visitSingularMessageField(value: v, fieldNumber: 51) }() case .endClassStaticMethod?: try { guard case .endClassStaticMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 50) + try visitor.visitSingularMessageField(value: v, fieldNumber: 52) + }() + case .beginClassStaticComputedMethod?: try { + guard case .beginClassStaticComputedMethod(let v)? = self.operation else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 53) + }() + case .endClassStaticComputedMethod?: try { + guard case .endClassStaticComputedMethod(let v)? = self.operation else { preconditionFailure() } + try visitor.visitSingularMessageField(value: v, fieldNumber: 54) }() case .beginClassStaticGetter?: try { guard case .beginClassStaticGetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 51) + try visitor.visitSingularMessageField(value: v, fieldNumber: 55) }() case .endClassStaticGetter?: try { guard case .endClassStaticGetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 52) + try visitor.visitSingularMessageField(value: v, fieldNumber: 56) }() case .beginClassStaticSetter?: try { guard case .beginClassStaticSetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 53) + try visitor.visitSingularMessageField(value: v, fieldNumber: 57) }() case .endClassStaticSetter?: try { guard case .endClassStaticSetter(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 54) + try visitor.visitSingularMessageField(value: v, fieldNumber: 58) }() case .classAddPrivateInstanceProperty?: try { guard case .classAddPrivateInstanceProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 55) + try visitor.visitSingularMessageField(value: v, fieldNumber: 59) }() case .beginClassPrivateInstanceMethod?: try { guard case .beginClassPrivateInstanceMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 56) + try visitor.visitSingularMessageField(value: v, fieldNumber: 60) }() case .endClassPrivateInstanceMethod?: try { guard case .endClassPrivateInstanceMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 57) + try visitor.visitSingularMessageField(value: v, fieldNumber: 61) }() case .classAddPrivateStaticProperty?: try { guard case .classAddPrivateStaticProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 58) + try visitor.visitSingularMessageField(value: v, fieldNumber: 62) }() case .beginClassPrivateStaticMethod?: try { guard case .beginClassPrivateStaticMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 59) + try visitor.visitSingularMessageField(value: v, fieldNumber: 63) }() case .endClassPrivateStaticMethod?: try { guard case .endClassPrivateStaticMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 60) + try visitor.visitSingularMessageField(value: v, fieldNumber: 64) }() case .endClassDefinition?: try { guard case .endClassDefinition(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 61) + try visitor.visitSingularMessageField(value: v, fieldNumber: 65) }() case .createArray?: try { guard case .createArray(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 62) + try visitor.visitSingularMessageField(value: v, fieldNumber: 66) }() case .createIntArray?: try { guard case .createIntArray(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 63) + try visitor.visitSingularMessageField(value: v, fieldNumber: 67) }() case .createFloatArray?: try { guard case .createFloatArray(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 64) + try visitor.visitSingularMessageField(value: v, fieldNumber: 68) }() case .createArrayWithSpread?: try { guard case .createArrayWithSpread(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 65) + try visitor.visitSingularMessageField(value: v, fieldNumber: 69) }() case .createTemplateString?: try { guard case .createTemplateString(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 66) + try visitor.visitSingularMessageField(value: v, fieldNumber: 70) }() case .getProperty?: try { guard case .getProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 67) + try visitor.visitSingularMessageField(value: v, fieldNumber: 71) }() case .setProperty?: try { guard case .setProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 68) + try visitor.visitSingularMessageField(value: v, fieldNumber: 72) }() case .updateProperty?: try { guard case .updateProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 69) + try visitor.visitSingularMessageField(value: v, fieldNumber: 73) }() case .deleteProperty?: try { guard case .deleteProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 70) + try visitor.visitSingularMessageField(value: v, fieldNumber: 74) }() case .configureProperty?: try { guard case .configureProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 71) + try visitor.visitSingularMessageField(value: v, fieldNumber: 75) }() case .getElement?: try { guard case .getElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 72) + try visitor.visitSingularMessageField(value: v, fieldNumber: 76) }() case .setElement?: try { guard case .setElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 73) + try visitor.visitSingularMessageField(value: v, fieldNumber: 77) }() case .updateElement?: try { guard case .updateElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 74) + try visitor.visitSingularMessageField(value: v, fieldNumber: 78) }() case .deleteElement?: try { guard case .deleteElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 75) + try visitor.visitSingularMessageField(value: v, fieldNumber: 79) }() case .configureElement?: try { guard case .configureElement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 76) + try visitor.visitSingularMessageField(value: v, fieldNumber: 80) }() case .getComputedProperty?: try { guard case .getComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 77) + try visitor.visitSingularMessageField(value: v, fieldNumber: 81) }() case .setComputedProperty?: try { guard case .setComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 78) + try visitor.visitSingularMessageField(value: v, fieldNumber: 82) }() case .updateComputedProperty?: try { guard case .updateComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 79) + try visitor.visitSingularMessageField(value: v, fieldNumber: 83) }() case .deleteComputedProperty?: try { guard case .deleteComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 80) + try visitor.visitSingularMessageField(value: v, fieldNumber: 84) }() case .configureComputedProperty?: try { guard case .configureComputedProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 81) + try visitor.visitSingularMessageField(value: v, fieldNumber: 85) }() case .typeOf?: try { guard case .typeOf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 82) + try visitor.visitSingularMessageField(value: v, fieldNumber: 86) }() case .void?: try { guard case .void(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 83) + try visitor.visitSingularMessageField(value: v, fieldNumber: 87) }() case .testInstanceOf?: try { guard case .testInstanceOf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 84) + try visitor.visitSingularMessageField(value: v, fieldNumber: 88) }() case .testIn?: try { guard case .testIn(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 85) + try visitor.visitSingularMessageField(value: v, fieldNumber: 89) }() case .beginPlainFunction?: try { guard case .beginPlainFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 86) + try visitor.visitSingularMessageField(value: v, fieldNumber: 90) }() case .endPlainFunction?: try { guard case .endPlainFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 87) + try visitor.visitSingularMessageField(value: v, fieldNumber: 91) }() case .beginArrowFunction?: try { guard case .beginArrowFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 88) + try visitor.visitSingularMessageField(value: v, fieldNumber: 92) }() case .endArrowFunction?: try { guard case .endArrowFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 89) + try visitor.visitSingularMessageField(value: v, fieldNumber: 93) }() case .beginGeneratorFunction?: try { guard case .beginGeneratorFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 90) + try visitor.visitSingularMessageField(value: v, fieldNumber: 94) }() case .endGeneratorFunction?: try { guard case .endGeneratorFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 91) + try visitor.visitSingularMessageField(value: v, fieldNumber: 95) }() case .beginAsyncFunction?: try { guard case .beginAsyncFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 92) + try visitor.visitSingularMessageField(value: v, fieldNumber: 96) }() case .endAsyncFunction?: try { guard case .endAsyncFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 93) + try visitor.visitSingularMessageField(value: v, fieldNumber: 97) }() case .beginAsyncArrowFunction?: try { guard case .beginAsyncArrowFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 94) + try visitor.visitSingularMessageField(value: v, fieldNumber: 98) }() case .endAsyncArrowFunction?: try { guard case .endAsyncArrowFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 95) + try visitor.visitSingularMessageField(value: v, fieldNumber: 99) }() case .beginAsyncGeneratorFunction?: try { guard case .beginAsyncGeneratorFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 96) + try visitor.visitSingularMessageField(value: v, fieldNumber: 100) }() case .endAsyncGeneratorFunction?: try { guard case .endAsyncGeneratorFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 97) + try visitor.visitSingularMessageField(value: v, fieldNumber: 101) }() case .beginConstructor?: try { guard case .beginConstructor(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 98) + try visitor.visitSingularMessageField(value: v, fieldNumber: 102) }() case .endConstructor?: try { guard case .endConstructor(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 99) + try visitor.visitSingularMessageField(value: v, fieldNumber: 103) }() case .directive?: try { guard case .directive(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 100) + try visitor.visitSingularMessageField(value: v, fieldNumber: 104) }() case .return?: try { guard case .return(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 101) + try visitor.visitSingularMessageField(value: v, fieldNumber: 105) }() case .yield?: try { guard case .yield(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 102) + try visitor.visitSingularMessageField(value: v, fieldNumber: 106) }() case .yieldEach?: try { guard case .yieldEach(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 103) + try visitor.visitSingularMessageField(value: v, fieldNumber: 107) }() case .await?: try { guard case .await(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 104) + try visitor.visitSingularMessageField(value: v, fieldNumber: 108) }() case .callFunction?: try { guard case .callFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 105) + try visitor.visitSingularMessageField(value: v, fieldNumber: 109) }() case .callFunctionWithSpread?: try { guard case .callFunctionWithSpread(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 106) + try visitor.visitSingularMessageField(value: v, fieldNumber: 110) }() case .construct?: try { guard case .construct(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 107) + try visitor.visitSingularMessageField(value: v, fieldNumber: 111) }() case .constructWithSpread?: try { guard case .constructWithSpread(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 108) + try visitor.visitSingularMessageField(value: v, fieldNumber: 112) }() case .callMethod?: try { guard case .callMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 109) + try visitor.visitSingularMessageField(value: v, fieldNumber: 113) }() case .callMethodWithSpread?: try { guard case .callMethodWithSpread(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 110) + try visitor.visitSingularMessageField(value: v, fieldNumber: 114) }() case .callComputedMethod?: try { guard case .callComputedMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 111) + try visitor.visitSingularMessageField(value: v, fieldNumber: 115) }() case .callComputedMethodWithSpread?: try { guard case .callComputedMethodWithSpread(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 112) + try visitor.visitSingularMessageField(value: v, fieldNumber: 116) }() case .unaryOperation?: try { guard case .unaryOperation(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 113) + try visitor.visitSingularMessageField(value: v, fieldNumber: 117) }() case .binaryOperation?: try { guard case .binaryOperation(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 114) + try visitor.visitSingularMessageField(value: v, fieldNumber: 118) }() case .ternaryOperation?: try { guard case .ternaryOperation(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 115) + try visitor.visitSingularMessageField(value: v, fieldNumber: 119) }() case .update?: try { guard case .update(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 116) + try visitor.visitSingularMessageField(value: v, fieldNumber: 120) }() case .dup?: try { guard case .dup(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 117) + try visitor.visitSingularMessageField(value: v, fieldNumber: 121) }() case .reassign?: try { guard case .reassign(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 118) + try visitor.visitSingularMessageField(value: v, fieldNumber: 122) }() case .destructArray?: try { guard case .destructArray(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 119) + try visitor.visitSingularMessageField(value: v, fieldNumber: 123) }() case .destructArrayAndReassign?: try { guard case .destructArrayAndReassign(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 120) + try visitor.visitSingularMessageField(value: v, fieldNumber: 124) }() case .destructObject?: try { guard case .destructObject(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 121) + try visitor.visitSingularMessageField(value: v, fieldNumber: 125) }() case .destructObjectAndReassign?: try { guard case .destructObjectAndReassign(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 122) + try visitor.visitSingularMessageField(value: v, fieldNumber: 126) }() case .compare?: try { guard case .compare(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 123) + try visitor.visitSingularMessageField(value: v, fieldNumber: 127) }() case .eval?: try { guard case .eval(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 124) + try visitor.visitSingularMessageField(value: v, fieldNumber: 128) }() case .beginWith?: try { guard case .beginWith(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 125) + try visitor.visitSingularMessageField(value: v, fieldNumber: 129) }() case .endWith?: try { guard case .endWith(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 126) + try visitor.visitSingularMessageField(value: v, fieldNumber: 130) }() case .callSuperConstructor?: try { guard case .callSuperConstructor(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 127) + try visitor.visitSingularMessageField(value: v, fieldNumber: 131) }() case .callSuperMethod?: try { guard case .callSuperMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 128) + try visitor.visitSingularMessageField(value: v, fieldNumber: 132) }() case .getPrivateProperty?: try { guard case .getPrivateProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 129) + try visitor.visitSingularMessageField(value: v, fieldNumber: 133) }() case .setPrivateProperty?: try { guard case .setPrivateProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 130) + try visitor.visitSingularMessageField(value: v, fieldNumber: 134) }() case .updatePrivateProperty?: try { guard case .updatePrivateProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 131) + try visitor.visitSingularMessageField(value: v, fieldNumber: 135) }() case .callPrivateMethod?: try { guard case .callPrivateMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 132) + try visitor.visitSingularMessageField(value: v, fieldNumber: 136) }() case .getSuperProperty?: try { guard case .getSuperProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 133) + try visitor.visitSingularMessageField(value: v, fieldNumber: 137) }() case .setSuperProperty?: try { guard case .setSuperProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 134) + try visitor.visitSingularMessageField(value: v, fieldNumber: 138) }() case .getComputedSuperProperty?: try { guard case .getComputedSuperProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 135) + try visitor.visitSingularMessageField(value: v, fieldNumber: 139) }() case .setComputedSuperProperty?: try { guard case .setComputedSuperProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 136) + try visitor.visitSingularMessageField(value: v, fieldNumber: 140) }() case .updateSuperProperty?: try { guard case .updateSuperProperty(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 137) + try visitor.visitSingularMessageField(value: v, fieldNumber: 141) }() case .beginIf?: try { guard case .beginIf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 138) + try visitor.visitSingularMessageField(value: v, fieldNumber: 142) }() case .beginElse?: try { guard case .beginElse(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 139) + try visitor.visitSingularMessageField(value: v, fieldNumber: 143) }() case .endIf?: try { guard case .endIf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 140) + try visitor.visitSingularMessageField(value: v, fieldNumber: 144) }() case .beginWhileLoopHeader?: try { guard case .beginWhileLoopHeader(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 141) + try visitor.visitSingularMessageField(value: v, fieldNumber: 145) }() case .beginWhileLoopBody?: try { guard case .beginWhileLoopBody(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 142) + try visitor.visitSingularMessageField(value: v, fieldNumber: 146) }() case .endWhileLoop?: try { guard case .endWhileLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 143) + try visitor.visitSingularMessageField(value: v, fieldNumber: 147) }() case .beginDoWhileLoopBody?: try { guard case .beginDoWhileLoopBody(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 144) + try visitor.visitSingularMessageField(value: v, fieldNumber: 148) }() case .beginDoWhileLoopHeader?: try { guard case .beginDoWhileLoopHeader(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 145) + try visitor.visitSingularMessageField(value: v, fieldNumber: 149) }() case .endDoWhileLoop?: try { guard case .endDoWhileLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 146) + try visitor.visitSingularMessageField(value: v, fieldNumber: 150) }() case .beginForLoopInitializer?: try { guard case .beginForLoopInitializer(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 147) + try visitor.visitSingularMessageField(value: v, fieldNumber: 151) }() case .beginForLoopCondition?: try { guard case .beginForLoopCondition(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 148) + try visitor.visitSingularMessageField(value: v, fieldNumber: 152) }() case .beginForLoopAfterthought?: try { guard case .beginForLoopAfterthought(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 149) + try visitor.visitSingularMessageField(value: v, fieldNumber: 153) }() case .beginForLoopBody?: try { guard case .beginForLoopBody(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 150) + try visitor.visitSingularMessageField(value: v, fieldNumber: 154) }() case .endForLoop?: try { guard case .endForLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 151) + try visitor.visitSingularMessageField(value: v, fieldNumber: 155) }() case .beginForInLoop?: try { guard case .beginForInLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 152) + try visitor.visitSingularMessageField(value: v, fieldNumber: 156) }() case .endForInLoop?: try { guard case .endForInLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 153) + try visitor.visitSingularMessageField(value: v, fieldNumber: 157) }() case .beginForOfLoop?: try { guard case .beginForOfLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 154) + try visitor.visitSingularMessageField(value: v, fieldNumber: 158) }() case .beginForOfLoopWithDestruct?: try { guard case .beginForOfLoopWithDestruct(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 155) + try visitor.visitSingularMessageField(value: v, fieldNumber: 159) }() case .endForOfLoop?: try { guard case .endForOfLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 156) + try visitor.visitSingularMessageField(value: v, fieldNumber: 160) }() case .beginRepeatLoop?: try { guard case .beginRepeatLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 157) + try visitor.visitSingularMessageField(value: v, fieldNumber: 161) }() case .endRepeatLoop?: try { guard case .endRepeatLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 158) + try visitor.visitSingularMessageField(value: v, fieldNumber: 162) }() case .loopBreak?: try { guard case .loopBreak(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 159) + try visitor.visitSingularMessageField(value: v, fieldNumber: 163) }() case .loopContinue?: try { guard case .loopContinue(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 160) + try visitor.visitSingularMessageField(value: v, fieldNumber: 164) }() case .beginTry?: try { guard case .beginTry(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 161) + try visitor.visitSingularMessageField(value: v, fieldNumber: 165) }() case .beginCatch?: try { guard case .beginCatch(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 162) + try visitor.visitSingularMessageField(value: v, fieldNumber: 166) }() case .beginFinally?: try { guard case .beginFinally(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 163) + try visitor.visitSingularMessageField(value: v, fieldNumber: 167) }() case .endTryCatchFinally?: try { guard case .endTryCatchFinally(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 164) + try visitor.visitSingularMessageField(value: v, fieldNumber: 168) }() case .throwException?: try { guard case .throwException(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 165) + try visitor.visitSingularMessageField(value: v, fieldNumber: 169) }() case .beginCodeString?: try { guard case .beginCodeString(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 166) + try visitor.visitSingularMessageField(value: v, fieldNumber: 170) }() case .endCodeString?: try { guard case .endCodeString(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 167) + try visitor.visitSingularMessageField(value: v, fieldNumber: 171) }() case .beginBlockStatement?: try { guard case .beginBlockStatement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 168) + try visitor.visitSingularMessageField(value: v, fieldNumber: 172) }() case .endBlockStatement?: try { guard case .endBlockStatement(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 169) + try visitor.visitSingularMessageField(value: v, fieldNumber: 173) }() case .beginSwitch?: try { guard case .beginSwitch(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 170) + try visitor.visitSingularMessageField(value: v, fieldNumber: 174) }() case .beginSwitchCase?: try { guard case .beginSwitchCase(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 171) + try visitor.visitSingularMessageField(value: v, fieldNumber: 175) }() case .beginSwitchDefaultCase?: try { guard case .beginSwitchDefaultCase(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 172) + try visitor.visitSingularMessageField(value: v, fieldNumber: 176) }() case .endSwitchCase?: try { guard case .endSwitchCase(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 173) + try visitor.visitSingularMessageField(value: v, fieldNumber: 177) }() case .endSwitch?: try { guard case .endSwitch(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 174) + try visitor.visitSingularMessageField(value: v, fieldNumber: 178) }() case .switchBreak?: try { guard case .switchBreak(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 175) + try visitor.visitSingularMessageField(value: v, fieldNumber: 179) }() case .loadNewTarget?: try { guard case .loadNewTarget(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 176) + try visitor.visitSingularMessageField(value: v, fieldNumber: 180) }() case .print?: try { guard case .print(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 177) + try visitor.visitSingularMessageField(value: v, fieldNumber: 181) }() case .explore?: try { guard case .explore(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 178) + try visitor.visitSingularMessageField(value: v, fieldNumber: 182) }() case .probe?: try { guard case .probe(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 179) + try visitor.visitSingularMessageField(value: v, fieldNumber: 183) }() case .fixup?: try { guard case .fixup(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 180) + try visitor.visitSingularMessageField(value: v, fieldNumber: 184) }() case .beginWasmModule?: try { guard case .beginWasmModule(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 181) + try visitor.visitSingularMessageField(value: v, fieldNumber: 185) }() case .endWasmModule?: try { guard case .endWasmModule(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 182) + try visitor.visitSingularMessageField(value: v, fieldNumber: 186) }() case .createWasmGlobal?: try { guard case .createWasmGlobal(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 183) + try visitor.visitSingularMessageField(value: v, fieldNumber: 187) }() case .createWasmMemory?: try { guard case .createWasmMemory(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 184) + try visitor.visitSingularMessageField(value: v, fieldNumber: 188) }() case .createWasmTable?: try { guard case .createWasmTable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 185) + try visitor.visitSingularMessageField(value: v, fieldNumber: 189) }() case .createWasmJstag?: try { guard case .createWasmJstag(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 186) + try visitor.visitSingularMessageField(value: v, fieldNumber: 190) }() case .createWasmTag?: try { guard case .createWasmTag(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 187) + try visitor.visitSingularMessageField(value: v, fieldNumber: 191) }() case .wrapPromising?: try { guard case .wrapPromising(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 188) + try visitor.visitSingularMessageField(value: v, fieldNumber: 192) }() case .wrapSuspending?: try { guard case .wrapSuspending(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 189) + try visitor.visitSingularMessageField(value: v, fieldNumber: 193) }() case .bindMethod?: try { guard case .bindMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 190) + try visitor.visitSingularMessageField(value: v, fieldNumber: 194) }() case .bindFunction?: try { guard case .bindFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 191) + try visitor.visitSingularMessageField(value: v, fieldNumber: 195) }() case .consti64?: try { guard case .consti64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 192) + try visitor.visitSingularMessageField(value: v, fieldNumber: 196) }() case .consti32?: try { guard case .consti32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 193) + try visitor.visitSingularMessageField(value: v, fieldNumber: 197) }() case .constf32?: try { guard case .constf32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 194) + try visitor.visitSingularMessageField(value: v, fieldNumber: 198) }() case .constf64?: try { guard case .constf64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 195) + try visitor.visitSingularMessageField(value: v, fieldNumber: 199) }() case .wasmReturn?: try { guard case .wasmReturn(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 196) + try visitor.visitSingularMessageField(value: v, fieldNumber: 200) }() case .wasmJsCall?: try { guard case .wasmJsCall(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 197) + try visitor.visitSingularMessageField(value: v, fieldNumber: 201) }() case .wasmi32CompareOp?: try { guard case .wasmi32CompareOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 198) + try visitor.visitSingularMessageField(value: v, fieldNumber: 202) }() case .wasmi64CompareOp?: try { guard case .wasmi64CompareOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 199) + try visitor.visitSingularMessageField(value: v, fieldNumber: 203) }() case .wasmf32CompareOp?: try { guard case .wasmf32CompareOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 200) + try visitor.visitSingularMessageField(value: v, fieldNumber: 204) }() case .wasmf64CompareOp?: try { guard case .wasmf64CompareOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 201) + try visitor.visitSingularMessageField(value: v, fieldNumber: 205) }() case .wasmi32EqualZero?: try { guard case .wasmi32EqualZero(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 202) + try visitor.visitSingularMessageField(value: v, fieldNumber: 206) }() case .wasmi64EqualZero?: try { guard case .wasmi64EqualZero(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 203) + try visitor.visitSingularMessageField(value: v, fieldNumber: 207) }() case .wasmi32BinOp?: try { guard case .wasmi32BinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 204) + try visitor.visitSingularMessageField(value: v, fieldNumber: 208) }() case .wasmi64BinOp?: try { guard case .wasmi64BinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 205) + try visitor.visitSingularMessageField(value: v, fieldNumber: 209) }() case .wasmi32UnOp?: try { guard case .wasmi32UnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 206) + try visitor.visitSingularMessageField(value: v, fieldNumber: 210) }() case .wasmi64UnOp?: try { guard case .wasmi64UnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 207) + try visitor.visitSingularMessageField(value: v, fieldNumber: 211) }() case .wasmf32BinOp?: try { guard case .wasmf32BinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 208) + try visitor.visitSingularMessageField(value: v, fieldNumber: 212) }() case .wasmf64BinOp?: try { guard case .wasmf64BinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 209) + try visitor.visitSingularMessageField(value: v, fieldNumber: 213) }() case .wasmf32UnOp?: try { guard case .wasmf32UnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 210) + try visitor.visitSingularMessageField(value: v, fieldNumber: 214) }() case .wasmf64UnOp?: try { guard case .wasmf64UnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 211) + try visitor.visitSingularMessageField(value: v, fieldNumber: 215) }() case .wasmWrapi64Toi32?: try { guard case .wasmWrapi64Toi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 212) + try visitor.visitSingularMessageField(value: v, fieldNumber: 216) }() case .wasmTruncatef32Toi32?: try { guard case .wasmTruncatef32Toi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 213) + try visitor.visitSingularMessageField(value: v, fieldNumber: 217) }() case .wasmTruncatef64Toi32?: try { guard case .wasmTruncatef64Toi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 214) + try visitor.visitSingularMessageField(value: v, fieldNumber: 218) }() case .wasmExtendi32Toi64?: try { guard case .wasmExtendi32Toi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 215) + try visitor.visitSingularMessageField(value: v, fieldNumber: 219) }() case .wasmTruncatef32Toi64?: try { guard case .wasmTruncatef32Toi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 216) + try visitor.visitSingularMessageField(value: v, fieldNumber: 220) }() case .wasmTruncatef64Toi64?: try { guard case .wasmTruncatef64Toi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 217) + try visitor.visitSingularMessageField(value: v, fieldNumber: 221) }() case .wasmConverti32Tof32?: try { guard case .wasmConverti32Tof32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 218) + try visitor.visitSingularMessageField(value: v, fieldNumber: 222) }() case .wasmConverti64Tof32?: try { guard case .wasmConverti64Tof32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 219) + try visitor.visitSingularMessageField(value: v, fieldNumber: 223) }() case .wasmDemotef64Tof32?: try { guard case .wasmDemotef64Tof32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 220) + try visitor.visitSingularMessageField(value: v, fieldNumber: 224) }() case .wasmConverti32Tof64?: try { guard case .wasmConverti32Tof64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 221) + try visitor.visitSingularMessageField(value: v, fieldNumber: 225) }() case .wasmConverti64Tof64?: try { guard case .wasmConverti64Tof64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 222) + try visitor.visitSingularMessageField(value: v, fieldNumber: 226) }() case .wasmPromotef32Tof64?: try { guard case .wasmPromotef32Tof64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 223) + try visitor.visitSingularMessageField(value: v, fieldNumber: 227) }() case .wasmReinterpretf32Asi32?: try { guard case .wasmReinterpretf32Asi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 224) + try visitor.visitSingularMessageField(value: v, fieldNumber: 228) }() case .wasmReinterpretf64Asi64?: try { guard case .wasmReinterpretf64Asi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 225) + try visitor.visitSingularMessageField(value: v, fieldNumber: 229) }() case .wasmReinterpreti32Asf32?: try { guard case .wasmReinterpreti32Asf32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 226) + try visitor.visitSingularMessageField(value: v, fieldNumber: 230) }() case .wasmReinterpreti64Asf64?: try { guard case .wasmReinterpreti64Asf64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 227) + try visitor.visitSingularMessageField(value: v, fieldNumber: 231) }() case .wasmSignExtend8Intoi32?: try { guard case .wasmSignExtend8Intoi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 228) + try visitor.visitSingularMessageField(value: v, fieldNumber: 232) }() case .wasmSignExtend16Intoi32?: try { guard case .wasmSignExtend16Intoi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 229) + try visitor.visitSingularMessageField(value: v, fieldNumber: 233) }() case .wasmSignExtend8Intoi64?: try { guard case .wasmSignExtend8Intoi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 230) + try visitor.visitSingularMessageField(value: v, fieldNumber: 234) }() case .wasmSignExtend16Intoi64?: try { guard case .wasmSignExtend16Intoi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 231) + try visitor.visitSingularMessageField(value: v, fieldNumber: 235) }() case .wasmSignExtend32Intoi64?: try { guard case .wasmSignExtend32Intoi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 232) + try visitor.visitSingularMessageField(value: v, fieldNumber: 236) }() case .wasmTruncateSatf32Toi32?: try { guard case .wasmTruncateSatf32Toi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 233) + try visitor.visitSingularMessageField(value: v, fieldNumber: 237) }() case .wasmTruncateSatf64Toi32?: try { guard case .wasmTruncateSatf64Toi32(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 234) + try visitor.visitSingularMessageField(value: v, fieldNumber: 238) }() case .wasmTruncateSatf32Toi64?: try { guard case .wasmTruncateSatf32Toi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 235) + try visitor.visitSingularMessageField(value: v, fieldNumber: 239) }() case .wasmTruncateSatf64Toi64?: try { guard case .wasmTruncateSatf64Toi64(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 236) + try visitor.visitSingularMessageField(value: v, fieldNumber: 240) }() case .wasmReassign?: try { guard case .wasmReassign(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 237) + try visitor.visitSingularMessageField(value: v, fieldNumber: 241) }() case .wasmDefineGlobal?: try { guard case .wasmDefineGlobal(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 238) + try visitor.visitSingularMessageField(value: v, fieldNumber: 242) }() case .wasmDefineTable?: try { guard case .wasmDefineTable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 239) + try visitor.visitSingularMessageField(value: v, fieldNumber: 243) }() case .wasmDefineMemory?: try { guard case .wasmDefineMemory(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 240) + try visitor.visitSingularMessageField(value: v, fieldNumber: 244) }() case .wasmDefineDataSegment?: try { guard case .wasmDefineDataSegment(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 241) + try visitor.visitSingularMessageField(value: v, fieldNumber: 245) }() case .wasmLoadGlobal?: try { guard case .wasmLoadGlobal(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 242) + try visitor.visitSingularMessageField(value: v, fieldNumber: 246) }() case .wasmStoreGlobal?: try { guard case .wasmStoreGlobal(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 243) + try visitor.visitSingularMessageField(value: v, fieldNumber: 247) }() case .wasmTableGet?: try { guard case .wasmTableGet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 244) + try visitor.visitSingularMessageField(value: v, fieldNumber: 248) }() case .wasmTableSet?: try { guard case .wasmTableSet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 245) + try visitor.visitSingularMessageField(value: v, fieldNumber: 249) }() case .wasmTableSize?: try { guard case .wasmTableSize(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 246) + try visitor.visitSingularMessageField(value: v, fieldNumber: 250) }() case .wasmTableGrow?: try { guard case .wasmTableGrow(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 247) + try visitor.visitSingularMessageField(value: v, fieldNumber: 251) }() case .wasmCallIndirect?: try { guard case .wasmCallIndirect(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 248) + try visitor.visitSingularMessageField(value: v, fieldNumber: 252) }() case .wasmCallDirect?: try { guard case .wasmCallDirect(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 249) + try visitor.visitSingularMessageField(value: v, fieldNumber: 253) }() case .wasmReturnCallDirect?: try { guard case .wasmReturnCallDirect(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 250) + try visitor.visitSingularMessageField(value: v, fieldNumber: 254) }() case .wasmReturnCallIndirect?: try { guard case .wasmReturnCallIndirect(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 251) + try visitor.visitSingularMessageField(value: v, fieldNumber: 255) }() case .wasmMemoryLoad?: try { guard case .wasmMemoryLoad(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 252) + try visitor.visitSingularMessageField(value: v, fieldNumber: 256) }() case .wasmMemoryStore?: try { guard case .wasmMemoryStore(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 253) + try visitor.visitSingularMessageField(value: v, fieldNumber: 257) }() case .wasmAtomicLoad?: try { guard case .wasmAtomicLoad(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 254) + try visitor.visitSingularMessageField(value: v, fieldNumber: 258) }() case .wasmAtomicStore?: try { guard case .wasmAtomicStore(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 255) + try visitor.visitSingularMessageField(value: v, fieldNumber: 259) }() case .wasmAtomicRmw?: try { guard case .wasmAtomicRmw(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 256) + try visitor.visitSingularMessageField(value: v, fieldNumber: 260) }() case .wasmAtomicCmpxchg?: try { guard case .wasmAtomicCmpxchg(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 257) + try visitor.visitSingularMessageField(value: v, fieldNumber: 261) }() case .wasmMemorySize?: try { guard case .wasmMemorySize(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 258) + try visitor.visitSingularMessageField(value: v, fieldNumber: 262) }() case .wasmMemoryGrow?: try { guard case .wasmMemoryGrow(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 259) + try visitor.visitSingularMessageField(value: v, fieldNumber: 263) }() case .wasmMemoryFill?: try { guard case .wasmMemoryFill(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 260) + try visitor.visitSingularMessageField(value: v, fieldNumber: 264) }() case .wasmMemoryInit?: try { guard case .wasmMemoryInit(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 261) + try visitor.visitSingularMessageField(value: v, fieldNumber: 265) }() case .wasmDropDataSegment?: try { guard case .wasmDropDataSegment(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 262) + try visitor.visitSingularMessageField(value: v, fieldNumber: 266) }() case .beginWasmFunction?: try { guard case .beginWasmFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 263) + try visitor.visitSingularMessageField(value: v, fieldNumber: 267) }() case .endWasmFunction?: try { guard case .endWasmFunction(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 264) + try visitor.visitSingularMessageField(value: v, fieldNumber: 268) }() case .wasmBeginBlock?: try { guard case .wasmBeginBlock(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 265) + try visitor.visitSingularMessageField(value: v, fieldNumber: 269) }() case .wasmEndBlock?: try { guard case .wasmEndBlock(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 266) + try visitor.visitSingularMessageField(value: v, fieldNumber: 270) }() case .wasmBeginLoop?: try { guard case .wasmBeginLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 267) + try visitor.visitSingularMessageField(value: v, fieldNumber: 271) }() case .wasmEndLoop?: try { guard case .wasmEndLoop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 268) + try visitor.visitSingularMessageField(value: v, fieldNumber: 272) }() case .wasmBranch?: try { guard case .wasmBranch(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 269) + try visitor.visitSingularMessageField(value: v, fieldNumber: 273) }() case .wasmBranchIf?: try { guard case .wasmBranchIf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 270) + try visitor.visitSingularMessageField(value: v, fieldNumber: 274) }() case .wasmBranchTable?: try { guard case .wasmBranchTable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 271) + try visitor.visitSingularMessageField(value: v, fieldNumber: 275) }() case .wasmNop?: try { guard case .wasmNop(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 272) + try visitor.visitSingularMessageField(value: v, fieldNumber: 276) }() case .wasmBeginIf?: try { guard case .wasmBeginIf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 273) + try visitor.visitSingularMessageField(value: v, fieldNumber: 277) }() case .wasmBeginElse?: try { guard case .wasmBeginElse(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 274) + try visitor.visitSingularMessageField(value: v, fieldNumber: 278) }() case .wasmEndIf?: try { guard case .wasmEndIf(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 275) + try visitor.visitSingularMessageField(value: v, fieldNumber: 279) }() case .wasmBeginTryTable?: try { guard case .wasmBeginTryTable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 276) + try visitor.visitSingularMessageField(value: v, fieldNumber: 280) }() case .wasmEndTryTable?: try { guard case .wasmEndTryTable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 277) + try visitor.visitSingularMessageField(value: v, fieldNumber: 281) }() case .wasmBeginTry?: try { guard case .wasmBeginTry(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 278) + try visitor.visitSingularMessageField(value: v, fieldNumber: 282) }() case .wasmBeginCatchAll?: try { guard case .wasmBeginCatchAll(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 279) + try visitor.visitSingularMessageField(value: v, fieldNumber: 283) }() case .wasmBeginCatch?: try { guard case .wasmBeginCatch(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 280) + try visitor.visitSingularMessageField(value: v, fieldNumber: 284) }() case .wasmEndTry?: try { guard case .wasmEndTry(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 281) + try visitor.visitSingularMessageField(value: v, fieldNumber: 285) }() case .wasmBeginTryDelegate?: try { guard case .wasmBeginTryDelegate(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 282) + try visitor.visitSingularMessageField(value: v, fieldNumber: 286) }() case .wasmEndTryDelegate?: try { guard case .wasmEndTryDelegate(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 283) + try visitor.visitSingularMessageField(value: v, fieldNumber: 287) }() case .wasmThrow?: try { guard case .wasmThrow(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 284) + try visitor.visitSingularMessageField(value: v, fieldNumber: 288) }() case .wasmRethrow?: try { guard case .wasmRethrow(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 285) + try visitor.visitSingularMessageField(value: v, fieldNumber: 289) }() case .wasmThrowRef?: try { guard case .wasmThrowRef(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 286) + try visitor.visitSingularMessageField(value: v, fieldNumber: 290) }() case .wasmDefineTag?: try { guard case .wasmDefineTag(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 287) + try visitor.visitSingularMessageField(value: v, fieldNumber: 291) }() case .constSimd128?: try { guard case .constSimd128(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 288) + try visitor.visitSingularMessageField(value: v, fieldNumber: 292) }() case .wasmSimd128Compare?: try { guard case .wasmSimd128Compare(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 289) + try visitor.visitSingularMessageField(value: v, fieldNumber: 293) }() case .wasmSimd128IntegerUnOp?: try { guard case .wasmSimd128IntegerUnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 290) + try visitor.visitSingularMessageField(value: v, fieldNumber: 294) }() case .wasmSimd128IntegerBinOp?: try { guard case .wasmSimd128IntegerBinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 291) + try visitor.visitSingularMessageField(value: v, fieldNumber: 295) }() case .wasmSimd128IntegerTernaryOp?: try { guard case .wasmSimd128IntegerTernaryOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 292) + try visitor.visitSingularMessageField(value: v, fieldNumber: 296) }() case .wasmSimd128FloatUnOp?: try { guard case .wasmSimd128FloatUnOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 293) + try visitor.visitSingularMessageField(value: v, fieldNumber: 297) }() case .wasmSimd128FloatBinOp?: try { guard case .wasmSimd128FloatBinOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 294) + try visitor.visitSingularMessageField(value: v, fieldNumber: 298) }() case .wasmSimd128FloatTernaryOp?: try { guard case .wasmSimd128FloatTernaryOp(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 295) + try visitor.visitSingularMessageField(value: v, fieldNumber: 299) }() case .wasmSimdSplat?: try { guard case .wasmSimdSplat(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 296) + try visitor.visitSingularMessageField(value: v, fieldNumber: 300) }() case .wasmSimdExtractLane?: try { guard case .wasmSimdExtractLane(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 297) + try visitor.visitSingularMessageField(value: v, fieldNumber: 301) }() case .wasmSimdReplaceLane?: try { guard case .wasmSimdReplaceLane(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 298) + try visitor.visitSingularMessageField(value: v, fieldNumber: 302) }() case .wasmSimdStoreLane?: try { guard case .wasmSimdStoreLane(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 299) + try visitor.visitSingularMessageField(value: v, fieldNumber: 303) }() case .wasmSimdLoadLane?: try { guard case .wasmSimdLoadLane(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 300) + try visitor.visitSingularMessageField(value: v, fieldNumber: 304) }() case .wasmSimdLoad?: try { guard case .wasmSimdLoad(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 301) + try visitor.visitSingularMessageField(value: v, fieldNumber: 305) }() case .wasmUnreachable?: try { guard case .wasmUnreachable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 302) + try visitor.visitSingularMessageField(value: v, fieldNumber: 306) }() case .wasmSelect?: try { guard case .wasmSelect(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 303) + try visitor.visitSingularMessageField(value: v, fieldNumber: 307) }() case .wasmBeginTypeGroup?: try { guard case .wasmBeginTypeGroup(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 304) + try visitor.visitSingularMessageField(value: v, fieldNumber: 308) }() case .wasmEndTypeGroup?: try { guard case .wasmEndTypeGroup(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 305) + try visitor.visitSingularMessageField(value: v, fieldNumber: 309) }() case .wasmDefineArrayType?: try { guard case .wasmDefineArrayType(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 306) + try visitor.visitSingularMessageField(value: v, fieldNumber: 310) }() case .wasmDefineStructType?: try { guard case .wasmDefineStructType(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 307) + try visitor.visitSingularMessageField(value: v, fieldNumber: 311) }() case .wasmDefineForwardOrSelfReference?: try { guard case .wasmDefineForwardOrSelfReference(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 308) + try visitor.visitSingularMessageField(value: v, fieldNumber: 312) }() case .wasmResolveForwardReference?: try { guard case .wasmResolveForwardReference(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 309) + try visitor.visitSingularMessageField(value: v, fieldNumber: 313) }() case .wasmArrayNewFixed?: try { guard case .wasmArrayNewFixed(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 310) + try visitor.visitSingularMessageField(value: v, fieldNumber: 314) }() case .wasmArrayNewDefault?: try { guard case .wasmArrayNewDefault(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 311) + try visitor.visitSingularMessageField(value: v, fieldNumber: 315) }() case .wasmArrayLen?: try { guard case .wasmArrayLen(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 312) + try visitor.visitSingularMessageField(value: v, fieldNumber: 316) }() case .wasmArrayGet?: try { guard case .wasmArrayGet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 313) + try visitor.visitSingularMessageField(value: v, fieldNumber: 317) }() case .wasmArraySet?: try { guard case .wasmArraySet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 314) + try visitor.visitSingularMessageField(value: v, fieldNumber: 318) }() case .wasmStructNewDefault?: try { guard case .wasmStructNewDefault(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 315) + try visitor.visitSingularMessageField(value: v, fieldNumber: 319) }() case .wasmStructGet?: try { guard case .wasmStructGet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 316) + try visitor.visitSingularMessageField(value: v, fieldNumber: 320) }() case .wasmStructSet?: try { guard case .wasmStructSet(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 317) + try visitor.visitSingularMessageField(value: v, fieldNumber: 321) }() case .wasmRefNull?: try { guard case .wasmRefNull(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 318) + try visitor.visitSingularMessageField(value: v, fieldNumber: 322) }() case .wasmRefIsNull?: try { guard case .wasmRefIsNull(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 319) + try visitor.visitSingularMessageField(value: v, fieldNumber: 323) }() case .wasmRefI31?: try { guard case .wasmRefI31(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 320) + try visitor.visitSingularMessageField(value: v, fieldNumber: 324) }() case .wasmI31Get?: try { guard case .wasmI31Get(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 321) + try visitor.visitSingularMessageField(value: v, fieldNumber: 325) }() case .wasmAnyConvertExtern?: try { guard case .wasmAnyConvertExtern(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 322) + try visitor.visitSingularMessageField(value: v, fieldNumber: 326) }() case .wasmExternConvertAny?: try { guard case .wasmExternConvertAny(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 323) + try visitor.visitSingularMessageField(value: v, fieldNumber: 327) }() case .wasmMemoryCopy?: try { guard case .wasmMemoryCopy(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 324) + try visitor.visitSingularMessageField(value: v, fieldNumber: 328) }() case .wasmDefineElementSegment?: try { guard case .wasmDefineElementSegment(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 325) + try visitor.visitSingularMessageField(value: v, fieldNumber: 329) }() case .wasmTableInit?: try { guard case .wasmTableInit(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 326) + try visitor.visitSingularMessageField(value: v, fieldNumber: 330) }() case .wasmDropElementSegment?: try { guard case .wasmDropElementSegment(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 327) + try visitor.visitSingularMessageField(value: v, fieldNumber: 331) }() case .wasmTableCopy?: try { guard case .wasmTableCopy(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 328) + try visitor.visitSingularMessageField(value: v, fieldNumber: 332) }() case .wasmDefineSignatureType?: try { guard case .wasmDefineSignatureType(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 329) + try visitor.visitSingularMessageField(value: v, fieldNumber: 333) }() case .createNamedDisposableVariable?: try { guard case .createNamedDisposableVariable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 330) + try visitor.visitSingularMessageField(value: v, fieldNumber: 334) }() case .createNamedAsyncDisposableVariable?: try { guard case .createNamedAsyncDisposableVariable(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 331) - }() - case .beginClassInstanceComputedMethod?: try { - guard case .beginClassInstanceComputedMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 332) - }() - case .endClassInstanceComputedMethod?: try { - guard case .endClassInstanceComputedMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 333) - }() - case .beginClassStaticComputedMethod?: try { - guard case .beginClassStaticComputedMethod(let v)? = self.operation else { preconditionFailure() } - try visitor.visitSingularMessageField(value: v, fieldNumber: 334) - }() - case .endClassStaticComputedMethod?: try { - guard case .endClassStaticComputedMethod(let v)? = self.operation else { preconditionFailure() } try visitor.visitSingularMessageField(value: v, fieldNumber: 335) }() case nil: break diff --git a/Sources/Fuzzilli/Protobuf/program.proto b/Sources/Fuzzilli/Protobuf/program.proto index 46c3f7a9c..0582386bf 100644 --- a/Sources/Fuzzilli/Protobuf/program.proto +++ b/Sources/Fuzzilli/Protobuf/program.proto @@ -63,302 +63,302 @@ message Instruction { ClassAddInstanceComputedProperty classAddInstanceComputedProperty = 37; BeginClassInstanceMethod beginClassInstanceMethod = 38; EndClassInstanceMethod endClassInstanceMethod = 39; - BeginClassInstanceGetter beginClassInstanceGetter = 40; - EndClassInstanceGetter endClassInstanceGetter = 41; - BeginClassInstanceSetter beginClassInstanceSetter = 42; - EndClassInstanceSetter endClassInstanceSetter = 43; - ClassAddStaticProperty classAddStaticProperty = 44; - ClassAddStaticElement classAddStaticElement = 45; - ClassAddStaticComputedProperty classAddStaticComputedProperty = 46; - BeginClassStaticInitializer beginClassStaticInitializer = 47; - EndClassStaticInitializer endClassStaticInitializer = 48; - BeginClassStaticMethod beginClassStaticMethod = 49; - EndClassStaticMethod endClassStaticMethod = 50; - BeginClassStaticGetter beginClassStaticGetter = 51; - EndClassStaticGetter endClassStaticGetter = 52; - BeginClassStaticSetter beginClassStaticSetter = 53; - EndClassStaticSetter endClassStaticSetter = 54; - ClassAddPrivateInstanceProperty classAddPrivateInstanceProperty = 55; - BeginClassPrivateInstanceMethod beginClassPrivateInstanceMethod = 56; - EndClassPrivateInstanceMethod endClassPrivateInstanceMethod = 57; - ClassAddPrivateStaticProperty classAddPrivateStaticProperty = 58; - BeginClassPrivateStaticMethod beginClassPrivateStaticMethod = 59; - EndClassPrivateStaticMethod endClassPrivateStaticMethod = 60; - EndClassDefinition endClassDefinition = 61; - CreateArray createArray = 62; - CreateIntArray createIntArray = 63; - CreateFloatArray createFloatArray = 64; - CreateArrayWithSpread createArrayWithSpread = 65; - CreateTemplateString createTemplateString = 66; - GetProperty getProperty = 67; - SetProperty setProperty = 68; - UpdateProperty updateProperty = 69; - DeleteProperty deleteProperty = 70; - ConfigureProperty configureProperty = 71; - GetElement getElement = 72; - SetElement setElement = 73; - UpdateElement updateElement = 74; - DeleteElement deleteElement = 75; - ConfigureElement configureElement = 76; - GetComputedProperty getComputedProperty = 77; - SetComputedProperty setComputedProperty = 78; - UpdateComputedProperty updateComputedProperty = 79; - DeleteComputedProperty deleteComputedProperty = 80; - ConfigureComputedProperty configureComputedProperty = 81; - TypeOf typeOf = 82; - Void void = 83; - TestInstanceOf testInstanceOf = 84; - TestIn testIn = 85; - BeginPlainFunction beginPlainFunction = 86; - EndPlainFunction endPlainFunction = 87; - BeginArrowFunction beginArrowFunction = 88; - EndArrowFunction endArrowFunction = 89; - BeginGeneratorFunction beginGeneratorFunction = 90; - EndGeneratorFunction endGeneratorFunction = 91; - BeginAsyncFunction beginAsyncFunction = 92; - EndAsyncFunction endAsyncFunction = 93; - BeginAsyncArrowFunction beginAsyncArrowFunction = 94; - EndAsyncArrowFunction endAsyncArrowFunction = 95; - BeginAsyncGeneratorFunction beginAsyncGeneratorFunction = 96; - EndAsyncGeneratorFunction endAsyncGeneratorFunction = 97; - BeginConstructor beginConstructor = 98; - EndConstructor endConstructor = 99; - Directive directive = 100; - Return return = 101; - Yield yield = 102; - YieldEach yieldEach = 103; - Await await = 104; - CallFunction callFunction = 105; - CallFunctionWithSpread callFunctionWithSpread = 106; - Construct construct = 107; - ConstructWithSpread constructWithSpread = 108; - CallMethod callMethod = 109; - CallMethodWithSpread callMethodWithSpread = 110; - CallComputedMethod callComputedMethod = 111; - CallComputedMethodWithSpread callComputedMethodWithSpread = 112; - UnaryOperation unaryOperation = 113; - BinaryOperation binaryOperation = 114; - TernaryOperation ternaryOperation = 115; - Update update = 116; - Dup dup = 117; - Reassign reassign = 118; - DestructArray destructArray = 119; - DestructArrayAndReassign destructArrayAndReassign = 120; - DestructObject destructObject = 121; - DestructObjectAndReassign destructObjectAndReassign = 122; - Compare compare = 123; - Eval eval = 124; - BeginWith beginWith = 125; - EndWith endWith = 126; - CallSuperConstructor callSuperConstructor = 127; - CallSuperMethod callSuperMethod = 128; - GetPrivateProperty getPrivateProperty = 129; - SetPrivateProperty setPrivateProperty = 130; - UpdatePrivateProperty updatePrivateProperty = 131; - CallPrivateMethod callPrivateMethod = 132; - GetSuperProperty getSuperProperty = 133; - SetSuperProperty setSuperProperty = 134; - GetComputedSuperProperty getComputedSuperProperty = 135; - SetComputedSuperProperty setComputedSuperProperty = 136; - UpdateSuperProperty updateSuperProperty = 137; - BeginIf beginIf = 138; - BeginElse beginElse = 139; - EndIf endIf = 140; - BeginWhileLoopHeader beginWhileLoopHeader = 141; - BeginWhileLoopBody beginWhileLoopBody = 142; - EndWhileLoop endWhileLoop = 143; - BeginDoWhileLoopBody beginDoWhileLoopBody = 144; - BeginDoWhileLoopHeader beginDoWhileLoopHeader = 145; - EndDoWhileLoop endDoWhileLoop = 146; - BeginForLoopInitializer beginForLoopInitializer = 147; - BeginForLoopCondition beginForLoopCondition = 148; - BeginForLoopAfterthought beginForLoopAfterthought = 149; - BeginForLoopBody beginForLoopBody = 150; - EndForLoop endForLoop = 151; - BeginForInLoop beginForInLoop = 152; - EndForInLoop endForInLoop = 153; - BeginForOfLoop beginForOfLoop = 154; - BeginForOfLoopWithDestruct beginForOfLoopWithDestruct = 155; - EndForOfLoop endForOfLoop = 156; - BeginRepeatLoop beginRepeatLoop = 157; - EndRepeatLoop endRepeatLoop = 158; - LoopBreak loopBreak = 159; - LoopContinue loopContinue = 160; - BeginTry beginTry = 161; - BeginCatch beginCatch = 162; - BeginFinally beginFinally = 163; - EndTryCatchFinally endTryCatchFinally = 164; - ThrowException throwException = 165; - BeginCodeString beginCodeString = 166; - EndCodeString endCodeString = 167; - BeginBlockStatement beginBlockStatement = 168; - EndBlockStatement endBlockStatement = 169; - BeginSwitch beginSwitch = 170; - BeginSwitchCase beginSwitchCase = 171; - BeginSwitchDefaultCase beginSwitchDefaultCase = 172; - EndSwitchCase endSwitchCase = 173; - EndSwitch endSwitch = 174; - SwitchBreak switchBreak = 175; - LoadNewTarget loadNewTarget = 176; - Print print = 177; - Explore explore = 178; - Probe probe = 179; - Fixup fixup = 180; - BeginWasmModule beginWasmModule = 181; - EndWasmModule endWasmModule = 182; - CreateWasmGlobal createWasmGlobal = 183; - CreateWasmMemory createWasmMemory = 184; - CreateWasmTable createWasmTable = 185; - CreateWasmJSTag createWasmJSTag = 186; - CreateWasmTag createWasmTag = 187; - WrapPromising wrapPromising = 188; - WrapSuspending wrapSuspending = 189; - BindMethod bindMethod = 190; - BindFunction bindFunction = 191; - Consti64 consti64 = 192; - Consti32 consti32 = 193; - Constf32 constf32 = 194; - Constf64 constf64 = 195; - WasmReturn wasmReturn = 196; - WasmJsCall wasmJsCall = 197; - Wasmi32CompareOp wasmi32CompareOp = 198; - Wasmi64CompareOp wasmi64CompareOp = 199; - Wasmf32CompareOp wasmf32CompareOp = 200; - Wasmf64CompareOp wasmf64CompareOp = 201; - Wasmi32EqualZero wasmi32EqualZero = 202; - Wasmi64EqualZero wasmi64EqualZero = 203; - Wasmi32BinOp wasmi32BinOp = 204; - Wasmi64BinOp wasmi64BinOp = 205; - Wasmi32UnOp wasmi32UnOp = 206; - Wasmi64UnOp wasmi64UnOp = 207; - Wasmf32BinOp wasmf32BinOp = 208; - Wasmf64BinOp wasmf64BinOp = 209; - Wasmf32UnOp wasmf32UnOp = 210; - Wasmf64UnOp wasmf64UnOp = 211; - WasmWrapi64Toi32 wasmWrapi64Toi32 = 212; - WasmTruncatef32Toi32 wasmTruncatef32Toi32 = 213; - WasmTruncatef64Toi32 wasmTruncatef64Toi32 = 214; - WasmExtendi32Toi64 wasmExtendi32Toi64 = 215; - WasmTruncatef32Toi64 wasmTruncatef32Toi64 = 216; - WasmTruncatef64Toi64 wasmTruncatef64Toi64 = 217; - WasmConverti32Tof32 wasmConverti32Tof32 = 218; - WasmConverti64Tof32 wasmConverti64Tof32 = 219; - WasmDemotef64Tof32 wasmDemotef64Tof32 = 220; - WasmConverti32Tof64 wasmConverti32Tof64 = 221; - WasmConverti64Tof64 wasmConverti64Tof64 = 222; - WasmPromotef32Tof64 wasmPromotef32Tof64 = 223; - WasmReinterpretf32Asi32 wasmReinterpretf32Asi32 = 224; - WasmReinterpretf64Asi64 wasmReinterpretf64Asi64 = 225; - WasmReinterpreti32Asf32 wasmReinterpreti32Asf32 = 226; - WasmReinterpreti64Asf64 wasmReinterpreti64Asf64 = 227; - WasmSignExtend8Intoi32 wasmSignExtend8Intoi32 = 228; - WasmSignExtend16Intoi32 wasmSignExtend16Intoi32 = 229; - WasmSignExtend8Intoi64 wasmSignExtend8Intoi64 = 230; - WasmSignExtend16Intoi64 wasmSignExtend16Intoi64 = 231; - WasmSignExtend32Intoi64 wasmSignExtend32Intoi64 = 232; - WasmTruncateSatf32Toi32 wasmTruncateSatf32Toi32 = 233; - WasmTruncateSatf64Toi32 wasmTruncateSatf64Toi32 = 234; - WasmTruncateSatf32Toi64 wasmTruncateSatf32Toi64 = 235; - WasmTruncateSatf64Toi64 wasmTruncateSatf64Toi64 = 236; - WasmReassign wasmReassign = 237; - WasmDefineGlobal wasmDefineGlobal = 238; - WasmDefineTable wasmDefineTable = 239; - WasmDefineMemory wasmDefineMemory = 240; - WasmDefineDataSegment wasmDefineDataSegment = 241; - WasmLoadGlobal wasmLoadGlobal = 242; - WasmStoreGlobal wasmStoreGlobal = 243; - WasmTableGet wasmTableGet = 244; - WasmTableSet wasmTableSet = 245; - WasmTableSize wasmTableSize = 246; - WasmTableGrow wasmTableGrow = 247; - WasmCallIndirect wasmCallIndirect = 248; - WasmCallDirect wasmCallDirect = 249; - WasmReturnCallDirect wasmReturnCallDirect = 250; - WasmReturnCallIndirect wasmReturnCallIndirect = 251; - WasmMemoryLoad wasmMemoryLoad = 252; - WasmMemoryStore wasmMemoryStore = 253; - WasmAtomicLoad wasmAtomicLoad = 254; - WasmAtomicStore wasmAtomicStore = 255; - WasmAtomicRMW wasmAtomicRMW = 256; - WasmAtomicCmpxchg wasmAtomicCmpxchg = 257; - WasmMemorySize wasmMemorySize = 258; - WasmMemoryGrow wasmMemoryGrow = 259; - WasmMemoryFill wasmMemoryFill = 260; - WasmMemoryInit wasmMemoryInit = 261; - WasmDropDataSegment wasmDropDataSegment = 262; - BeginWasmFunction beginWasmFunction = 263; - EndWasmFunction endWasmFunction = 264; - WasmBeginBlock wasmBeginBlock = 265; - WasmEndBlock wasmEndBlock = 266; - WasmBeginLoop wasmBeginLoop = 267; - WasmEndLoop wasmEndLoop = 268; - WasmBranch wasmBranch = 269; - WasmBranchIf wasmBranchIf = 270; - WasmBranchTable wasmBranchTable = 271; - WasmNop wasmNop = 272; - WasmBeginIf wasmBeginIf = 273; - WasmBeginElse wasmBeginElse = 274; - WasmEndIf wasmEndIf = 275; - WasmBeginTryTable wasmBeginTryTable = 276; - WasmEndTryTable wasmEndTryTable = 277; - WasmBeginTry wasmBeginTry = 278; - WasmBeginCatchAll wasmBeginCatchAll = 279; - WasmBeginCatch wasmBeginCatch = 280; - WasmEndTry wasmEndTry = 281; - WasmBeginTryDelegate wasmBeginTryDelegate = 282; - WasmEndTryDelegate wasmEndTryDelegate = 283; - WasmThrow wasmThrow = 284; - WasmRethrow wasmRethrow = 285; - WasmThrowRef wasmThrowRef = 286; - WasmDefineTag wasmDefineTag = 287; - ConstSimd128 constSimd128 = 288; - WasmSimd128Compare wasmSimd128Compare = 289; - WasmSimd128IntegerUnOp wasmSimd128IntegerUnOp = 290; - WasmSimd128IntegerBinOp wasmSimd128IntegerBinOp = 291; - WasmSimd128IntegerTernaryOp wasmSimd128IntegerTernaryOp = 292; - WasmSimd128FloatUnOp wasmSimd128FloatUnOp = 293; - WasmSimd128FloatBinOp wasmSimd128FloatBinOp = 294; - WasmSimd128FloatTernaryOp wasmSimd128FloatTernaryOp = 295; - WasmSimdSplat wasmSimdSplat = 296; - WasmSimdExtractLane wasmSimdExtractLane = 297; - WasmSimdReplaceLane wasmSimdReplaceLane = 298; - WasmSimdStoreLane wasmSimdStoreLane = 299; - WasmSimdLoadLane wasmSimdLoadLane = 300; - WasmSimdLoad wasmSimdLoad = 301; - WasmUnreachable wasmUnreachable = 302; - WasmSelect wasmSelect = 303; - WasmBeginTypeGroup wasmBeginTypeGroup = 304; - WasmEndTypeGroup wasmEndTypeGroup = 305; - WasmDefineArrayType wasmDefineArrayType = 306; - WasmDefineStructType wasmDefineStructType = 307; - WasmDefineForwardOrSelfReference wasmDefineForwardOrSelfReference = 308; - WasmResolveForwardReference wasmResolveForwardReference = 309; - WasmArrayNewFixed wasmArrayNewFixed = 310; - WasmArrayNewDefault wasmArrayNewDefault = 311; - WasmArrayLen wasmArrayLen = 312; - WasmArrayGet wasmArrayGet = 313; - WasmArraySet wasmArraySet = 314; - WasmStructNewDefault wasmStructNewDefault = 315; - WasmStructGet wasmStructGet = 316; - WasmStructSet wasmStructSet = 317; - WasmRefNull wasmRefNull = 318; - WasmRefIsNull wasmRefIsNull = 319; - WasmRefI31 wasmRefI31 = 320; - WasmI31Get wasmI31Get = 321; - WasmAnyConvertExtern wasmAnyConvertExtern = 322; - WasmExternConvertAny wasmExternConvertAny = 323; - WasmMemoryCopy wasmMemoryCopy = 324; - WasmDefineElementSegment wasmDefineElementSegment = 325; - WasmTableInit wasmTableInit = 326; - WasmDropElementSegment wasmDropElementSegment = 327; - WasmTableCopy wasmTableCopy = 328; - WasmDefineSignatureType wasmDefineSignatureType = 329; - CreateNamedDisposableVariable createNamedDisposableVariable = 330; - CreateNamedAsyncDisposableVariable createNamedAsyncDisposableVariable = 331; - BeginClassInstanceComputedMethod beginClassInstanceComputedMethod = 332; - EndClassInstanceComputedMethod endClassInstanceComputedMethod = 333; - BeginClassStaticComputedMethod beginClassStaticComputedMethod = 334; - EndClassStaticComputedMethod endClassStaticComputedMethod = 335; + BeginClassInstanceComputedMethod beginClassInstanceComputedMethod = 40; + EndClassInstanceComputedMethod endClassInstanceComputedMethod = 41; + BeginClassInstanceGetter beginClassInstanceGetter = 42; + EndClassInstanceGetter endClassInstanceGetter = 43; + BeginClassInstanceSetter beginClassInstanceSetter = 44; + EndClassInstanceSetter endClassInstanceSetter = 45; + ClassAddStaticProperty classAddStaticProperty = 46; + ClassAddStaticElement classAddStaticElement = 47; + ClassAddStaticComputedProperty classAddStaticComputedProperty = 48; + BeginClassStaticInitializer beginClassStaticInitializer = 49; + EndClassStaticInitializer endClassStaticInitializer = 50; + BeginClassStaticMethod beginClassStaticMethod = 51; + EndClassStaticMethod endClassStaticMethod = 52; + BeginClassStaticComputedMethod beginClassStaticComputedMethod = 53; + EndClassStaticComputedMethod endClassStaticComputedMethod = 54; + BeginClassStaticGetter beginClassStaticGetter = 55; + EndClassStaticGetter endClassStaticGetter = 56; + BeginClassStaticSetter beginClassStaticSetter = 57; + EndClassStaticSetter endClassStaticSetter = 58; + ClassAddPrivateInstanceProperty classAddPrivateInstanceProperty = 59; + BeginClassPrivateInstanceMethod beginClassPrivateInstanceMethod = 60; + EndClassPrivateInstanceMethod endClassPrivateInstanceMethod = 61; + ClassAddPrivateStaticProperty classAddPrivateStaticProperty = 62; + BeginClassPrivateStaticMethod beginClassPrivateStaticMethod = 63; + EndClassPrivateStaticMethod endClassPrivateStaticMethod = 64; + EndClassDefinition endClassDefinition = 65; + CreateArray createArray = 66; + CreateIntArray createIntArray = 67; + CreateFloatArray createFloatArray = 68; + CreateArrayWithSpread createArrayWithSpread = 69; + CreateTemplateString createTemplateString = 70; + GetProperty getProperty = 71; + SetProperty setProperty = 72; + UpdateProperty updateProperty = 73; + DeleteProperty deleteProperty = 74; + ConfigureProperty configureProperty = 75; + GetElement getElement = 76; + SetElement setElement = 77; + UpdateElement updateElement = 78; + DeleteElement deleteElement = 79; + ConfigureElement configureElement = 80; + GetComputedProperty getComputedProperty = 81; + SetComputedProperty setComputedProperty = 82; + UpdateComputedProperty updateComputedProperty = 83; + DeleteComputedProperty deleteComputedProperty = 84; + ConfigureComputedProperty configureComputedProperty = 85; + TypeOf typeOf = 86; + Void void = 87; + TestInstanceOf testInstanceOf = 88; + TestIn testIn = 89; + BeginPlainFunction beginPlainFunction = 90; + EndPlainFunction endPlainFunction = 91; + BeginArrowFunction beginArrowFunction = 92; + EndArrowFunction endArrowFunction = 93; + BeginGeneratorFunction beginGeneratorFunction = 94; + EndGeneratorFunction endGeneratorFunction = 95; + BeginAsyncFunction beginAsyncFunction = 96; + EndAsyncFunction endAsyncFunction = 97; + BeginAsyncArrowFunction beginAsyncArrowFunction = 98; + EndAsyncArrowFunction endAsyncArrowFunction = 99; + BeginAsyncGeneratorFunction beginAsyncGeneratorFunction = 100; + EndAsyncGeneratorFunction endAsyncGeneratorFunction = 101; + BeginConstructor beginConstructor = 102; + EndConstructor endConstructor = 103; + Directive directive = 104; + Return return = 105; + Yield yield = 106; + YieldEach yieldEach = 107; + Await await = 108; + CallFunction callFunction = 109; + CallFunctionWithSpread callFunctionWithSpread = 110; + Construct construct = 111; + ConstructWithSpread constructWithSpread = 112; + CallMethod callMethod = 113; + CallMethodWithSpread callMethodWithSpread = 114; + CallComputedMethod callComputedMethod = 115; + CallComputedMethodWithSpread callComputedMethodWithSpread = 116; + UnaryOperation unaryOperation = 117; + BinaryOperation binaryOperation = 118; + TernaryOperation ternaryOperation = 119; + Update update = 120; + Dup dup = 121; + Reassign reassign = 122; + DestructArray destructArray = 123; + DestructArrayAndReassign destructArrayAndReassign = 124; + DestructObject destructObject = 125; + DestructObjectAndReassign destructObjectAndReassign = 126; + Compare compare = 127; + Eval eval = 128; + BeginWith beginWith = 129; + EndWith endWith = 130; + CallSuperConstructor callSuperConstructor = 131; + CallSuperMethod callSuperMethod = 132; + GetPrivateProperty getPrivateProperty = 133; + SetPrivateProperty setPrivateProperty = 134; + UpdatePrivateProperty updatePrivateProperty = 135; + CallPrivateMethod callPrivateMethod = 136; + GetSuperProperty getSuperProperty = 137; + SetSuperProperty setSuperProperty = 138; + GetComputedSuperProperty getComputedSuperProperty = 139; + SetComputedSuperProperty setComputedSuperProperty = 140; + UpdateSuperProperty updateSuperProperty = 141; + BeginIf beginIf = 142; + BeginElse beginElse = 143; + EndIf endIf = 144; + BeginWhileLoopHeader beginWhileLoopHeader = 145; + BeginWhileLoopBody beginWhileLoopBody = 146; + EndWhileLoop endWhileLoop = 147; + BeginDoWhileLoopBody beginDoWhileLoopBody = 148; + BeginDoWhileLoopHeader beginDoWhileLoopHeader = 149; + EndDoWhileLoop endDoWhileLoop = 150; + BeginForLoopInitializer beginForLoopInitializer = 151; + BeginForLoopCondition beginForLoopCondition = 152; + BeginForLoopAfterthought beginForLoopAfterthought = 153; + BeginForLoopBody beginForLoopBody = 154; + EndForLoop endForLoop = 155; + BeginForInLoop beginForInLoop = 156; + EndForInLoop endForInLoop = 157; + BeginForOfLoop beginForOfLoop = 158; + BeginForOfLoopWithDestruct beginForOfLoopWithDestruct = 159; + EndForOfLoop endForOfLoop = 160; + BeginRepeatLoop beginRepeatLoop = 161; + EndRepeatLoop endRepeatLoop = 162; + LoopBreak loopBreak = 163; + LoopContinue loopContinue = 164; + BeginTry beginTry = 165; + BeginCatch beginCatch = 166; + BeginFinally beginFinally = 167; + EndTryCatchFinally endTryCatchFinally = 168; + ThrowException throwException = 169; + BeginCodeString beginCodeString = 170; + EndCodeString endCodeString = 171; + BeginBlockStatement beginBlockStatement = 172; + EndBlockStatement endBlockStatement = 173; + BeginSwitch beginSwitch = 174; + BeginSwitchCase beginSwitchCase = 175; + BeginSwitchDefaultCase beginSwitchDefaultCase = 176; + EndSwitchCase endSwitchCase = 177; + EndSwitch endSwitch = 178; + SwitchBreak switchBreak = 179; + LoadNewTarget loadNewTarget = 180; + Print print = 181; + Explore explore = 182; + Probe probe = 183; + Fixup fixup = 184; + BeginWasmModule beginWasmModule = 185; + EndWasmModule endWasmModule = 186; + CreateWasmGlobal createWasmGlobal = 187; + CreateWasmMemory createWasmMemory = 188; + CreateWasmTable createWasmTable = 189; + CreateWasmJSTag createWasmJSTag = 190; + CreateWasmTag createWasmTag = 191; + WrapPromising wrapPromising = 192; + WrapSuspending wrapSuspending = 193; + BindMethod bindMethod = 194; + BindFunction bindFunction = 195; + Consti64 consti64 = 196; + Consti32 consti32 = 197; + Constf32 constf32 = 198; + Constf64 constf64 = 199; + WasmReturn wasmReturn = 200; + WasmJsCall wasmJsCall = 201; + Wasmi32CompareOp wasmi32CompareOp = 202; + Wasmi64CompareOp wasmi64CompareOp = 203; + Wasmf32CompareOp wasmf32CompareOp = 204; + Wasmf64CompareOp wasmf64CompareOp = 205; + Wasmi32EqualZero wasmi32EqualZero = 206; + Wasmi64EqualZero wasmi64EqualZero = 207; + Wasmi32BinOp wasmi32BinOp = 208; + Wasmi64BinOp wasmi64BinOp = 209; + Wasmi32UnOp wasmi32UnOp = 210; + Wasmi64UnOp wasmi64UnOp = 211; + Wasmf32BinOp wasmf32BinOp = 212; + Wasmf64BinOp wasmf64BinOp = 213; + Wasmf32UnOp wasmf32UnOp = 214; + Wasmf64UnOp wasmf64UnOp = 215; + WasmWrapi64Toi32 wasmWrapi64Toi32 = 216; + WasmTruncatef32Toi32 wasmTruncatef32Toi32 = 217; + WasmTruncatef64Toi32 wasmTruncatef64Toi32 = 218; + WasmExtendi32Toi64 wasmExtendi32Toi64 = 219; + WasmTruncatef32Toi64 wasmTruncatef32Toi64 = 220; + WasmTruncatef64Toi64 wasmTruncatef64Toi64 = 221; + WasmConverti32Tof32 wasmConverti32Tof32 = 222; + WasmConverti64Tof32 wasmConverti64Tof32 = 223; + WasmDemotef64Tof32 wasmDemotef64Tof32 = 224; + WasmConverti32Tof64 wasmConverti32Tof64 = 225; + WasmConverti64Tof64 wasmConverti64Tof64 = 226; + WasmPromotef32Tof64 wasmPromotef32Tof64 = 227; + WasmReinterpretf32Asi32 wasmReinterpretf32Asi32 = 228; + WasmReinterpretf64Asi64 wasmReinterpretf64Asi64 = 229; + WasmReinterpreti32Asf32 wasmReinterpreti32Asf32 = 230; + WasmReinterpreti64Asf64 wasmReinterpreti64Asf64 = 231; + WasmSignExtend8Intoi32 wasmSignExtend8Intoi32 = 232; + WasmSignExtend16Intoi32 wasmSignExtend16Intoi32 = 233; + WasmSignExtend8Intoi64 wasmSignExtend8Intoi64 = 234; + WasmSignExtend16Intoi64 wasmSignExtend16Intoi64 = 235; + WasmSignExtend32Intoi64 wasmSignExtend32Intoi64 = 236; + WasmTruncateSatf32Toi32 wasmTruncateSatf32Toi32 = 237; + WasmTruncateSatf64Toi32 wasmTruncateSatf64Toi32 = 238; + WasmTruncateSatf32Toi64 wasmTruncateSatf32Toi64 = 239; + WasmTruncateSatf64Toi64 wasmTruncateSatf64Toi64 = 240; + WasmReassign wasmReassign = 241; + WasmDefineGlobal wasmDefineGlobal = 242; + WasmDefineTable wasmDefineTable = 243; + WasmDefineMemory wasmDefineMemory = 244; + WasmDefineDataSegment wasmDefineDataSegment = 245; + WasmLoadGlobal wasmLoadGlobal = 246; + WasmStoreGlobal wasmStoreGlobal = 247; + WasmTableGet wasmTableGet = 248; + WasmTableSet wasmTableSet = 249; + WasmTableSize wasmTableSize = 250; + WasmTableGrow wasmTableGrow = 251; + WasmCallIndirect wasmCallIndirect = 252; + WasmCallDirect wasmCallDirect = 253; + WasmReturnCallDirect wasmReturnCallDirect = 254; + WasmReturnCallIndirect wasmReturnCallIndirect = 255; + WasmMemoryLoad wasmMemoryLoad = 256; + WasmMemoryStore wasmMemoryStore = 257; + WasmAtomicLoad wasmAtomicLoad = 258; + WasmAtomicStore wasmAtomicStore = 259; + WasmAtomicRMW wasmAtomicRMW = 260; + WasmAtomicCmpxchg wasmAtomicCmpxchg = 261; + WasmMemorySize wasmMemorySize = 262; + WasmMemoryGrow wasmMemoryGrow = 263; + WasmMemoryFill wasmMemoryFill = 264; + WasmMemoryInit wasmMemoryInit = 265; + WasmDropDataSegment wasmDropDataSegment = 266; + BeginWasmFunction beginWasmFunction = 267; + EndWasmFunction endWasmFunction = 268; + WasmBeginBlock wasmBeginBlock = 269; + WasmEndBlock wasmEndBlock = 270; + WasmBeginLoop wasmBeginLoop = 271; + WasmEndLoop wasmEndLoop = 272; + WasmBranch wasmBranch = 273; + WasmBranchIf wasmBranchIf = 274; + WasmBranchTable wasmBranchTable = 275; + WasmNop wasmNop = 276; + WasmBeginIf wasmBeginIf = 277; + WasmBeginElse wasmBeginElse = 278; + WasmEndIf wasmEndIf = 279; + WasmBeginTryTable wasmBeginTryTable = 280; + WasmEndTryTable wasmEndTryTable = 281; + WasmBeginTry wasmBeginTry = 282; + WasmBeginCatchAll wasmBeginCatchAll = 283; + WasmBeginCatch wasmBeginCatch = 284; + WasmEndTry wasmEndTry = 285; + WasmBeginTryDelegate wasmBeginTryDelegate = 286; + WasmEndTryDelegate wasmEndTryDelegate = 287; + WasmThrow wasmThrow = 288; + WasmRethrow wasmRethrow = 289; + WasmThrowRef wasmThrowRef = 290; + WasmDefineTag wasmDefineTag = 291; + ConstSimd128 constSimd128 = 292; + WasmSimd128Compare wasmSimd128Compare = 293; + WasmSimd128IntegerUnOp wasmSimd128IntegerUnOp = 294; + WasmSimd128IntegerBinOp wasmSimd128IntegerBinOp = 295; + WasmSimd128IntegerTernaryOp wasmSimd128IntegerTernaryOp = 296; + WasmSimd128FloatUnOp wasmSimd128FloatUnOp = 297; + WasmSimd128FloatBinOp wasmSimd128FloatBinOp = 298; + WasmSimd128FloatTernaryOp wasmSimd128FloatTernaryOp = 299; + WasmSimdSplat wasmSimdSplat = 300; + WasmSimdExtractLane wasmSimdExtractLane = 301; + WasmSimdReplaceLane wasmSimdReplaceLane = 302; + WasmSimdStoreLane wasmSimdStoreLane = 303; + WasmSimdLoadLane wasmSimdLoadLane = 304; + WasmSimdLoad wasmSimdLoad = 305; + WasmUnreachable wasmUnreachable = 306; + WasmSelect wasmSelect = 307; + WasmBeginTypeGroup wasmBeginTypeGroup = 308; + WasmEndTypeGroup wasmEndTypeGroup = 309; + WasmDefineArrayType wasmDefineArrayType = 310; + WasmDefineStructType wasmDefineStructType = 311; + WasmDefineForwardOrSelfReference wasmDefineForwardOrSelfReference = 312; + WasmResolveForwardReference wasmResolveForwardReference = 313; + WasmArrayNewFixed wasmArrayNewFixed = 314; + WasmArrayNewDefault wasmArrayNewDefault = 315; + WasmArrayLen wasmArrayLen = 316; + WasmArrayGet wasmArrayGet = 317; + WasmArraySet wasmArraySet = 318; + WasmStructNewDefault wasmStructNewDefault = 319; + WasmStructGet wasmStructGet = 320; + WasmStructSet wasmStructSet = 321; + WasmRefNull wasmRefNull = 322; + WasmRefIsNull wasmRefIsNull = 323; + WasmRefI31 wasmRefI31 = 324; + WasmI31Get wasmI31Get = 325; + WasmAnyConvertExtern wasmAnyConvertExtern = 326; + WasmExternConvertAny wasmExternConvertAny = 327; + WasmMemoryCopy wasmMemoryCopy = 328; + WasmDefineElementSegment wasmDefineElementSegment = 329; + WasmTableInit wasmTableInit = 330; + WasmDropElementSegment wasmDropElementSegment = 331; + WasmTableCopy wasmTableCopy = 332; + WasmDefineSignatureType wasmDefineSignatureType = 333; + CreateNamedDisposableVariable createNamedDisposableVariable = 334; + CreateNamedAsyncDisposableVariable createNamedAsyncDisposableVariable = 335; } } diff --git a/Tests/FuzzilliTests/WasmTests.swift b/Tests/FuzzilliTests/WasmTests.swift index 0932b2421..05a3c6b61 100644 --- a/Tests/FuzzilliTests/WasmTests.swift +++ b/Tests/FuzzilliTests/WasmTests.swift @@ -4116,9 +4116,9 @@ class WasmFoundationTests: XCTestCase { b.buildWasmModule { wasmModule in let f1 = wasmModule.addWasmFunction(with: [] => []) { _, _, _ in return []} let f2 = wasmModule.addWasmFunction(with: [] => []) { _, _, _ in return []} - wasmModule.addElementSegment(elementsType: .wasmFunctionDef(), elements: []) - wasmModule.addElementSegment(elementsType: .wasmFunctionDef(), elements: [f1]) - wasmModule.addElementSegment(elementsType: .wasmFunctionDef(), elements: [f1, f2]) + wasmModule.addElementSegment(elements: []) + wasmModule.addElementSegment(elements: [f1]) + wasmModule.addElementSegment(elements: [f1, f2]) } } testForOutput(program: jsProg, runner: runner, outputString: "") @@ -4130,7 +4130,7 @@ class WasmFoundationTests: XCTestCase { let jsProg = buildAndLiftProgram() { b in b.buildWasmModule { wasmModule in let function = wasmModule.addWasmFunction(with: [] => []) { _, _, _ in return []} - let segment = wasmModule.addElementSegment(elementsType: .wasmFunctionDef(), elements: [function]) + let segment = wasmModule.addElementSegment(elements: [function]) wasmModule.addWasmFunction(with: [] => []) { f, _, _ in f.wasmDropElementSegment(elementSegment: segment) return [] @@ -4140,7 +4140,97 @@ class WasmFoundationTests: XCTestCase { testForOutput(program: jsProg, runner: runner, outputString: "") } - // TODO(427115604): add tests that actually use element segments once table.init operation is supported. + func wasmTableInit(isTable64: Bool) throws { + let runner = try GetJavaScriptExecutorOrSkipTest() + + let jsProg = buildAndLiftProgram() { b in + let module = b.buildWasmModule { module in + let f1 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(1)]} + let f2 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(2)]} + let f3 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(3)]} + + module.addTable(elementType: .wasmFuncRef, + minSize: 10, + definedEntries: [], + definedEntryValues: [], + isTable64: isTable64) + let table2 = module.addTable(elementType: .wasmFuncRef, + minSize: 10, + definedEntries: [], + definedEntryValues: [], + isTable64: isTable64) + module.addElementSegment(elements: []) + let elemSegment2 = module.addElementSegment(elements: [f3, f3, f1, f2]) + + module.addWasmFunction(with: [] => [.wasmi64, .wasmi64]) { f, _, _ in + let tableOffset = { (i: Int) in isTable64 ? f.consti64(Int64(i)) : f.consti32(Int32(i))} + f.wasmTableInit(elementSegment: elemSegment2, table: table2, tableOffset: tableOffset(5), elementSegmentOffset: f.consti32(2), nrOfElementsToUpdate: f.consti32(2)) + let callIndirect = { (table: Variable, idx: Int) in + let idxVar = isTable64 ? f.consti64(Int64(idx)) : f.consti32(Int32(idx)) + return f.wasmCallIndirect(signature: [] => [.wasmi64], table: table, functionArgs: [], tableIndex: idxVar) + } + return callIndirect(table2, 5) + callIndirect(table2, 6) + } + } + let res = b.callMethod(module.getExportedMethod(at: 3), on: module.loadExports()) + b.callFunction(b.createNamedVariable(forBuiltin: "output"), withArgs: [b.arrayToStringForTesting(res)]) + } + + testForOutput(program: jsProg, runner: runner, outputString: "1,2\n") + } + + func testTableInit32() throws { + try wasmTableInit(isTable64: false) + } + + func testTableInit64() throws { + try wasmTableInit(isTable64: true) + } + + func wasmTableCopy(isTable64: Bool) throws { + let runner = try GetJavaScriptExecutorOrSkipTest() + + let jsProg = buildAndLiftProgram() { b in + let module = b.buildWasmModule { module in + let f1 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(1)]} + let f2 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(2)]} + let f3 = module.addWasmFunction(with: [] => [.wasmi64]) { f, _, _ in return [f.consti64(3)]} + + let table1 = module.addTable(elementType: .wasmFuncRef, + minSize: 10, + definedEntries: [], + definedEntryValues: [], + isTable64: isTable64) + let table2 = module.addTable(elementType: .wasmFuncRef, + minSize: 10, + definedEntries: (0..<4).map { WasmTableType.IndexInTableAndWasmSignature.init(indexInTable: $0, signature: [] => [.wasmi64]) }, + definedEntryValues: [f3, f3, f1, f2], + isTable64: isTable64) + + module.addWasmFunction(with: [] => [.wasmi64, .wasmi64]) { f, _, _ in + let const = { (i: Int) in isTable64 ? f.consti64(Int64(i)) : f.consti32(Int32(i))} + f.wasmTableCopy(dstTable: table1, srcTable: table2, dstOffset: const(1), srcOffset: const(2), count: const(2)) + let callIndirect = { (table: Variable, idx: Int) in + let idxVar = isTable64 ? f.consti64(Int64(idx)) : f.consti32(Int32(idx)) + return f.wasmCallIndirect(signature: [] => [.wasmi64], table: table, functionArgs: [], tableIndex: idxVar) + } + return callIndirect(table1, 1) + callIndirect(table1, 2) + } + } + let res = b.callMethod(module.getExportedMethod(at: 3), on: module.loadExports()) + b.callFunction(b.createNamedVariable(forBuiltin: "output"), withArgs: [b.arrayToStringForTesting(res)]) + } + + testForOutput(program: jsProg, runner: runner, outputString: "1,2\n") + } + + func testTableCopy32() throws { + try wasmTableCopy(isTable64: false) + } + + func testTableCopy64() throws { + try wasmTableCopy(isTable64: true) + } } class WasmGCTests: XCTestCase { From 926cc0b5b73ee23d95237bd5b95e36c183893ecb Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Thu, 9 Oct 2025 15:50:35 -0400 Subject: [PATCH 03/30] Fix? --- .github/workflows/swift.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 46a117015..7e302b39a 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -31,9 +31,12 @@ jobs: # what swift binary to use? - name: Setup Swift for Ubuntu if: runner.os == 'Linux' - uses: swift-actions/setup-swift@v2 - with: - swift-version: "6.0.3" + run: | + wget -q https://download.swift.org/swift-${SWIFT_VERSION}-release/ubuntu2204/swift-${SWIFT_VERSION}-RELEASE/swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz + tar xzf swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz + mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift + rm swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz + export PATH="/opt/swift/usr/bin:${PATH}" - uses: actions/checkout@v2 - name: Build run: swift build -c ${{ matrix.kind }} -v From 7aa811f37cf9d3ce403214e42c365d5eeb4c7793 Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Thu, 9 Oct 2025 15:52:29 -0400 Subject: [PATCH 04/30] Fix --- .github/workflows/swift.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 7e302b39a..e796bff07 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -22,6 +22,9 @@ jobs: runs-on: ${{ matrix.os }} + env: + SWIFT_VERSION: 6.1 + steps: - uses: actions/setup-node@v4 with: From 3c15c5c3d63d4b5a601a39f5d2724586b0a62776 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Fri, 10 Oct 2025 02:00:04 -0700 Subject: [PATCH 05/30] Revert "Fix order in Opcodes.swift to be in line with program.proto" This reverts commit dc981ce448a6fab92b023e41a493d42cc3355e17. Reason for revert: This fix was invalidated by commit 88d0e33041bea3f57a573b10bc4503df279dda74 Original change's description: > Fix order in Opcodes.swift to be in line with program.proto > > Commit adfa084a75e58e71a1877c3ea2c430a3f114e7ef manually modified the > program.proto, so these got out of sync. > > Bug: 446634535 > Change-Id: I63438de9d88684a766b2f4f2cfc7f88a5b5b1079 > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8643678 > Reviewed-by: Michael Achenbach > Auto-Submit: Matthias Liedtke > Commit-Queue: Michael Achenbach Bug: 446634535 Change-Id: I873f100cf42b628548ab123230c869e91cc2c713 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8655440 Bot-Commit: Rubber Stamper Reviewed-by: Pawel Krawczyk Commit-Queue: Pawel Krawczyk --- Sources/Fuzzilli/FuzzIL/Opcodes.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/Fuzzilli/FuzzIL/Opcodes.swift b/Sources/Fuzzilli/FuzzIL/Opcodes.swift index 44bca30d2..f9fda2f00 100644 --- a/Sources/Fuzzilli/FuzzIL/Opcodes.swift +++ b/Sources/Fuzzilli/FuzzIL/Opcodes.swift @@ -67,6 +67,8 @@ enum Opcode { case classAddInstanceComputedProperty(ClassAddInstanceComputedProperty) case beginClassInstanceMethod(BeginClassInstanceMethod) case endClassInstanceMethod(EndClassInstanceMethod) + case beginClassInstanceComputedMethod(BeginClassInstanceComputedMethod) + case endClassInstanceComputedMethod(EndClassInstanceComputedMethod) case beginClassInstanceGetter(BeginClassInstanceGetter) case endClassInstanceGetter(EndClassInstanceGetter) case beginClassInstanceSetter(BeginClassInstanceSetter) @@ -78,6 +80,8 @@ enum Opcode { case endClassStaticInitializer(EndClassStaticInitializer) case beginClassStaticMethod(BeginClassStaticMethod) case endClassStaticMethod(EndClassStaticMethod) + case beginClassStaticComputedMethod(BeginClassStaticComputedMethod) + case endClassStaticComputedMethod(EndClassStaticComputedMethod) case beginClassStaticGetter(BeginClassStaticGetter) case endClassStaticGetter(EndClassStaticGetter) case beginClassStaticSetter(BeginClassStaticSetter) @@ -359,8 +363,4 @@ enum Opcode { case wasmDefineSignatureType(WasmDefineSignatureType) case createNamedDisposableVariable(CreateNamedDisposableVariable) case createNamedAsyncDisposableVariable(CreateNamedAsyncDisposableVariable) - case beginClassInstanceComputedMethod(BeginClassInstanceComputedMethod) - case endClassInstanceComputedMethod(EndClassInstanceComputedMethod) - case beginClassStaticComputedMethod(BeginClassStaticComputedMethod) - case endClassStaticComputedMethod(EndClassStaticComputedMethod) } From bd36b88943775e6e51edf0095fff4fbf3cb67196 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Fri, 10 Oct 2025 11:39:56 +0200 Subject: [PATCH 06/30] Let git in presubmit run in the base directory Bug: 449893303 Change-Id: I206533d114565c7565dd7ab33411e7b932837640 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8657396 Reviewed-by: Matthias Liedtke Commit-Queue: Matthias Liedtke Auto-Submit: Michael Achenbach Commit-Queue: Michael Achenbach --- Tools/presubmit.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Tools/presubmit.py b/Tools/presubmit.py index 2fd903e52..ea62f0afe 100644 --- a/Tools/presubmit.py +++ b/Tools/presubmit.py @@ -2,6 +2,10 @@ import shutil import subprocess +from pathlib import Path + +BASE_DIR = Path(__file__).parent.parent.resolve() + KNOWN_PROTO_FILES = [ "program.proto", "operations.proto", @@ -11,7 +15,11 @@ def check_git_clean(): """Check that the git repository does not have any uncommitted changes.""" - result = subprocess.run(["git", "status", "--porcelain", "--untracked-files=no"], capture_output=True, check=True) + result = subprocess.run( + ["git", "status", "--porcelain", "--untracked-files=no"], + cwd=BASE_DIR, + capture_output=True, + check=True) assert result.stdout.decode().strip() == "", f"Unexpected modified files: {result.stdout.decode()}" def check_proto(): From 6b6240bf36eae0156224a79b315ebe35a616bf67 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Thu, 9 Oct 2025 16:11:08 +0200 Subject: [PATCH 07/30] [v8] Conditionally enable new flag --wasm-assert-types This flag is added in https://crrev.com/c/7022989. Bug: 450246010 Change-Id: Ibcda60b74ef76d536c0ec94a5b40799a29b233e7 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8654776 Reviewed-by: Michael Achenbach Commit-Queue: Matthias Liedtke --- Sources/FuzzilliCli/Profiles/V8Profile.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sources/FuzzilliCli/Profiles/V8Profile.swift b/Sources/FuzzilliCli/Profiles/V8Profile.swift index f85c88470..057f8beeb 100644 --- a/Sources/FuzzilliCli/Profiles/V8Profile.swift +++ b/Sources/FuzzilliCli/Profiles/V8Profile.swift @@ -60,6 +60,9 @@ let v8Profile = Profile( // Note that this flag only affects WebAssembly. if probability(0.5) { args.append("--no-liftoff") + if probability(0.3) { + args.append("--wasm-assert-types") + } } // This greatly helps the fuzzer to decide inlining wasm functions into each other when From 559353484b782ba6aa998d0f762b0d585f48bee7 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Fri, 10 Oct 2025 15:54:43 +0200 Subject: [PATCH 08/30] Make presubmit tolerant to staged files and fix directories The application of patches in bot_update in the infrastructure leaves files as staged, which would be detected by the `git status` command. We change this to `git diff` to only flag the unstaged changes, provoked by the proto generation tool. This also fixes more directories that require to be absolute paths. Bug: 449893303 Change-Id: Ic06d6594e18237453c85a3d2bafd944ceababd7d Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8655125 Reviewed-by: Matthias Liedtke Auto-Submit: Michael Achenbach Commit-Queue: Matthias Liedtke --- Tools/presubmit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tools/presubmit.py b/Tools/presubmit.py index ea62f0afe..df04798e6 100644 --- a/Tools/presubmit.py +++ b/Tools/presubmit.py @@ -16,7 +16,7 @@ def check_git_clean(): """Check that the git repository does not have any uncommitted changes.""" result = subprocess.run( - ["git", "status", "--porcelain", "--untracked-files=no"], + ["git", "diff", "--name-only"], cwd=BASE_DIR, capture_output=True, check=True) @@ -25,7 +25,7 @@ def check_git_clean(): def check_proto(): """Check that program.proto is up-to-date.""" print("Checking generated protobuf files...") - proto_dir = "Sources/Fuzzilli/Protobuf" + proto_dir = BASE_DIR / "Sources/Fuzzilli/Protobuf" subprocess.run(["python3", "./gen_programproto.py"], cwd=proto_dir, check=True) # gen_programproto.py should be a no-op. check_git_clean() @@ -34,8 +34,8 @@ def check_proto(): print("Skipping protobuf validation as protoc is not available.") return - swift_protobuf_path = os.getcwd() + "/.build/checkouts/swift-protobuf" - assert os.path.exists(swift_protobuf_path), \ + swift_protobuf_path = BASE_DIR / ".build/checkouts/swift-protobuf" + assert swift_protobuf_path.exists(), \ "The presubmit requires a swift-protobuf checkout, e.g. via \"swift build\"" # Build swift-protobuf (for simplicity reuse the fetched repository from the swift-protobuf library). # Use a debug build as running it is very quick while building it with reelase might be slow. From bac523f36f8edd36bf918f7ae000e35fef7dcc9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20H=C3=A9rouart?= Date: Thu, 16 Oct 2025 01:21:06 -0700 Subject: [PATCH 09/30] [v8] Add `--proto-assign-seq-opt` to the fuzzed v8 arguments. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include `--proto_assign_seq_opt` with a 0.5 probability. Bug: 429332174 Change-Id: Ibd2539fe2bff676ebd8fb4b23b3805484ae524b1 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8673377 Commit-Queue: Raphaël Hérouart Reviewed-by: Michael Achenbach Reviewed-by: Matthias Liedtke --- Sources/FuzzilliCli/Profiles/V8Profile.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/FuzzilliCli/Profiles/V8Profile.swift b/Sources/FuzzilliCli/Profiles/V8Profile.swift index 057f8beeb..6ba5f297e 100644 --- a/Sources/FuzzilliCli/Profiles/V8Profile.swift +++ b/Sources/FuzzilliCli/Profiles/V8Profile.swift @@ -146,6 +146,10 @@ let v8Profile = Profile( args.append("--stress-wasm-stack-switching") } + if probability(0.5) { + args.append("--proto-assign-seq-opt") + } + // // Sometimes enable additional verification/stressing logic (which may be fairly expensive). // From 8ed7091391c0090df02a2d11c61cb580df8398ff Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Mon, 20 Oct 2025 09:25:34 +0200 Subject: [PATCH 10/30] Bump V8 timeouts to fix bots Bug: 453513823 Change-Id: I4739cb837eee52faea8af449b4938314517fcb38 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8685816 Reviewed-by: Matthias Liedtke --- Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift | 2 +- Sources/FuzzilliCli/Profiles/V8Profile.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift b/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift index d292c4cba..00cef7b5a 100644 --- a/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift +++ b/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift @@ -40,7 +40,7 @@ let v8HoleFuzzingProfile = Profile( maxExecsBeforeRespawn: 1000, - timeout: 250, + timeout: 300, codePrefix: """ """, diff --git a/Sources/FuzzilliCli/Profiles/V8Profile.swift b/Sources/FuzzilliCli/Profiles/V8Profile.swift index 6ba5f297e..6971747f5 100644 --- a/Sources/FuzzilliCli/Profiles/V8Profile.swift +++ b/Sources/FuzzilliCli/Profiles/V8Profile.swift @@ -261,7 +261,7 @@ let v8Profile = Profile( maxExecsBeforeRespawn: 1000, - timeout: 250, + timeout: 300, codePrefix: """ """, From 91fb4ab3f42770853453ef9ca8489824fdd0a8b5 Mon Sep 17 00:00:00 2001 From: "Rong \"Mantle\" Bao" Date: Mon, 20 Oct 2025 19:43:13 +0800 Subject: [PATCH 11/30] Pass environment variables to the engine in startup tests (#535) * Make REPRL env property a list of tuples of (key, value) * Pass env vars when running startup tests --- Sources/Fuzzilli/Execution/REPRL.swift | 10 +++++----- Sources/Fuzzilli/Execution/ScriptRunner.swift | 1 + Sources/Fuzzilli/Fuzzer.swift | 4 +++- Sources/Fuzzilli/Util/JavaScriptExecutor.swift | 17 ++++++++++++----- Sources/Fuzzilli/Util/MockFuzzer.swift | 1 + 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Sources/Fuzzilli/Execution/REPRL.swift b/Sources/Fuzzilli/Execution/REPRL.swift index 22bb3c34f..005310ec8 100644 --- a/Sources/Fuzzilli/Execution/REPRL.swift +++ b/Sources/Fuzzilli/Execution/REPRL.swift @@ -24,8 +24,8 @@ public class REPRL: ComponentBase, ScriptRunner { /// Commandline arguments for the executable public private(set) var processArguments: [String] - /// Environment variables for the child process - private var env = [String]() + /// Environment variables for the child process. Shape: [(key, value)] + public private(set) var env = [(String, String)]() /// Number of script executions since start of child process private var execsSinceReset = 0 @@ -50,7 +50,7 @@ public class REPRL: ComponentBase, ScriptRunner { super.init(name: "REPRL") for (key, value) in processEnvironment { - env.append(key + "=" + value) + env.append((key, value)) } } @@ -61,7 +61,7 @@ public class REPRL: ComponentBase, ScriptRunner { } let argv = convertToCArray(processArguments) - let envp = convertToCArray(env) + let envp = convertToCArray(env.map({ $0 + "=" + $1 })) if reprl_initialize_context(reprlContext, argv, envp, /* capture stdout */ 1, /* capture stderr: */ 1) != 0 { logger.fatal("Failed to initialize REPRL context: \(String(cString: reprl_get_last_error(reprlContext)))") @@ -76,7 +76,7 @@ public class REPRL: ComponentBase, ScriptRunner { } public func setEnvironmentVariable(_ key: String, to value: String) { - env.append(key + "=" + value) + env.append((key, value)) } public func run(_ script: String, withTimeout timeout: UInt32) -> Execution { diff --git a/Sources/Fuzzilli/Execution/ScriptRunner.swift b/Sources/Fuzzilli/Execution/ScriptRunner.swift index 36bccf7e8..fcd408d1d 100644 --- a/Sources/Fuzzilli/Execution/ScriptRunner.swift +++ b/Sources/Fuzzilli/Execution/ScriptRunner.swift @@ -14,6 +14,7 @@ public protocol ScriptRunner: Component { var processArguments: [String] { get } + var env: [(String, String)] { get } /// Executes a script, waits for it to complete, and returns the result. func run(_ script: String, withTimeout timeout: UInt32) -> Execution diff --git a/Sources/Fuzzilli/Fuzzer.swift b/Sources/Fuzzilli/Fuzzer.swift index 3be0dadb1..e9d10abf9 100644 --- a/Sources/Fuzzilli/Fuzzer.swift +++ b/Sources/Fuzzilli/Fuzzer.swift @@ -1013,7 +1013,9 @@ public class Fuzzer { // Wrap the executor in a JavaScriptTestRunner // If we can execute it standalone, it could inform us if any flags that were passed are incorrect, stale or conflicting. - let executor = JavaScriptExecutor(withExecutablePath: runner.processArguments[0], arguments: Array(runner.processArguments[1...])) + let executor = JavaScriptExecutor( + withExecutablePath: runner.processArguments[0], + arguments: Array(runner.processArguments[1...]), env: runner.env) do { let output = try executor.executeScript("", withTimeout: 300).output if output.lengthOfBytes(using: .utf8) > 0 { diff --git a/Sources/Fuzzilli/Util/JavaScriptExecutor.swift b/Sources/Fuzzilli/Util/JavaScriptExecutor.swift index 1f0ae1d50..4340c67ef 100644 --- a/Sources/Fuzzilli/Util/JavaScriptExecutor.swift +++ b/Sources/Fuzzilli/Util/JavaScriptExecutor.swift @@ -38,9 +38,12 @@ public class JavaScriptExecutor { let arguments: [String] + let env: [(String, String)] + /// Depending on the type this constructor will try to find the requested shell or fail - public init?(type: ExecutorType = .any, withArguments maybeArguments: [String]? = nil) { + public init?(type: ExecutorType = .any, withArguments maybeArguments: [String]? = nil, withEnv maybeEnv: [(String, String)]? = nil) { self.arguments = maybeArguments ?? [] + self.env = maybeEnv ?? [] let path: String? switch type { @@ -59,23 +62,24 @@ public class JavaScriptExecutor { self.executablePath = path! } - public init(withExecutablePath executablePath: String, arguments: [String]) { + public init(withExecutablePath executablePath: String, arguments: [String], env: [(String, String)]) { self.executablePath = executablePath self.arguments = arguments + self.env = env } /// Executes the JavaScript script using the configured engine and returns the stdout. public func executeScript(_ script: String, withTimeout timeout: TimeInterval? = nil) throws -> Result { - return try execute(executablePath, withInput: prefix + script.data(using: .utf8)!, withArguments: self.arguments, timeout: timeout) + return try execute(executablePath, withInput: prefix + script.data(using: .utf8)!, withArguments: self.arguments, withEnv: self.env, timeout: timeout) } /// Executes the JavaScript script at the specified path using the configured engine and returns the stdout. public func executeScript(at url: URL, withTimeout timeout: TimeInterval? = nil) throws -> Result { let script = try Data(contentsOf: url) - return try execute(executablePath, withInput: prefix + script, withArguments: self.arguments, timeout: timeout) + return try execute(executablePath, withInput: prefix + script, withArguments: self.arguments, withEnv: self.env, timeout: timeout) } - func execute(_ path: String, withInput input: Data = Data(), withArguments arguments: [String] = [], timeout maybeTimeout: TimeInterval? = nil) throws -> Result { + func execute(_ path: String, withInput input: Data = Data(), withArguments arguments: [String] = [], withEnv env: [(String, String)] = [], timeout maybeTimeout: TimeInterval? = nil) throws -> Result { let inputPipe = Pipe() let outputPipe = Pipe() let errorPipe = Pipe() @@ -89,6 +93,8 @@ public class JavaScriptExecutor { // Close stdin try inputPipe.fileHandleForWriting.close() + let environment = ProcessInfo.processInfo.environment.merging(env, uniquingKeysWith: { _, new in new }) + // Execute the subprocess. let task = Process() task.standardOutput = outputPipe @@ -96,6 +102,7 @@ public class JavaScriptExecutor { task.arguments = arguments + [url.path] task.executableURL = URL(fileURLWithPath: path) task.standardInput = inputPipe + task.environment = environment try task.run() var timedOut = false diff --git a/Sources/Fuzzilli/Util/MockFuzzer.swift b/Sources/Fuzzilli/Util/MockFuzzer.swift index a7bab9463..44feb77f4 100644 --- a/Sources/Fuzzilli/Util/MockFuzzer.swift +++ b/Sources/Fuzzilli/Util/MockFuzzer.swift @@ -26,6 +26,7 @@ struct MockExecution: Execution { class MockScriptRunner: ScriptRunner { var processArguments: [String] = [] + var env: [(String, String)] = [] func run(_ script: String, withTimeout timeout: UInt32) -> Execution { return MockExecution(outcome: .succeeded, From 37a7022dc27b980093e6f9a45ecf8031c4261f48 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Fri, 10 Oct 2025 14:43:40 +0200 Subject: [PATCH 12/30] Support ILType.unboundFunction in ProgramBuilder.generateTypeInternal While not a perfect fix, this will address the warnings and should lead to generating useful samples. Change-Id: Iff0dc4d099a0ebf5138c271209351cc633f222a3 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8655658 Commit-Queue: Matthias Liedtke Auto-Submit: Matthias Liedtke Reviewed-by: Carl Smith --- Sources/Fuzzilli/Base/ProgramBuilder.swift | 7 +++++++ Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Sources/Fuzzilli/Base/ProgramBuilder.swift b/Sources/Fuzzilli/Base/ProgramBuilder.swift index d6cf99689..ba6eb2ef4 100644 --- a/Sources/Fuzzilli/Base/ProgramBuilder.swift +++ b/Sources/Fuzzilli/Base/ProgramBuilder.swift @@ -686,6 +686,13 @@ public class ProgramBuilder { // Note that builtin constructors are handled above in the maybeGenerateConstructorAsPath call. return self.randomVariable(forUseAs: .function()) }), + (.unboundFunction(), { + // TODO: We have the same issue as above for functions. + // First try to find an existing unbound function. if not present, try to find any + // function. Using any function as an unbound function is fine, it just misses the + // information about the receiver type (which for many functions doesn't matter). + return self.randomVariable(ofType: .unboundFunction()) ?? self.randomVariable(forUseAs: .function()) + }), (.undefined, { return self.loadUndefined() }), (.constructor(), { // TODO: We have the same issue as above for functions. diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index 6611acdef..e687a3de9 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -1965,7 +1965,6 @@ public let CodeGenerators: [CodeGenerator] = [ c, withArgs: arguments, spreading: spreads, guard: needGuard) }, - // TODO(mliedtke): Improve generateTypeInternal to support .unboundFunction() CodeGenerator("UnboundFunctionCallGenerator", inputs: .preferred(.unboundFunction())) { b, f in let (arguments, argsMatch) = b.randomArguments(forCallingGuardableFunction: f) let fctType = b.type(of: f) @@ -1976,7 +1975,6 @@ public let CodeGenerators: [CodeGenerator] = [ b.callMethod("call", on: f, withArgs: [receiver] + arguments, guard: needGuard) }, - // TODO(mliedtke): Improve generateTypeInternal to support .unboundFunction() CodeGenerator("UnboundFunctionApplyGenerator", inputs: .preferred(.unboundFunction())) { b, f in let (arguments, argsMatch) = b.randomArguments(forCallingGuardableFunction: f) let fctType = b.type(of: f) @@ -1987,7 +1985,6 @@ public let CodeGenerators: [CodeGenerator] = [ b.callMethod("apply", on: f, withArgs: [receiver, b.createArray(with: arguments)], guard: needGuard) }, - // TODO(mliedtke): Improve generateTypeInternal to support .unboundFunction() CodeGenerator("UnboundFunctionBindGenerator", inputs: .required(.unboundFunction())) { b, f in let arguments = b.randomArguments(forCalling: f) let fctType = b.type(of: f) From 4359c6efe4ba978d36b5cbb28b483b14c1de26aa Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Mon, 20 Oct 2025 12:06:39 +0200 Subject: [PATCH 13/30] Remove maintainer list from README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... as the project is now maintained by a broader group of people. Change-Id: Ie08675f27644b7f54c9e9e2eb265163fb358e5cf Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8686137 Commit-Queue: Matthias Liedtke Reviewed-by: Samuel Groß --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index cf083cce2..862bc0667 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,6 @@ A (coverage-)guided fuzzer for dynamic language interpreters based on a custom intermediate language ("FuzzIL") which can be mutated and translated to JavaScript. -Fuzzilli is developed and maintained by: -- Samuel Groß, -- Carl Smith, - ## Usage The basic steps to use this fuzzer are: From 96a8dc193687756825834d4b1e2c0c1ae9a2673f Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Fri, 17 Oct 2025 11:01:18 +0200 Subject: [PATCH 14/30] Print a debug message after a fatal error Fuzzilli sometimes aborts without any message. This adds a message to a code place that might not print anything else yet. Bug: 453513823 Change-Id: Ice480cc70903cfcb73165886db7b497cd0bb907e Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8679216 Reviewed-by: Matthias Liedtke Reviewed-by: Danylo Mocherniuk Commit-Queue: Michael Achenbach --- Sources/FuzzilliCli/main.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sources/FuzzilliCli/main.swift b/Sources/FuzzilliCli/main.swift index a01f59475..8d381e85a 100644 --- a/Sources/FuzzilliCli/main.swift +++ b/Sources/FuzzilliCli/main.swift @@ -557,7 +557,11 @@ fuzzer.sync { logger.info("You can recover the old corpus by moving it to \(path + "/corpus").") } } - exit(reason.toExitCode()) + let code = reason.toExitCode() + if (code != 0) { + print("Aborting execution after a fatal error.") + } + exit(code) } // Store samples to disk if requested. From 3b4ef3a94bb52aaae3d5c1eed6b642346d8401a1 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Mon, 20 Oct 2025 10:54:10 +0200 Subject: [PATCH 15/30] [v8] Disable ParitionAlloc This doesn't seem to work with Fuzzilli, yet. Bug: 453530599 Change-Id: Id944bba33c2c802cceada5f7281ac1c82a811c36 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8686136 Reviewed-by: Michael Achenbach Auto-Submit: Matthias Liedtke Commit-Queue: Michael Achenbach --- Targets/V8/fuzzbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Targets/V8/fuzzbuild.sh b/Targets/V8/fuzzbuild.sh index 315739645..be651085e 100755 --- a/Targets/V8/fuzzbuild.sh +++ b/Targets/V8/fuzzbuild.sh @@ -16,7 +16,7 @@ if [ "$(uname)" == "Linux" ]; then # See https://v8.dev/docs/compile-arm64 for instructions on how to build on Arm64 - gn gen out/fuzzbuild --args='is_debug=false dcheck_always_on=true v8_static_library=true v8_enable_verify_heap=true v8_fuzzilli=true sanitizer_coverage_flags="trace-pc-guard" target_cpu="x64"' + gn gen out/fuzzbuild --args='is_debug=false dcheck_always_on=true v8_static_library=true v8_enable_verify_heap=true v8_enable_partition_alloc=false v8_fuzzilli=true sanitizer_coverage_flags="trace-pc-guard" target_cpu="x64"' else echo "Unsupported operating system" fi From 165adb70f070659b6b95e341e4b99012a766aa52 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Mon, 20 Oct 2025 16:42:07 +0200 Subject: [PATCH 16/30] Enable the FuzzIL compiler to directly output a JS file This will be used by an automated script compiling and lifting test cases from e.g. test262. Bug: 442444727 Change-Id: I0b2321e44e0def292cd88a103a46b03960ee1d55 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8680076 Commit-Queue: Michael Achenbach Reviewed-by: Matthias Liedtke --- Sources/FuzzILTool/main.swift | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/Sources/FuzzILTool/main.swift b/Sources/FuzzILTool/main.swift index b9ed54deb..a8a3b6009 100644 --- a/Sources/FuzzILTool/main.swift +++ b/Sources/FuzzILTool/main.swift @@ -95,7 +95,7 @@ func loadProgramOrExit(from path: String) -> Program { let args = Arguments.parse(from: CommandLine.arguments) -if args["-h"] != nil || args["--help"] != nil || args.numPositionalArguments != 1 || args.numOptionalArguments > 2 { +if args["-h"] != nil || args["--help"] != nil || args.numPositionalArguments != 1 { print(""" Usage: \(args.programName) options path @@ -108,6 +108,7 @@ if args["-h"] != nil || args["--help"] != nil || args.numPositionalArguments != --dumpProgram : Dumps the internal representation of the program stored in the given protobuf file --checkCorpus : Attempts to load all .fzil files in a directory and checks if they are statically valid --compile : Compile the given JavaScript program to a FuzzIL program. Requires node.js + --outputPathJS : If given, --compile will write the lifted JS file to the given path after compilation. --generate : Generate a random program using Fuzzilli's code generators and save it to the specified path. --forDifferentialFuzzing : Enable additional features for better support of external differential fuzzing. """) @@ -186,17 +187,27 @@ else if args.has("--compile") { exit(-1) } - print(fuzzILLifter.lift(program)) - print() - print(jsLifter.lift(program)) + if let js_path = args["--outputPathJS"] { + let content = jsLifter.lift(program) + do { + try content.write(to: URL(fileURLWithPath: js_path), atomically: false, encoding: String.Encoding.utf8) + } catch { + print("Failed to write file \(js_path): \(error)") + exit(-1) + } + } else { + print(fuzzILLifter.lift(program)) + print() + print(jsLifter.lift(program)) - do { - let outputPath = URL(fileURLWithPath: path).deletingPathExtension().appendingPathExtension("fzil") - try program.asProtobuf().serializedData().write(to: outputPath) - print("FuzzIL program written to \(outputPath.relativePath)") - } catch { - print("Failed to store output program to disk: \(error)") - exit(-1) + do { + let outputPath = URL(fileURLWithPath: path).deletingPathExtension().appendingPathExtension("fzil") + try program.asProtobuf().serializedData().write(to: outputPath) + print("FuzzIL program written to \(outputPath.relativePath)") + } catch { + print("Failed to store output program to disk: \(error)") + exit(-1) + } } } From 12f601cb18008e250543527a60756da889703b62 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Mon, 20 Oct 2025 17:34:26 +0200 Subject: [PATCH 17/30] Make disposable-variable generators more expressive This turns the existing disposable-variable generators into new-style stubs that enable more expressive code generation in the bodies of the generated objects. Bug: 446632644 Change-Id: Ife11999aa61d133c15232bca58e30deb525d880d Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8654476 Reviewed-by: Matthias Liedtke Commit-Queue: Michael Achenbach --- Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 86 +++++++++++++------ 1 file changed, 60 insertions(+), 26 deletions(-) diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index e687a3de9..b62621d5e 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -12,6 +12,54 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Generator stubs for disposable and async-disposable variables. +func disposableVariableGeneratorStubs( + inContext contextRequirement : Context, + withSymbol symbolProperty : String, + genDisposableVariable : @escaping (ProgramBuilder, Variable) -> Void) -> [GeneratorStub] { + return [ + GeneratorStub( + "DisposableObjectLiteralBeginGenerator", + inContext: .single(contextRequirement), + provides: [.objectLiteral] + ) { b in + // Ensure we have the desired symbol below. + b.createSymbolProperty(symbolProperty) + b.emit(BeginObjectLiteral()) + }, + GeneratorStub( + "DisposableObjectLiteralComputedMethodBeginGenerator", + inContext: .single(.objectLiteral), + provides: [.javascript, .subroutine, .method] + ) { b in + // It should be safe to assume that we find at least the + // desired symbol we created above. + let symbol = b.randomVariable(forUseAs: .jsSymbol) + let parameters = b.randomParameters() + b.setParameterTypesForNextSubroutine(parameters.parameterTypes) + b.emit( + BeginObjectLiteralComputedMethod( + parameters: parameters.parameters), + withInputs: [symbol]) + }, + GeneratorStub( + "DisposableObjectLiteralComputedMethodEndGenerator", + inContext: .single([.javascript, .subroutine, .method]), + provides: [.objectLiteral] + ) { b in + b.maybeReturnRandomJsVariable(0.9) + b.emit(EndObjectLiteralComputedMethod()) + }, + GeneratorStub( + "DisposableObjectLiteralEndGenerator", + inContext: .single(.objectLiteral) + ) { b in + let disposableVariable = b.emit(EndObjectLiteral()).output + genDisposableVariable(b, disposableVariable) + }, + ] +} + // // Code generators. // @@ -423,34 +471,20 @@ public let CodeGenerators: [CodeGenerator] = [ ]), CodeGenerator( - "DisposableVariableGenerator", inContext: .single(.subroutine), inputs: .one - ) { b, val in - assert(b.context.contains(.subroutine)) - let dispose = b.createSymbolProperty("dispose") - let disposableVariable = b.buildObjectLiteral { obj in - obj.addProperty("value", as: val) - obj.addComputedMethod(dispose, with: .parameters(n: 0)) { args in - b.maybeReturnRandomJsVariable(0.9) - } - } - b.loadDisposableVariable(disposableVariable) - }, + "DisposableVariableGenerator", + disposableVariableGeneratorStubs( + inContext: .subroutine, + withSymbol: "dispose") { b, variable in + b.loadDisposableVariable(variable) + }), CodeGenerator( - "AsyncDisposableVariableGenerator", inContext: .single(.asyncFunction), - inputs: .one - ) { b, val in - assert(b.context.contains(.asyncFunction)) - let asyncDispose = b.createSymbolProperty("asyncDispose") - let asyncDisposableVariable = b.buildObjectLiteral { obj in - obj.addProperty("value", as: val) - obj.addComputedMethod(asyncDispose, with: .parameters(n: 0)) { - args in - b.maybeReturnRandomJsVariable(0.9) - } - } - b.loadAsyncDisposableVariable(asyncDisposableVariable) - }, + "AsyncDisposableVariableGenerator", + disposableVariableGeneratorStubs( + inContext: .asyncFunction, + withSymbol: "asyncDispose") { b, variable in + b.loadAsyncDisposableVariable(variable) + }), CodeGenerator( "ObjectLiteralGenerator", From 6395ef6c0ded9921b8190aee6a7783d158f91b4c Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Tue, 21 Oct 2025 09:13:26 +0200 Subject: [PATCH 18/30] [clean-up] Remove redundant context assertions This removes some redundant assertions that are already checked in the same way by the `inContext` requirements of the respective code generators. Bug: 446632644 Change-Id: I50b9432d15d8554040d0598893b3fb35ae264fba Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8686138 Commit-Queue: Michael Achenbach Reviewed-by: Matthias Liedtke --- Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 120 ------------------ 1 file changed, 120 deletions(-) diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index b62621d5e..0f09e0037 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -446,7 +446,6 @@ public let CodeGenerators: [CodeGenerator] = [ }, CodeGenerator("ArgumentsAccessGenerator", inContext: .single(.subroutine)) { b in - assert(b.context.contains(.subroutine)) b.loadArguments() }, @@ -503,9 +502,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ObjectLiteralPropertyGenerator", inContext: .single(.objectLiteral)) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) // Try to find a property that hasn't already been added to this literal. var propertyName: String @@ -526,10 +522,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "ObjectLiteralElementGenerator", inContext: .single(.objectLiteral), inputs: .one ) { b, value in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Select an element that hasn't already been added to this literal. var index = b.randomIndex() while b.currentObjectLiteral.elements.contains(index) { @@ -544,10 +536,6 @@ public let CodeGenerators: [CodeGenerator] = [ "ObjectLiteralComputedPropertyGenerator", inContext: .single(.objectLiteral), inputs: .one ) { b, value in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Try to find a computed property that hasn't already been added to this literal. var propertyName: Variable var attempts = 0 @@ -568,18 +556,11 @@ public let CodeGenerators: [CodeGenerator] = [ "ObjectLiteralCopyPropertiesGenerator", inContext: .single(.objectLiteral), inputs: .preferred(.object()) ) { b, object in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) b.currentObjectLiteral.copyProperties(from: object) }, CodeGenerator("ObjectLiteralPrototypeGenerator", inContext: .single(.objectLiteral)) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // There should only be one __proto__ field in an object literal. guard !b.currentObjectLiteral.hasPrototype else { return } @@ -594,10 +575,6 @@ public let CodeGenerators: [CodeGenerator] = [ "ObjectLiteralMethodBeginGenerator", inContext: .single(.objectLiteral), provides: [.javascript, .subroutine, .method] ) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Try to find a method that hasn't already been added to this literal. var methodName: String var attempts = 0 @@ -632,10 +609,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.objectLiteral), provides: [.javascript, .subroutine, .method] ) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Try to find a computed method name that hasn't already been added to this literal. var methodName: Variable var attempts = 0 @@ -675,10 +648,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.objectLiteral), provides: [.javascript, .subroutine, .method] ) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a getter has not yet been installed. var propertyName: String var attempts = 0 @@ -715,10 +684,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.objectLiteral), provides: [.javascript, .subroutine, .method] ) { b in - assert( - b.context.contains(.objectLiteral) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a setter has not yet been installed. var propertyName: String var attempts = 0 @@ -752,9 +717,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) guard !b.currentClassDefinition.hasConstructor else { // There must only be one constructor @@ -799,10 +761,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassInstancePropertyGenerator", inContext: .single(.classDefinition)) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added to this literal. var propertyName: String var attempts = 0 @@ -819,10 +777,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassInstanceElementGenerator", inContext: .single(.classDefinition)) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Select an element that hasn't already been added to this literal. var index = b.randomIndex() while b.currentClassDefinition.instanceElements.contains(index) { @@ -837,10 +791,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "ClassInstanceComputedPropertyGenerator", inContext: .single(.classDefinition) ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a computed property that hasn't already been added to this literal. var propertyName: Variable var attempts = 0 @@ -864,10 +814,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a method that hasn't already been added to this class. var methodName: String var attempts = 0 @@ -906,10 +852,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a method that hasn't already been added to this class. var methodName = b.randomJsVariable() var attempts = 0 @@ -944,10 +886,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a getter has not yet been installed. var propertyName: String var attempts = 0 @@ -982,10 +920,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a setter has not yet been installed. var propertyName: String var attempts = 0 @@ -1015,10 +949,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassStaticPropertyGenerator", inContext: .single(.classDefinition)) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added to this literal. var propertyName: String var attempts = 0 @@ -1038,10 +968,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassStaticElementGenerator", inContext: .single(.classDefinition)) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Select an element that hasn't already been added to this literal. var index = b.randomIndex() while b.currentClassDefinition.staticElements.contains(index) { @@ -1056,10 +982,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "ClassStaticComputedPropertyGenerator", inContext: .single(.classDefinition) ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a computed property that hasn't already been added to this literal. var propertyName: Variable var attempts = 0 @@ -1086,10 +1008,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - b.emit(BeginClassStaticInitializer()) }, GeneratorStub( @@ -1108,10 +1026,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .method, .subroutine, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a method that hasn't already been added to this class. var methodName: String var attempts = 0 @@ -1152,10 +1066,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a method that hasn't already been added to this class. var methodName = b.randomJsVariable() var attempts = 0 @@ -1190,10 +1100,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a getter has not yet been installed. var propertyName: String var attempts = 0 @@ -1229,10 +1135,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a property that hasn't already been added and for which a setter has not yet been installed. var propertyName: String var attempts = 0 @@ -1262,10 +1164,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "ClassPrivateInstancePropertyGenerator", inContext: .single(.classDefinition) ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a private field that hasn't already been added to this literal. var propertyName: String var attempts = 0 @@ -1288,10 +1186,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a private field that hasn't already been added to this class. var methodName: String var attempts = 0 @@ -1323,10 +1217,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "ClassPrivateStaticPropertyGenerator", inContext: .single(.classDefinition) ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a private field that hasn't already been added to this literal. var propertyName: String var attempts = 0 @@ -1349,10 +1239,6 @@ public let CodeGenerators: [CodeGenerator] = [ inContext: .single(.classDefinition), provides: [.javascript, .subroutine, .method, .classMethod] ) { b in - assert( - b.context.contains(.classDefinition) - && !b.context.contains(.javascript)) - // Try to find a private field that hasn't already been added to this class. var methodName: String var attempts = 0 @@ -2038,7 +1924,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator( "SubroutineReturnGenerator", inContext: .single(.subroutine), inputs: .one ) { b, val in - assert(b.context.contains(.subroutine)) if probability(0.9) { b.doReturn(val) } else { @@ -2048,7 +1933,6 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("YieldGenerator", inContext: .single(.generatorFunction), inputs: .one) { b, val in - assert(b.context.contains(.generatorFunction)) if probability(0.9) { b.yield(val) } else { @@ -2060,13 +1944,11 @@ public let CodeGenerators: [CodeGenerator] = [ "YieldEachGenerator", inContext: .single(.generatorFunction), inputs: .required(.iterable) ) { b, val in - assert(b.context.contains(.generatorFunction)) b.yieldEach(val) }, CodeGenerator("AwaitGenerator", inContext: .single(.asyncFunction), inputs: .one) { b, val in - assert(b.context.contains(.asyncFunction)) b.await(val) }, @@ -2603,7 +2485,6 @@ public let CodeGenerators: [CodeGenerator] = [ }, CodeGenerator("ContinueGenerator", inContext: .single(.loop)) { b in - assert(b.context.contains(.loop)) b.loopContinue() }, @@ -3130,7 +3011,6 @@ public let CodeGenerators: [CodeGenerator] = [ }, CodeGenerator("LoadNewTargetGenerator", inContext: .single(.subroutine)) { b in - assert(b.context.contains(.subroutine)) b.loadNewTarget() }, From c2f3b9c724a9de36a612c8d61d316f1b2da8a27f Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Tue, 21 Oct 2025 12:55:54 +0200 Subject: [PATCH 19/30] [owners] Increase list of owners [Insert Spider-Man quote here] Change-Id: I64ea011d92b5bc535a4c19c8326782ad1512708b Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8690557 Commit-Queue: Michael Achenbach Reviewed-by: Michael Achenbach --- OWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OWNERS b/OWNERS index de83baf0b..f5ef171a5 100644 --- a/OWNERS +++ b/OWNERS @@ -1,5 +1,9 @@ cffsmith@google.com +machenbach@google.com +mdanylo@google.com mliedtke@google.com +pawkra@google.com saelo@google.com +tacet@google.com per-file WHITESPACE=* From b5a499f22a5925e27327d1a562ba7bfa71639358 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Tue, 21 Oct 2025 13:05:37 +0200 Subject: [PATCH 20/30] [v8] Add scavenger chaos mode to Fuzzilli Bug: 450045070 Change-Id: I6bf07aa3b854e703b0b199939e8e9018a1ef00a7 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8690756 Reviewed-by: Matthias Liedtke Commit-Queue: Omer Katz --- Sources/FuzzilliCli/Profiles/V8Profile.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sources/FuzzilliCli/Profiles/V8Profile.swift b/Sources/FuzzilliCli/Profiles/V8Profile.swift index 6971747f5..114e1f749 100644 --- a/Sources/FuzzilliCli/Profiles/V8Profile.swift +++ b/Sources/FuzzilliCli/Profiles/V8Profile.swift @@ -127,6 +127,12 @@ let v8Profile = Profile( args.append("--handle-weak-ref-weakly-in-minor-gc") } + if probability(0.1) { + args.append("--scavenger-chaos-mode") + let threshold = Int.random(in: 0...100) + args.append("--scavenger-chaos-mode-threshold=\(threshold)") + } + if probability(0.1) { let stackSize = Int.random(in: 54...863) args.append("--stack-size=\(stackSize)") From 8726ea406dd2762c287d4f61afc2adcbc74bec80 Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Tue, 21 Oct 2025 11:35:11 +0200 Subject: [PATCH 21/30] [github] Use pre-installed swift version The marketplace GitHub action for checking out a specific swift version causes all kinds of issues. While installing swift manually is possible, it's extra work. As the default GitHub ubuntu container ships with swift 6.2 pre-installed, switch to just using that version. Note: The MacOS instance uses 6.1.2 which is also new enough for our purposes. This allows us to reland commit 80ad045556fdd065752cd1f1733b0c627b7f6b4b. Fixed: 448848874 Change-Id: I28fa83b07c3f49dcdd6ef45dbac838d7ebeb885e Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8687278 Reviewed-by: Michael Achenbach Commit-Queue: Michael Achenbach Auto-Submit: Matthias Liedtke --- .github/workflows/swift.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 302f577f4..19f5536db 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -26,9 +26,6 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 25-nightly - - uses: swift-actions/setup-swift@v2 - with: - swift-version: "6.0.3" - name: Swift Version run: swift --version - uses: actions/checkout@v2 From c1a33c1a3ef3e8b83b45b173acc2733e23bd24bb Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Tue, 21 Oct 2025 11:52:03 +0200 Subject: [PATCH 22/30] Reland "Simplify constrained string generation in code generators" This is a reland of commit 80ad045556fdd065752cd1f1733b0c627b7f6b4b CQ and GitHub actions now use newer versions that shouldn't crash any more when compiling this for release builds. Original change's description: > Simplify constrained string generation in code generators > > Change-Id: I0ed4abed4a3ef0c7e150971ec58f0aae7e5b0982 > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8591236 > Auto-Submit: Matthias Liedtke > Reviewed-by: Carl Smith > Commit-Queue: Matthias Liedtke Change-Id: I98d5ee50de6057e239d1fae2b0ce4a3dfb1af1bd Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8687236 Reviewed-by: Carl Smith Commit-Queue: Matthias Liedtke --- Sources/Fuzzilli/Base/ProgramBuilder.swift | 30 +++ Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 238 +++--------------- 2 files changed, 70 insertions(+), 198 deletions(-) diff --git a/Sources/Fuzzilli/Base/ProgramBuilder.swift b/Sources/Fuzzilli/Base/ProgramBuilder.swift index ba6eb2ef4..fd8955a0d 100644 --- a/Sources/Fuzzilli/Base/ProgramBuilder.swift +++ b/Sources/Fuzzilli/Base/ProgramBuilder.swift @@ -483,6 +483,36 @@ public class ProgramBuilder { return probability(0.5) ? randomBuiltinMethodName() : randomCustomMethodName() } + private static func generateConstrained( + _ generator: () -> T, + notIn: any Collection, + fallback: () -> T) -> T { + var result: T + var attempts = 0 + repeat { + if attempts >= 10 { + return fallback() + } + result = generator() + attempts += 1 + } while notIn.contains(result) + return result + } + + // Generate a string not already contained in `notIn` using the provided `generator`. If it fails + // repeatedly, return a random string instead. + public func generateString(_ generator: () -> String, notIn: any Collection) -> String { + Self.generateConstrained(generator, notIn: notIn, + fallback: {String.random(ofLength: Int.random(in: 1...5))}) + } + + // Find a random variable to use as a string that isn't contained in `notIn`. If it fails + // repeatedly, create a random string literal instead. + public func findOrGenerateStringLikeVariable(notIn: any Collection) -> Variable { + return Self.generateConstrained(randomJsVariable, notIn: notIn, + fallback: {loadString(String.random(ofLength: Int.random(in: 1...5)))}) + } + // Settings and constants controlling the behavior of randomParameters() below. // This determines how many variables of a given type need to be visible before // that type is considered a candidate for a parameter type. For example, if this diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index 0f09e0037..95476d460 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -504,17 +504,8 @@ public let CodeGenerators: [CodeGenerator] = [ b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random(ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties) b.currentObjectLiteral.addProperty( propertyName, as: b.randomJsVariable()) }, @@ -548,7 +539,6 @@ public let CodeGenerators: [CodeGenerator] = [ propertyName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedProperties.contains(propertyName) - b.currentObjectLiteral.addComputedProperty(propertyName, as: value) }, @@ -576,17 +566,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a method that hasn't already been added to this literal. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentObjectLiteral.methods.contains(methodName) + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentObjectLiteral.methods) let randomParameters = b.randomParameters() b.setParameterTypesForNextSubroutine( @@ -610,15 +591,16 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a computed method name that hasn't already been added to this literal. + var methodName: Variable var attempts = 0 repeat { + methodName = b.randomJsVariable() if attempts >= 10 { - methodName = b.loadString( - String.random(ofLength: Int.random(in: 1...5))) + // This might lead to having two computed methods with the same name (so one + // will overwrite the other). break } - methodName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedMethods.contains( methodName) @@ -649,20 +631,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - // We should not fail here but also don't produce a syntax error. - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - || b.currentObjectLiteral.getters.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.getters) b.emit(BeginObjectLiteralGetter(propertyName: propertyName)) }, @@ -685,20 +655,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - // We should not fail here but also don't produce a syntax error. - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - || b.currentObjectLiteral.setters.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.setters) b.emit(BeginObjectLiteralSetter(propertyName: propertyName)) }, GeneratorStub( @@ -762,14 +720,8 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassInstancePropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addInstanceProperty(propertyName, value: value) @@ -815,18 +767,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.instanceMethods.contains( - methodName) + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.instanceMethods) let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -887,21 +829,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) - || b.currentClassDefinition.instanceGetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties + + b.currentClassDefinition.instanceGetters) b.emit(BeginClassInstanceGetter(propertyName: propertyName)) }, GeneratorStub( @@ -921,21 +851,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) - || b.currentClassDefinition.instanceSetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties + + b.currentClassDefinition.instanceSetters) b.emit(BeginClassInstanceSetter(propertyName: propertyName)) }, GeneratorStub( @@ -950,17 +868,8 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassStaticPropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains(propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addStaticProperty(propertyName, value: value) @@ -1027,19 +936,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .method, .subroutine, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.staticMethods.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.staticMethods) let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -1101,21 +999,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains( - propertyName) - || b.currentClassDefinition.staticGetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties + + b.currentClassDefinition.staticGetters) b.emit(BeginClassStaticGetter(propertyName: propertyName)) }, GeneratorStub( @@ -1136,22 +1022,10 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random(ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains( - propertyName) - || b.currentClassDefinition.staticSetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties + + b.currentClassDefinition.staticSetters) b.emit(BeginClassStaticSetter(propertyName: propertyName)) - }, GeneratorStub( "ClassStaticSetterEndGenerator", @@ -1165,13 +1039,8 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateInstancePropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains(propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.privateFields) var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateInstanceProperty( @@ -1187,18 +1056,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random(ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.privateFields) let parameters = b.randomParameters() b.emit( BeginClassPrivateInstanceMethod( @@ -1218,14 +1077,8 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateStaticPropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.privateFields) var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateStaticProperty( propertyName, value: value) @@ -1240,19 +1093,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.privateFields) let parameters = b.randomParameters() b.emit( BeginClassPrivateStaticMethod( From b1881f2a02478758985d639e2a388c4262710605 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Wed, 22 Oct 2025 00:14:58 -0700 Subject: [PATCH 23/30] Revert "Reland "Simplify constrained string generation in code generators"" This reverts commit c1a33c1a3ef3e8b83b45b173acc2733e23bd24bb. Reason for revert: https://crbug.com/454201777 Original change's description: > Reland "Simplify constrained string generation in code generators" > > This is a reland of commit 80ad045556fdd065752cd1f1733b0c627b7f6b4b > CQ and GitHub actions now use newer versions that shouldn't crash > any more when compiling this for release builds. > > Original change's description: > > Simplify constrained string generation in code generators > > > > Change-Id: I0ed4abed4a3ef0c7e150971ec58f0aae7e5b0982 > > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8591236 > > Auto-Submit: Matthias Liedtke > > Reviewed-by: Carl Smith > > Commit-Queue: Matthias Liedtke > > Change-Id: I98d5ee50de6057e239d1fae2b0ce4a3dfb1af1bd > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8687236 > Reviewed-by: Carl Smith > Commit-Queue: Matthias Liedtke Bug: 454201777 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I9f3fc81d632842c357b999a6b7c93602660a3f25 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8693758 Bot-Commit: Rubber Stamper Commit-Queue: Michael Achenbach --- Sources/Fuzzilli/Base/ProgramBuilder.swift | 30 --- Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 238 +++++++++++++++--- 2 files changed, 198 insertions(+), 70 deletions(-) diff --git a/Sources/Fuzzilli/Base/ProgramBuilder.swift b/Sources/Fuzzilli/Base/ProgramBuilder.swift index fd8955a0d..ba6eb2ef4 100644 --- a/Sources/Fuzzilli/Base/ProgramBuilder.swift +++ b/Sources/Fuzzilli/Base/ProgramBuilder.swift @@ -483,36 +483,6 @@ public class ProgramBuilder { return probability(0.5) ? randomBuiltinMethodName() : randomCustomMethodName() } - private static func generateConstrained( - _ generator: () -> T, - notIn: any Collection, - fallback: () -> T) -> T { - var result: T - var attempts = 0 - repeat { - if attempts >= 10 { - return fallback() - } - result = generator() - attempts += 1 - } while notIn.contains(result) - return result - } - - // Generate a string not already contained in `notIn` using the provided `generator`. If it fails - // repeatedly, return a random string instead. - public func generateString(_ generator: () -> String, notIn: any Collection) -> String { - Self.generateConstrained(generator, notIn: notIn, - fallback: {String.random(ofLength: Int.random(in: 1...5))}) - } - - // Find a random variable to use as a string that isn't contained in `notIn`. If it fails - // repeatedly, create a random string literal instead. - public func findOrGenerateStringLikeVariable(notIn: any Collection) -> Variable { - return Self.generateConstrained(randomJsVariable, notIn: notIn, - fallback: {loadString(String.random(ofLength: Int.random(in: 1...5)))}) - } - // Settings and constants controlling the behavior of randomParameters() below. // This determines how many variables of a given type need to be visible before // that type is considered a candidate for a parameter type. For example, if this diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index 95476d460..0f09e0037 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -504,8 +504,17 @@ public let CodeGenerators: [CodeGenerator] = [ b in // Try to find a property that hasn't already been added to this literal. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentObjectLiteral.properties) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random(ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentObjectLiteral.properties.contains(propertyName) + b.currentObjectLiteral.addProperty( propertyName, as: b.randomJsVariable()) }, @@ -539,6 +548,7 @@ public let CodeGenerators: [CodeGenerator] = [ propertyName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedProperties.contains(propertyName) + b.currentObjectLiteral.addComputedProperty(propertyName, as: value) }, @@ -566,8 +576,17 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a method that hasn't already been added to this literal. - let methodName = b.generateString(b.randomCustomMethodName, - notIn: b.currentObjectLiteral.methods) + var methodName: String + var attempts = 0 + repeat { + if attempts >= 10 { + methodName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + methodName = b.randomCustomMethodName() + attempts += 1 + } while b.currentObjectLiteral.methods.contains(methodName) let randomParameters = b.randomParameters() b.setParameterTypesForNextSubroutine( @@ -591,16 +610,15 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a computed method name that hasn't already been added to this literal. - var methodName: Variable var attempts = 0 repeat { - methodName = b.randomJsVariable() if attempts >= 10 { - // This might lead to having two computed methods with the same name (so one - // will overwrite the other). + methodName = b.loadString( + String.random(ofLength: Int.random(in: 1...5))) break } + methodName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedMethods.contains( methodName) @@ -631,8 +649,20 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.getters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + // We should not fail here but also don't produce a syntax error. + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentObjectLiteral.properties.contains(propertyName) + || b.currentObjectLiteral.getters.contains(propertyName) + b.emit(BeginObjectLiteralGetter(propertyName: propertyName)) }, @@ -655,8 +685,20 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.setters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + // We should not fail here but also don't produce a syntax error. + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentObjectLiteral.properties.contains(propertyName) + || b.currentObjectLiteral.setters.contains(propertyName) + b.emit(BeginObjectLiteralSetter(propertyName: propertyName)) }, GeneratorStub( @@ -720,8 +762,14 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassInstancePropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.instanceProperties) + var propertyName: String + var attempts = 0 + repeat { + guard attempts < 10 else { return } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.instanceProperties.contains( + propertyName) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addInstanceProperty(propertyName, value: value) @@ -767,8 +815,18 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - let methodName = b.generateString(b.randomCustomMethodName, - notIn: b.currentClassDefinition.instanceMethods) + var methodName: String + var attempts = 0 + repeat { + if attempts >= 10 { + methodName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + methodName = b.randomCustomMethodName() + attempts += 1 + } while b.currentClassDefinition.instanceMethods.contains( + methodName) let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -829,9 +887,21 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.instanceProperties - + b.currentClassDefinition.instanceGetters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.instanceProperties.contains( + propertyName) + || b.currentClassDefinition.instanceGetters.contains( + propertyName) + b.emit(BeginClassInstanceGetter(propertyName: propertyName)) }, GeneratorStub( @@ -851,9 +921,21 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.instanceProperties - + b.currentClassDefinition.instanceSetters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.instanceProperties.contains( + propertyName) + || b.currentClassDefinition.instanceSetters.contains( + propertyName) + b.emit(BeginClassInstanceSetter(propertyName: propertyName)) }, GeneratorStub( @@ -868,8 +950,17 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassStaticPropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.staticProperties) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.staticProperties.contains(propertyName) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addStaticProperty(propertyName, value: value) @@ -936,8 +1027,19 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .method, .subroutine, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - let methodName = b.generateString(b.randomCustomMethodName, - notIn: b.currentClassDefinition.staticMethods) + var methodName: String + var attempts = 0 + repeat { + if attempts >= 10 { + methodName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + methodName = b.randomCustomMethodName() + attempts += 1 + } while b.currentClassDefinition.staticMethods.contains( + methodName) + let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -999,9 +1101,21 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.staticProperties - + b.currentClassDefinition.staticGetters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.staticProperties.contains( + propertyName) + || b.currentClassDefinition.staticGetters.contains( + propertyName) + b.emit(BeginClassStaticGetter(propertyName: propertyName)) }, GeneratorStub( @@ -1022,10 +1136,22 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.staticProperties - + b.currentClassDefinition.staticSetters) + var propertyName: String + var attempts = 0 + repeat { + if attempts >= 10 { + propertyName = String.random(ofLength: Int.random(in: 1...5)) + break + } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.staticProperties.contains( + propertyName) + || b.currentClassDefinition.staticSetters.contains( + propertyName) + b.emit(BeginClassStaticSetter(propertyName: propertyName)) + }, GeneratorStub( "ClassStaticSetterEndGenerator", @@ -1039,8 +1165,13 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateInstancePropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.privateFields) + var propertyName: String + var attempts = 0 + repeat { + guard attempts < 10 else { return } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.privateFields.contains(propertyName) var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateInstanceProperty( @@ -1056,8 +1187,18 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - let methodName = b.generateString(b.randomCustomMethodName, - notIn: b.currentClassDefinition.privateFields) + var methodName: String + var attempts = 0 + repeat { + if attempts >= 10 { + methodName = String.random(ofLength: Int.random(in: 1...5)) + break + } + methodName = b.randomCustomMethodName() + attempts += 1 + } while b.currentClassDefinition.privateFields.contains( + methodName) + let parameters = b.randomParameters() b.emit( BeginClassPrivateInstanceMethod( @@ -1077,8 +1218,14 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateStaticPropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - let propertyName = b.generateString(b.randomCustomPropertyName, - notIn: b.currentClassDefinition.privateFields) + var propertyName: String + var attempts = 0 + repeat { + guard attempts < 10 else { return } + propertyName = b.randomCustomPropertyName() + attempts += 1 + } while b.currentClassDefinition.privateFields.contains(propertyName) + var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateStaticProperty( propertyName, value: value) @@ -1093,8 +1240,19 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - let methodName = b.generateString(b.randomCustomMethodName, - notIn: b.currentClassDefinition.privateFields) + var methodName: String + var attempts = 0 + repeat { + if attempts >= 10 { + methodName = String.random( + ofLength: Int.random(in: 1...5)) + break + } + methodName = b.randomCustomMethodName() + attempts += 1 + } while b.currentClassDefinition.privateFields.contains( + methodName) + let parameters = b.randomParameters() b.emit( BeginClassPrivateStaticMethod( From 72eaa81577065acaed65227880ebcb16a686099f Mon Sep 17 00:00:00 2001 From: Matthias Liedtke Date: Tue, 21 Oct 2025 11:52:03 +0200 Subject: [PATCH 24/30] Reland "Reland "Simplify constrained string generation in code generators"" This is a reland of commit c1a33c1a3ef3e8b83b45b173acc2733e23bd24bb No changes. Original change's description: > Reland "Simplify constrained string generation in code generators" > > This is a reland of commit 80ad045556fdd065752cd1f1733b0c627b7f6b4b > CQ and GitHub actions now use newer versions that shouldn't crash > any more when compiling this for release builds. > > Original change's description: > > Simplify constrained string generation in code generators > > > > Change-Id: I0ed4abed4a3ef0c7e150971ec58f0aae7e5b0982 > > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8591236 > > Auto-Submit: Matthias Liedtke > > Reviewed-by: Carl Smith > > Commit-Queue: Matthias Liedtke > > Change-Id: I98d5ee50de6057e239d1fae2b0ce4a3dfb1af1bd > Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8687236 > Reviewed-by: Carl Smith > Commit-Queue: Matthias Liedtke Change-Id: I42839ff3fdf773a99dbd6a8d0f8136c38ab7dda5 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8695016 Auto-Submit: Matthias Liedtke Reviewed-by: Michael Achenbach Commit-Queue: Michael Achenbach --- Sources/Fuzzilli/Base/ProgramBuilder.swift | 30 +++ Sources/Fuzzilli/CodeGen/CodeGenerators.swift | 238 +++--------------- 2 files changed, 70 insertions(+), 198 deletions(-) diff --git a/Sources/Fuzzilli/Base/ProgramBuilder.swift b/Sources/Fuzzilli/Base/ProgramBuilder.swift index ba6eb2ef4..fd8955a0d 100644 --- a/Sources/Fuzzilli/Base/ProgramBuilder.swift +++ b/Sources/Fuzzilli/Base/ProgramBuilder.swift @@ -483,6 +483,36 @@ public class ProgramBuilder { return probability(0.5) ? randomBuiltinMethodName() : randomCustomMethodName() } + private static func generateConstrained( + _ generator: () -> T, + notIn: any Collection, + fallback: () -> T) -> T { + var result: T + var attempts = 0 + repeat { + if attempts >= 10 { + return fallback() + } + result = generator() + attempts += 1 + } while notIn.contains(result) + return result + } + + // Generate a string not already contained in `notIn` using the provided `generator`. If it fails + // repeatedly, return a random string instead. + public func generateString(_ generator: () -> String, notIn: any Collection) -> String { + Self.generateConstrained(generator, notIn: notIn, + fallback: {String.random(ofLength: Int.random(in: 1...5))}) + } + + // Find a random variable to use as a string that isn't contained in `notIn`. If it fails + // repeatedly, create a random string literal instead. + public func findOrGenerateStringLikeVariable(notIn: any Collection) -> Variable { + return Self.generateConstrained(randomJsVariable, notIn: notIn, + fallback: {loadString(String.random(ofLength: Int.random(in: 1...5)))}) + } + // Settings and constants controlling the behavior of randomParameters() below. // This determines how many variables of a given type need to be visible before // that type is considered a candidate for a parameter type. For example, if this diff --git a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift index 0f09e0037..95476d460 100644 --- a/Sources/Fuzzilli/CodeGen/CodeGenerators.swift +++ b/Sources/Fuzzilli/CodeGen/CodeGenerators.swift @@ -504,17 +504,8 @@ public let CodeGenerators: [CodeGenerator] = [ b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random(ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties) b.currentObjectLiteral.addProperty( propertyName, as: b.randomJsVariable()) }, @@ -548,7 +539,6 @@ public let CodeGenerators: [CodeGenerator] = [ propertyName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedProperties.contains(propertyName) - b.currentObjectLiteral.addComputedProperty(propertyName, as: value) }, @@ -576,17 +566,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a method that hasn't already been added to this literal. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentObjectLiteral.methods.contains(methodName) + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentObjectLiteral.methods) let randomParameters = b.randomParameters() b.setParameterTypesForNextSubroutine( @@ -610,15 +591,16 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a computed method name that hasn't already been added to this literal. + var methodName: Variable var attempts = 0 repeat { + methodName = b.randomJsVariable() if attempts >= 10 { - methodName = b.loadString( - String.random(ofLength: Int.random(in: 1...5))) + // This might lead to having two computed methods with the same name (so one + // will overwrite the other). break } - methodName = b.randomJsVariable() attempts += 1 } while b.currentObjectLiteral.computedMethods.contains( methodName) @@ -649,20 +631,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - // We should not fail here but also don't produce a syntax error. - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - || b.currentObjectLiteral.getters.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.getters) b.emit(BeginObjectLiteralGetter(propertyName: propertyName)) }, @@ -685,20 +655,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - // We should not fail here but also don't produce a syntax error. - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentObjectLiteral.properties.contains(propertyName) - || b.currentObjectLiteral.setters.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentObjectLiteral.properties + b.currentObjectLiteral.setters) b.emit(BeginObjectLiteralSetter(propertyName: propertyName)) }, GeneratorStub( @@ -762,14 +720,8 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassInstancePropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addInstanceProperty(propertyName, value: value) @@ -815,18 +767,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.instanceMethods.contains( - methodName) + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.instanceMethods) let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -887,21 +829,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) - || b.currentClassDefinition.instanceGetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties + + b.currentClassDefinition.instanceGetters) b.emit(BeginClassInstanceGetter(propertyName: propertyName)) }, GeneratorStub( @@ -921,21 +851,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.instanceProperties.contains( - propertyName) - || b.currentClassDefinition.instanceSetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.instanceProperties + + b.currentClassDefinition.instanceSetters) b.emit(BeginClassInstanceSetter(propertyName: propertyName)) }, GeneratorStub( @@ -950,17 +868,8 @@ public let CodeGenerators: [CodeGenerator] = [ CodeGenerator("ClassStaticPropertyGenerator", inContext: .single(.classDefinition)) { b in // Try to find a property that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains(propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties) var value: Variable? = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addStaticProperty(propertyName, value: value) @@ -1027,19 +936,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .method, .subroutine, .classMethod] ) { b in // Try to find a method that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.staticMethods.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.staticMethods) let parameters = b.randomParameters() b.setParameterTypesForNextSubroutine(parameters.parameterTypes) @@ -1101,21 +999,9 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a getter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains( - propertyName) - || b.currentClassDefinition.staticGetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties + + b.currentClassDefinition.staticGetters) b.emit(BeginClassStaticGetter(propertyName: propertyName)) }, GeneratorStub( @@ -1136,22 +1022,10 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a property that hasn't already been added and for which a setter has not yet been installed. - var propertyName: String - var attempts = 0 - repeat { - if attempts >= 10 { - propertyName = String.random(ofLength: Int.random(in: 1...5)) - break - } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.staticProperties.contains( - propertyName) - || b.currentClassDefinition.staticSetters.contains( - propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.staticProperties + + b.currentClassDefinition.staticSetters) b.emit(BeginClassStaticSetter(propertyName: propertyName)) - }, GeneratorStub( "ClassStaticSetterEndGenerator", @@ -1165,13 +1039,8 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateInstancePropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains(propertyName) + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.privateFields) var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateInstanceProperty( @@ -1187,18 +1056,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random(ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.privateFields) let parameters = b.randomParameters() b.emit( BeginClassPrivateInstanceMethod( @@ -1218,14 +1077,8 @@ public let CodeGenerators: [CodeGenerator] = [ "ClassPrivateStaticPropertyGenerator", inContext: .single(.classDefinition) ) { b in // Try to find a private field that hasn't already been added to this literal. - var propertyName: String - var attempts = 0 - repeat { - guard attempts < 10 else { return } - propertyName = b.randomCustomPropertyName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains(propertyName) - + let propertyName = b.generateString(b.randomCustomPropertyName, + notIn: b.currentClassDefinition.privateFields) var value = probability(0.5) ? b.randomJsVariable() : nil b.currentClassDefinition.addPrivateStaticProperty( propertyName, value: value) @@ -1240,19 +1093,8 @@ public let CodeGenerators: [CodeGenerator] = [ provides: [.javascript, .subroutine, .method, .classMethod] ) { b in // Try to find a private field that hasn't already been added to this class. - var methodName: String - var attempts = 0 - repeat { - if attempts >= 10 { - methodName = String.random( - ofLength: Int.random(in: 1...5)) - break - } - methodName = b.randomCustomMethodName() - attempts += 1 - } while b.currentClassDefinition.privateFields.contains( - methodName) - + let methodName = b.generateString(b.randomCustomMethodName, + notIn: b.currentClassDefinition.privateFields) let parameters = b.randomParameters() b.emit( BeginClassPrivateStaticMethod( From dbbf7bbc59893ddcf2819e6f4ac10890f160da48 Mon Sep 17 00:00:00 2001 From: Michael Achenbach Date: Wed, 22 Oct 2025 15:19:28 +0200 Subject: [PATCH 25/30] Bump timeout again due to occasional slow flags Bug: 453513823 Change-Id: I868371479c88a9d0cb6074f9c31f2bab3630b9d9 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8696136 Commit-Queue: Michael Achenbach Commit-Queue: Matthias Liedtke Reviewed-by: Matthias Liedtke Auto-Submit: Michael Achenbach --- Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift | 2 +- Sources/FuzzilliCli/Profiles/V8Profile.swift | 2 +- Sources/FuzzilliCli/Profiles/V8SandboxProfile.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift b/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift index 00cef7b5a..e17eef035 100644 --- a/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift +++ b/Sources/FuzzilliCli/Profiles/V8HoleFuzzingProfile.swift @@ -40,7 +40,7 @@ let v8HoleFuzzingProfile = Profile( maxExecsBeforeRespawn: 1000, - timeout: 300, + timeout: 400, codePrefix: """ """, diff --git a/Sources/FuzzilliCli/Profiles/V8Profile.swift b/Sources/FuzzilliCli/Profiles/V8Profile.swift index 114e1f749..68e12d2d4 100644 --- a/Sources/FuzzilliCli/Profiles/V8Profile.swift +++ b/Sources/FuzzilliCli/Profiles/V8Profile.swift @@ -267,7 +267,7 @@ let v8Profile = Profile( maxExecsBeforeRespawn: 1000, - timeout: 300, + timeout: 400, codePrefix: """ """, diff --git a/Sources/FuzzilliCli/Profiles/V8SandboxProfile.swift b/Sources/FuzzilliCli/Profiles/V8SandboxProfile.swift index 633150068..5dbe76c81 100644 --- a/Sources/FuzzilliCli/Profiles/V8SandboxProfile.swift +++ b/Sources/FuzzilliCli/Profiles/V8SandboxProfile.swift @@ -76,7 +76,7 @@ let v8SandboxProfile = Profile( maxExecsBeforeRespawn: 1000, // ASan builds are slower, so we use a larger timeout. - timeout: 500, + timeout: 600, codePrefix: """ // From 36f3477fa68dd0effc05d5896a2fe6f4c052ae78 Mon Sep 17 00:00:00 2001 From: Pawel Krawczyk Date: Wed, 22 Oct 2025 12:37:17 +0000 Subject: [PATCH 26/30] Fix logic error in comment. Move wasmRefI31 close to wasmI31Ref Change-Id: Ia2fe631be7b92c5aeafaf99de9a0fdb7fd9f0480 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8695757 Commit-Queue: Matthias Liedtke Auto-Submit: Pawel Krawczyk Reviewed-by: Matthias Liedtke --- Sources/Fuzzilli/FuzzIL/TypeSystem.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sources/Fuzzilli/FuzzIL/TypeSystem.swift b/Sources/Fuzzilli/FuzzIL/TypeSystem.swift index c0e81beaf..26cbc101e 100644 --- a/Sources/Fuzzilli/FuzzIL/TypeSystem.swift +++ b/Sources/Fuzzilli/FuzzIL/TypeSystem.swift @@ -23,6 +23,7 @@ // a variable of type .object() as input because only that can have methods. Also, when generating function // calls it can be necessary to find variables of the types that the function expects as arguments. This task // is solved by defining a "Is a" relationship between types which can then be used to find suitable variables. +// Notice that the relationship is not reflexive. Think of it as "Is contained by" or <=. // 2. to determine possible actions that can be performed on a value. E.g. when having a reference to something // that is known to be a function, a function call can be performed. Also, the method call code generator will // want to know the available methods that it can call on an object, which it can query from the type system. @@ -251,6 +252,7 @@ public struct ILType: Hashable { public static let wasmFuncRef = ILType.wasmRef(.Abstract(.WasmFunc), nullability: true) public static let wasmExnRef = ILType.wasmRef(.Abstract(.WasmExn), nullability: true) public static let wasmI31Ref = ILType.wasmRef(.Abstract(.WasmI31), nullability: true) + public static let wasmRefI31 = ILType.wasmRef(.Abstract(.WasmI31), nullability: false) public static let wasmAnyRef = ILType.wasmRef(.Abstract(.WasmAny), nullability: true) public static let wasmRefAny = ILType.wasmRef(.Abstract(.WasmAny), nullability: false) public static let wasmNullRef = ILType.wasmRef(.Abstract(.WasmNone), nullability: true) @@ -259,7 +261,6 @@ public struct ILType: Hashable { public static let wasmEqRef = ILType.wasmRef(.Abstract(.WasmEq), nullability: true) public static let wasmStructRef = ILType.wasmRef(.Abstract(.WasmStruct), nullability: true) public static let wasmArrayRef = ILType.wasmRef(.Abstract(.WasmArray), nullability: true) - public static let wasmRefI31 = ILType.wasmRef(.Abstract(.WasmI31), nullability: false) public static let wasmSimd128 = ILType(definiteType: .wasmSimd128) public static let wasmGenericRef = ILType(definiteType: .wasmRef) @@ -323,7 +324,7 @@ public struct ILType: Hashable { return !(lhs == rhs) } - /// Returns true if this type subsumes the given type, i.e. every instance of other is also an instance of this type. + /// Returns true if other type subsumes this type, i.e. every instance of this is also an instance of other type. public func Is(_ other: ILType) -> Bool { return other.subsumes(self) } From b16ca2438742c5c48167fe02b5d498ae9762ffcc Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Tue, 28 Oct 2025 19:54:29 -0400 Subject: [PATCH 27/30] Hope --- .github/workflows/swift.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index e796bff07..69d27ee4c 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -40,6 +40,34 @@ jobs: mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift rm swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz export PATH="/opt/swift/usr/bin:${PATH}" + + - name: Start PostgreSQL and create database (Linux) + if: runner.os == 'Linux' + run: | + sudo systemctl start postgresql + # Find the active pg_hba.conf file + HBA_CONF=$(sudo -u postgres psql -t -P format=unaligned -c 'SHOW hba_file;') + # Add a line to allow all local users to connect without a password (trust auth) + # This is safe in a CI environment + echo "local all all trust" | sudo tee -a $HBA_CONF + # Restart postgres to apply the new auth setting + sudo systemctl restart postgresql + # Wait for restart + sleep 2 + # Create the 'fuzzilli' database. The 'runner' user can now connect. + createdb fuzzilli + + - name: Start PostgreSQL and create database (macOS) + if: runner.os == 'macOS' + run: | + # Start the pre-installed postgresql service + brew services start postgresql + # Wait for it to be ready + sleep 5 + # Create the 'fuzzilli' database. + # On macOS/brew, this usually works without password auth by default for the current user. + createdb fuzzilli + - uses: actions/checkout@v2 - name: Build run: swift build -c ${{ matrix.kind }} -v From 4bc33c6a6abefd38a6c2d851db8a68fea2a729d5 Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Tue, 28 Oct 2025 19:59:44 -0400 Subject: [PATCH 28/30] Why --- .github/workflows/swift.yml | 53 ++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 69d27ee4c..91b233974 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -1,10 +1,3 @@ -name: build_test - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] jobs: build_test: @@ -22,6 +15,28 @@ jobs: runs-on: ${{ matrix.os }} + # --- NEW SERVICE CONTAINER BLOCK --- + # Service containers are only supported on Linux + services: + # Label used to access the service container + postgres: + if: matrix.os == 'ubuntu-latest' + # Docker Hub image + image: postgres + # Use 'trust' auth to allow password-less connections, + # matching the test's connection string. + env: + POSTGRES_HOST_AUTH_METHOD: trust + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 + env: SWIFT_VERSION: 6.1 @@ -40,23 +55,18 @@ jobs: mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift rm swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz export PATH="/opt/swift/usr/bin:${PATH}" + - uses: actions/checkout@v2 - - name: Start PostgreSQL and create database (Linux) + # --- MODIFIED STEP FOR LINUX --- + # This step just creates the DB in the service container. + - name: Create PostgreSQL database (Linux) if: runner.os == 'Linux' run: | - sudo systemctl start postgresql - # Find the active pg_hba.conf file - HBA_CONF=$(sudo -u postgres psql -t -P format=unaligned -c 'SHOW hba_file;') - # Add a line to allow all local users to connect without a password (trust auth) - # This is safe in a CI environment - echo "local all all trust" | sudo tee -a $HBA_CONF - # Restart postgres to apply the new auth setting - sudo systemctl restart postgresql - # Wait for restart - sleep 2 - # Create the 'fuzzilli' database. The 'runner' user can now connect. - createdb fuzzilli + # The service container is running on localhost:5432 + # We just need to create the database. Auth is 'trust'. + createdb -h localhost -p 5432 fuzzilli + # --- UNCHANGED STEP FOR MACOS --- - name: Start PostgreSQL and create database (macOS) if: runner.os == 'macOS' run: | @@ -68,7 +78,8 @@ jobs: # On macOS/brew, this usually works without password auth by default for the current user. createdb fuzzilli - - uses: actions/checkout@v2 + # --- END OF NEW STEPS --- + - name: Build run: swift build -c ${{ matrix.kind }} -v - name: Run tests with Node.js From 3aac185e238cbda303d97ad71df679d506b3e49e Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Tue, 28 Oct 2025 20:01:20 -0400 Subject: [PATCH 29/30] Test --- .github/workflows/swift.yml | 64 ++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 91b233974..b0fb8758f 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -1,26 +1,18 @@ - jobs: - build_test: + build_test_linux: timeout-minutes: 30 strategy: - # If macos-latest fails, we still don't want to cancel ubuntu-latest or the other way around. fail-fast: false matrix: - os: [macos-latest, ubuntu-latest] - kind: [debug] - include: - # On linux also build and test release. - - os: ubuntu-latest - kind: release + # Linux runs both debug and release + kind: [debug, release] - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest - # --- NEW SERVICE CONTAINER BLOCK --- # Service containers are only supported on Linux services: # Label used to access the service container postgres: - if: matrix.os == 'ubuntu-latest' # Docker Hub image image: postgres # Use 'trust' auth to allow password-less connections, @@ -45,10 +37,7 @@ jobs: with: node-version: 25-nightly - # Is it failing to run tests b/c we're overriding - # what swift binary to use? - name: Setup Swift for Ubuntu - if: runner.os == 'Linux' run: | wget -q https://download.swift.org/swift-${SWIFT_VERSION}-release/ubuntu2204/swift-${SWIFT_VERSION}-RELEASE/swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz tar xzf swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz @@ -57,18 +46,50 @@ jobs: export PATH="/opt/swift/usr/bin:${PATH}" - uses: actions/checkout@v2 - # --- MODIFIED STEP FOR LINUX --- - # This step just creates the DB in the service container. - name: Create PostgreSQL database (Linux) - if: runner.os == 'Linux' run: | # The service container is running on localhost:5432 # We just need to create the database. Auth is 'trust'. + # Wait a few seconds for the service to be fully ready after health check + sleep 5 createdb -h localhost -p 5432 fuzzilli - # --- UNCHANGED STEP FOR MACOS --- + - name: Build + run: swift build -c ${{ matrix.kind }} -v + - name: Run tests with Node.js + run: swift test -c ${{ matrix.kind }} -v + - name: Install jsvu + run: npm install jsvu -g + - name: Install d8 + run: jsvu --os=default --engines=v8 + - name: Run tests with d8 + run: FUZZILLI_TEST_SHELL=~/.jsvu/engines/v8/v8 swift test -c ${{ matrix.kind }} -v + + build_test_macos: + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + # macOS only runs debug + kind: [debug] + + runs-on: macos-latest + + # No 'services' block here, as it's not supported on macOS + + env: + SWIFT_VERSION: 6.1 + + steps: + - uses: actions/setup-node@v4 + with: + node-version: 25-nightly + + # No Swift setup needed for macOS, it uses the pre-installed one + + - uses: actions/checkout@v2 + - name: Start PostgreSQL and create database (macOS) - if: runner.os == 'macOS' run: | # Start the pre-installed postgresql service brew services start postgresql @@ -78,8 +99,6 @@ jobs: # On macOS/brew, this usually works without password auth by default for the current user. createdb fuzzilli - # --- END OF NEW STEPS --- - - name: Build run: swift build -c ${{ matrix.kind }} -v - name: Run tests with Node.js @@ -90,3 +109,4 @@ jobs: run: jsvu --os=default --engines=v8 - name: Run tests with d8 run: FUZZILLI_TEST_SHELL=~/.jsvu/engines/v8/v8 swift test -c ${{ matrix.kind }} -v + From 6efa527f1f54ae176c52c89b767aa0564360de35 Mon Sep 17 00:00:00 2001 From: "Thomas (Aeshus)" Date: Tue, 28 Oct 2025 20:04:06 -0400 Subject: [PATCH 30/30] PLEASE --- .github/workflows/swift.yml | 135 +++++++++++++++--------------------- 1 file changed, 55 insertions(+), 80 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index b0fb8758f..77e5e6213 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -1,112 +1,87 @@ +name: build_test + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + jobs: - build_test_linux: + build_test: timeout-minutes: 30 strategy: fail-fast: false matrix: - # Linux runs both debug and release - kind: [debug, release] + os: [macos-latest, ubuntu-latest] + kind: [debug] + include: + - os: ubuntu-latest + kind: release - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + + env: + SWIFT_VERSION: 6.1 + DATABASE_URL: postgresql://postgres:postgres@localhost:5432/fuzzilli - # Service containers are only supported on Linux services: - # Label used to access the service container postgres: - # Docker Hub image - image: postgres - # Use 'trust' auth to allow password-less connections, - # matching the test's connection string. + image: postgres:16 env: - POSTGRES_HOST_AUTH_METHOD: trust - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: fuzzilli ports: - # Maps tcp port 5432 on service container to the host - 5432:5432 - - env: - SWIFT_VERSION: 6.1 + options: >- + --health-cmd="pg_isready -U postgres" + --health-interval=5s + --health-timeout=5s + --health-retries=10 steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: 25-nightly + node-version: 20 - - name: Setup Swift for Ubuntu + - name: Setup Swift (Linux only) + if: runner.os == 'Linux' run: | + sudo apt-get update -q + sudo apt-get install -y libicu-dev libxml2 libsqlite3-dev libblocksruntime-dev tzdata wget -q https://download.swift.org/swift-${SWIFT_VERSION}-release/ubuntu2204/swift-${SWIFT_VERSION}-RELEASE/swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz tar xzf swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz - mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift - rm swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz - export PATH="/opt/swift/usr/bin:${PATH}" - - uses: actions/checkout@v2 + sudo mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift + echo "/opt/swift/usr/bin" | sudo tee -a /etc/environment + echo "/opt/swift/usr/bin" >> $GITHUB_PATH - - name: Create PostgreSQL database (Linux) + - name: Wait for PostgreSQL run: | - # The service container is running on localhost:5432 - # We just need to create the database. Auth is 'trust'. - # Wait a few seconds for the service to be fully ready after health check - sleep 5 - createdb -h localhost -p 5432 fuzzilli + echo "Waiting for PostgreSQL to become ready..." + for i in {1..20}; do + pg_isready -h localhost -p 5432 -U postgres && break + sleep 2 + done + psql $DATABASE_URL -c 'SELECT version();' - name: Build run: swift build -c ${{ matrix.kind }} -v - - name: Run tests with Node.js - run: swift test -c ${{ matrix.kind }} -v - - name: Install jsvu - run: npm install jsvu -g - - name: Install d8 - run: jsvu --os=default --engines=v8 - - name: Run tests with d8 - run: FUZZILLI_TEST_SHELL=~/.jsvu/engines/v8/v8 swift test -c ${{ matrix.kind }} -v - - build_test_macos: - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - # macOS only runs debug - kind: [debug] - - runs-on: macos-latest - - # No 'services' block here, as it's not supported on macOS - - env: - SWIFT_VERSION: 6.1 - - steps: - - uses: actions/setup-node@v4 - with: - node-version: 25-nightly - # No Swift setup needed for macOS, it uses the pre-installed one - - - uses: actions/checkout@v2 - - - name: Start PostgreSQL and create database (macOS) - run: | - # Start the pre-installed postgresql service - brew services start postgresql - # Wait for it to be ready - sleep 5 - # Create the 'fuzzilli' database. - # On macOS/brew, this usually works without password auth by default for the current user. - createdb fuzzilli - - - name: Build - run: swift build -c ${{ matrix.kind }} -v - - name: Run tests with Node.js + - name: Run tests + env: + DATABASE_URL: ${{ env.DATABASE_URL }} run: swift test -c ${{ matrix.kind }} -v + - name: Install jsvu run: npm install jsvu -g + - name: Install d8 run: jsvu --os=default --engines=v8 - - name: Run tests with d8 - run: FUZZILLI_TEST_SHELL=~/.jsvu/engines/v8/v8 swift test -c ${{ matrix.kind }} -v + - name: Run tests with d8 + env: + FUZZILLI_TEST_SHELL: ~/.jsvu/engines/v8/v8 + DATABASE_URL: ${{ env.DATABASE_URL }} + run: swift test -c ${{ matrix.kind }} -v