From bcd7bcc2968d1db4d4eb16c50afa76bdcffb6302 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Wed, 21 Aug 2019 20:05:22 +0200 Subject: prog: speed up resource ctors detection When we build a list of resource constructors we over and over iterate through all types in a syscall to find resource types. Speed it up by iterating only once to build a list of constructors for each resource and then reuse it. This significantly speeds up syz-exeprog startup time on Raspberry Pi Zero. --- prog/target.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'prog/target.go') diff --git a/prog/target.go b/prog/target.go index da9b3255c..d02a3dd37 100644 --- a/prog/target.go +++ b/prog/target.go @@ -168,9 +168,10 @@ func (target *Target) initTarget() { }) } + target.populateResourceCtors() target.resourceCtors = make(map[string][]*Syscall) for _, res := range target.Resources { - target.resourceCtors[res.Name] = target.calcResourceCtors(res.Kind, false) + target.resourceCtors[res.Name] = target.calcResourceCtors(res, false) } initAnyTypes(target) } -- cgit mrf-deployment