becfd25139
De-templatize kUseFreeList
...
This results in smaller code. This is part of the "let the compiler be
in charge of inlining decisions" theme.
2024-03-19 15:12:31 -07:00
d78b36821b
Remove more redundant nullptr checks
2024-03-19 15:05:34 -07:00
ce79b47fbe
Revert 303b368fc5
...
This is a code-size / speed tradeoff. Maybe it's a good idea here, but
it's a bit weird to do this in some places and not others (there are
many places we can avoid switching on type this way). The compiler can
inline and then dead code eliminate to achieve the same effect, so we'll
just let the compiler be in charge of inlining decisions.
2024-03-19 15:01:13 -07:00
727b7e642a
Save more redundant nullptr checks
2024-03-19 14:34:59 -07:00
cb4c2b7e1e
Avoid redundant null check in some cases
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-19 14:29:13 -07:00
ef9b789745
Remove unused code
2024-03-19 11:12:03 -07:00
edd7bcaa1e
Check ConflictSet preconditions in script_test
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-19 10:31:04 -07:00
be8ac879c5
Update README benchmarks
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-18 17:24:26 -07:00
83c7f66d67
Remove some redundant nullptr checks
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-18 16:22:24 -07:00
a5710b8282
Remove performance-only code from debug build for increased coverage
2024-03-18 16:21:55 -07:00
c31eebd5de
No caller of CheckRangeRightSide::downLeftSpine has null n
2024-03-18 16:03:41 -07:00
ddeb059968
Remove more dead code
2024-03-18 16:01:56 -07:00
5a0bcf9a5a
Strengthen precondition to checkRangeStartsWith
...
and remove resulting dead code
2024-03-18 15:44:44 -07:00
97717cec86
Remove suspected dead code
...
Removing it is definitely safe. I suspect that any way to get here would
have already returned from checkRangeRead during the search for the
common prefix
2024-03-18 15:30:15 -07:00
6a13c43a78
Remove mistakenly checked in printfs
Tests / Clang total: 822, passed: 822
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 822, passed: 822
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 821, passed: 821
Tests / Coverage total: 820, passed: 820
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-18 14:03:09 -07:00
c6c438bae2
Address more missing coverage
...
cc #3 . Found some non-trivial dead code this time!
2024-03-18 14:01:30 -07:00
7d4f832b43
Address some missing coverage
...
cc #3
2024-03-18 13:36:35 -07:00
5b0c3c2428
Exclude more from coverage
...
Only count ConflictSet.cpp in jenkins now, and also add some more
excludes for unreachable lines
2024-03-18 12:05:52 -07:00
f2b5e9b0bf
Change max key len to 8, update corpus
...
Now that we don't have a fixed buffer reserved for partial key bytes,
there's nothing (obvious) that makes testing short versus long keys much
different. maybeDecreaseCapacity is an exception, and we'll write some
tests covering that manually.
2024-03-18 11:55:43 -07:00
8e0e65dac6
Count implicit key byte for maybeDecreaseCapacity
2024-03-18 11:42:53 -07:00
5aab76847a
Add inner-full-word test
Tests / Clang total: 934, passed: 934
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 934, passed: 934
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 933, passed: 933
Tests / Coverage total: 932, passed: 932
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-17 14:42:11 -07:00
1a51aa00e5
Run scripted tests
Tests / Clang total: 933, passed: 933
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 933, passed: 933
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 932, passed: 932
Tests / Coverage total: 931, passed: 931
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-16 22:04:30 -07:00
3975bada0c
Add a simple language for scripting tests
2024-03-16 22:02:00 -07:00
a5330b6e23
Minor paper tweaks
2024-03-16 12:45:36 -07:00
2e246ec6a4
Cachegrind says this is fewer instructions
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-16 08:46:41 -07:00
6d7e3c9849
Fix invalid offsetof warnings
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-15 21:37:21 -07:00
671da5d096
Collect gcc warnings again in Jenkins
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-15 19:00:01 -07:00
303b368fc5
Add Type template parameter to maybeDownsize to avoid branch
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-15 18:05:32 -07:00
9f5a68e2c0
Use plain loop for Node3
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-15 17:35:14 -07:00
dfbb3ce5f1
Use assume
...
It works now that we fell back to the __builtin_unreachable based
implementation for gcc.
2024-03-15 17:23:02 -07:00
e7719b6e0b
Disable sanitizers when cross-compiling
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-15 17:04:49 -07:00
83fedf1f9e
Remove dead code
2024-03-15 17:00:20 -07:00
8556caf360
Cachegrind says memset uses fewer instructions here
2024-03-15 16:57:16 -07:00
9d13ca84f5
Fix bug spotted by hand. No test coverage there yet
2024-03-15 16:55:34 -07:00
a79436ee9b
Use statically-known numChildren in Node3 -> Node16
2024-03-15 16:52:40 -07:00
e9c8537cf2
Copy Node members and set children pointers in copyChildrenAndKeyFrom
2024-03-15 16:28:58 -07:00
5b988efe6f
Consolidate copyChildrenAndKeyFrom implementations
2024-03-15 16:12:44 -07:00
e35d698b21
Improve copyChildrenAndKeyFrom-related codegen
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-15 08:19:16 -07:00
30496d14e7
Don't print out filename in TestDriver.cpp
2024-03-15 07:44:11 -07:00
eb93157ddf
Improve codegen in freeAndMakeCapacityAtLeast
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 19:23:49 -07:00
9cafef8bbb
Update benchmarks after fixing skip list bug in a9b3d3d
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 15:50:55 -07:00
6f81580953
Guard SHOW_MEMORY-only code
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 15:40:09 -07:00
429fe5baed
Fix some uses of uninitialized memory
...
Introduced in ee36bda8f8
, unsurprisingly.
2024-03-14 15:39:37 -07:00
a0451e4423
Give radix tree setOldestVersion an extra 10 work per call
...
It seemed to really be important for the skip list. I'm cargo culting
this a little bit here.
2024-03-14 15:32:39 -07:00
a9b3d3d1c9
Show peak memory in skip list, and fix setOldestVersion bug
...
It was not previously gc'ing faster than it was writing.
2024-03-14 15:31:29 -07:00
b817e3c749
Track malloc size with a header for SHOW_MEMORY
2024-03-14 15:30:46 -07:00
ee36bda8f8
Track initializedness of Node memory more precisely
...
By not initializing Node members with dummy default values.
This has performance/code size benefits, and improves debugging when
running under valgrind.
Unfortunately this also makes it easy to write code that uses
uninitialized memory, so if valgrind doesn't have good coverage then we
might let some uninit usages sneak through.
We plan to have good coverage for valgrind, so I think it's ok. If
writing correct code becomes too tedious then we can go back to
initializing Node fields with dummy default values.
2024-03-14 14:58:20 -07:00
a8f4bd91c8
Use asan and ubsan for whitebox/fuzz tests
2024-03-14 13:47:21 -07:00
35086ee66a
Add GCOVR_EXCL_LINE to default labels too
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-13 20:54:05 -07:00
0f795cf163
Set -DNVALGRIND for release artifacts
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-13 20:45:59 -07:00