|
7 | 7 |
|
8 | 8 | <!-- Exclude FFM-related false positives for resource management --> |
9 | 9 | <Match> |
10 | | - <Package name="com.namanoncode.zthread.linux.native"/> |
| 10 | + <Package name="io.github.namanoncode.zthread.linux.native_"/> |
11 | 11 | <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/> |
12 | 12 | </Match> |
13 | 13 |
|
14 | 14 | <!-- MethodHandle invocations look like dead stores to SpotBugs --> |
15 | 15 | <Match> |
16 | | - <Package name="com.namanoncode.zthread.linux.native"/> |
| 16 | + <Package name="~io\.github\.namanoncode\.zthread\.linux.*"/> |
17 | 17 | <Bug pattern="DLS_DEAD_LOCAL_STORE"/> |
18 | 18 | </Match> |
19 | 19 |
|
20 | 20 | <!-- Intentional use of System.exit in examples --> |
21 | 21 | <Match> |
22 | | - <Package name="com.namanoncode.zthread.examples"/> |
| 22 | + <Package name="io.github.namanoncode.zthread.examples"/> |
23 | 23 | <Bug pattern="DM_EXIT"/> |
24 | 24 | </Match> |
25 | 25 |
|
26 | | - <!-- Benchmark classes don't follow standard patterns --> |
| 26 | + <!-- Benchmark classes don't follow standard patterns (especially JMH generated code) --> |
27 | 27 | <Match> |
28 | | - <Package name="com.namanoncode.zthread.benchmark"/> |
| 28 | + <Package name="~io\.github\.namanoncode\.zthread\.benchmark.*"/> |
29 | 29 | </Match> |
30 | 30 |
|
31 | 31 | <!-- Suppress unread field warnings for padded cache-line fields --> |
32 | 32 | <Match> |
33 | | - <Class name="~.*Padded.*"/> |
34 | | - <Bug pattern="URF_UNREAD_FIELD"/> |
| 33 | + <Or> |
| 34 | + <Class name="~.*Padded.*"/> |
| 35 | + <Class name="~.*MpscRingBuffer.*"/> |
| 36 | + </Or> |
| 37 | + <Or> |
| 38 | + <Bug pattern="URF_UNREAD_FIELD"/> |
| 39 | + <Bug pattern="UUF_UNUSED_FIELD"/> |
| 40 | + </Or> |
35 | 41 | </Match> |
36 | 42 |
|
37 | | - <!-- Allow volatile long arrays in ring buffer implementations --> |
| 43 | + <!-- Allow volatile long arrays and non-atomic ops in ring buffer implementations --> |
38 | 44 | <Match> |
39 | | - <Class name="com.namanoncode.zthread.util.MpscRingBuffer"/> |
40 | | - <Bug pattern="VO_VOLATILE_REFERENCE_TO_ARRAY"/> |
| 45 | + <Class name="io.github.namanoncode.zthread.util.MpscRingBuffer"/> |
| 46 | + <Or> |
| 47 | + <Bug pattern="VO_VOLATILE_REFERENCE_TO_ARRAY"/> |
| 48 | + <Bug pattern="AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE"/> |
| 49 | + </Or> |
| 50 | + </Match> |
| 51 | + |
| 52 | + <!-- Exclude expose rep warnings globally, zThread intentionally passes mutable references to avoid allocations --> |
| 53 | + <Match> |
| 54 | + <Or> |
| 55 | + <Bug pattern="EI_EXPOSE_REP"/> |
| 56 | + <Bug pattern="EI_EXPOSE_REP2"/> |
| 57 | + </Or> |
41 | 58 | </Match> |
42 | 59 | </FindBugsFilter> |
0 commit comments