1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef PARTITION_ALLOC_STARSCAN_STARSCAN_FWD_H_
6 #define PARTITION_ALLOC_STARSCAN_STARSCAN_FWD_H_
7 
8 #include <cstdint>
9 
10 namespace partition_alloc::internal {
11 
12 // Defines what thread executes a StarScan task.
13 enum class Context {
14   // For tasks executed from mutator threads (safepoints).
15   kMutator,
16   // For concurrent scanner tasks.
17   kScanner
18 };
19 
20 // Defines ISA extension for scanning.
21 enum class SimdSupport : uint8_t {
22   kUnvectorized,
23   kSSE41,
24   kAVX2,
25   kNEON,
26 };
27 
28 }  // namespace partition_alloc::internal
29 
30 #endif  // PARTITION_ALLOC_STARSCAN_STARSCAN_FWD_H_
31