diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-07-23 14:13:28 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-07-23 13:30:23 +0000 |
| commit | 53c2e8ad91fd5f64989a4e6a923926990130b5cd (patch) | |
| tree | a4ba74c7dcaebf772436725f3ccf2e4e65baa659 /vm/vmimpl/vmimpl.go | |
| parent | e50e8da5c493b37bff754d816c11218eba03d715 (diff) | |
vmimpl: refactor VM type registration
Pass Type struct directly during registration.
This allows to add additional optional parameters to VM types
without changing all VM implementations.
We we will need to add SupportsSnapshots flag and one flag to resolve #5028.
With this change it will be possible to add "SupportsSnapshots: true"
to just one VM type implemenetation.
Diffstat (limited to 'vm/vmimpl/vmimpl.go')
| -rw-r--r-- | vm/vmimpl/vmimpl.go | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/vm/vmimpl/vmimpl.go b/vm/vmimpl/vmimpl.go index ce2a0dfb6..ac38a6634 100644 --- a/vm/vmimpl/vmimpl.go +++ b/vm/vmimpl/vmimpl.go @@ -124,15 +124,14 @@ func (err InfraError) InfraError() (string, []byte) { } // Register registers a new VM type within the package. -func Register(typ string, ctor ctorFunc, allowsOvercommit bool) { - Types[typ] = Type{ - Ctor: ctor, - Overcommit: allowsOvercommit, - } +func Register(typ string, desc Type) { + Types[typ] = desc } type Type struct { - Ctor ctorFunc + Ctor ctorFunc + // It's possible to create out-of-thin-air instances of this type. + // Out-of-thin-air instances are used by syz-ci for image testing, patch testing, bisection, etc. Overcommit bool } |
