diff --git a/Sources/FuzzilliCli/Profiles/ArkProfile.swift b/Sources/FuzzilliCli/Profiles/ArkProfile.swift index 1387cec157fad4d975767618bb9fa6a8c9fa2bac..c54077dc0ecc9989e2f517aa0bae9cd170000bfc 100644 --- a/Sources/FuzzilliCli/Profiles/ArkProfile.swift +++ b/Sources/FuzzilliCli/Profiles/ArkProfile.swift @@ -15,6 +15,15 @@ import Fuzzilli +fileprivate let ForceJITCompilationGenerator = CodeGenerator("ForceJITCompilationGenerator", inputs: .required(.function())) { b, f in + assert(b.type(of: f).Is(.function())) + let arguments = b.randomArguments(forCalling: f) + + b.buildRepeatLoop(n: 100) { _ in + b.callFunction(f, withArgs: arguments) + } +} + fileprivate let PrintGenerator = CodeGenerator("PrintGenerator", inputs: .preferred(.object())) { b, o in let f = b.loadBuiltin("arkPrint") b.callFunction(f, withArgs: [o]) @@ -60,6 +69,7 @@ let arkProfile = Profile( crashTests: ["fuzzilli('FUZZILLI_CRASH', 0)", "fuzzilli('FUZZILLI_CRASH', 1)"], additionalCodeGenerators: [ + (ForceJITCompilationGenerator, 40), (PrintGenerator, 40), (RunNearStackLimitGenerator, 5) ],