andrew
|
769cf8de9a
|
Bring back sequential read implementation
This will be used if there's only one check to perform or if the
compiler does not support musttail and preserve_none
|
2024-10-15 17:12:11 -07:00 |
|
andrew
|
5df25a138a
|
Don't initialize max version if child doesn't exist
|
2024-10-15 12:55:28 -07:00 |
|
andrew
|
5013c689a0
|
Remove dead code
|
2024-10-14 22:06:48 -07:00 |
|
andrew
|
58aabe83f5
|
Improve codegen for tracking check metrics
|
2024-10-14 17:50:38 -07:00 |
|
andrew
|
0c8a051913
|
Avoid more branches on type
|
2024-10-14 17:16:56 -07:00 |
|
andrew
|
11e8717da8
|
Specific node overloads for checkMaxBetweenExclusive
|
2024-10-14 16:54:44 -07:00 |
|
andrew
|
824037bf32
|
Remove dead code
|
2024-10-13 21:28:27 -07:00 |
|
andrew
|
51b5f638a4
|
Combine terminal down_left_spine paths
|
2024-10-13 20:39:07 -07:00 |
|
andrew
|
767dacc742
|
Fully interleaved range read
Would be great to find a way to make this all more readable
|
2024-10-13 20:05:06 -07:00 |
|
andrew
|
978a7585b6
|
Remove backtrack label from checkRangeRightSide
|
2024-10-13 11:27:36 -07:00 |
|
andrew
|
71b3c7fb7f
|
Stop tracking first iteration
We can tell with other means
|
2024-10-12 23:56:01 -07:00 |
|
andrew
|
420f50c40f
|
Stop tracking searchPathLen
|
2024-10-12 23:34:46 -07:00 |
|
andrew
|
69a131df38
|
Prepare for interleaving checkRangeRightSide
|
2024-10-12 23:01:47 -07:00 |
|
andrew
|
8a4032e850
|
Remove dead code
|
2024-10-12 18:00:19 -07:00 |
|
andrew
|
8eb5e76336
|
Add short-circuiting back to range checks
|
2024-10-12 17:20:22 -07:00 |
|
andrew
|
e8982074f2
|
Add short-circuiting back for range common prefix search
|
2024-10-12 17:10:19 -07:00 |
|
andrew
|
f60833a57f
|
Add short-circuiting back in for point and prefix checks
|
2024-10-12 17:05:47 -07:00 |
|
andrew
|
73f93edf49
|
Remove dead code
|
2024-10-12 12:56:13 -07:00 |
|
andrew
|
8bac1f66fc
|
Remove searchPathLen
|
2024-10-12 11:12:12 -07:00 |
|
andrew
|
352c07cbc9
|
Use CheckJob::setResult
|
2024-10-12 00:01:35 -07:00 |
|
andrew
|
2e7e357355
|
Remove dead code
|
2024-10-11 23:47:32 -07:00 |
|
andrew
|
323b239411
|
Stop applying flatten attribute
This blows up the code size too much. I wonder if having all those
distinct possible program counters helps libfuzzer /shrug
|
2024-10-11 21:31:18 -07:00 |
|
andrew
|
6a12210866
|
Make better use of static node type info for check left side
|
2024-10-11 21:06:57 -07:00 |
|
andrew
|
416504158e
|
Interleave checkRangeLeftSide
|
2024-10-11 20:56:40 -07:00 |
|
andrew
|
b0bc68a14e
|
Move checkRangeStartsWith out of finishCheckRangeRead
This is incrementally closer to where we want to be I think
|
2024-10-11 17:52:04 -07:00 |
|
andrew
|
0de85ecda0
|
Add done_common_prefix_iter
|
2024-10-11 17:33:31 -07:00 |
|
andrew
|
44afb8be00
|
Interleave the common prefix search in range check
|
2024-10-11 17:26:34 -07:00 |
|
andrew
|
ecdbaaf2c1
|
Add missing MUSTTAIL
|
2024-10-11 16:51:00 -07:00 |
|
andrew
|
fe9678787d
|
Only require coverage of node-specific overloads of getFirstChildExists
|
2024-10-11 16:47:19 -07:00 |
|
andrew
|
0ac259c782
|
Interleaved implementation for checking prefix reads
|
2024-10-11 16:04:55 -07:00 |
|
andrew
|
8b1a0afc58
|
First continuation for interleaved check range read
|
2024-10-11 15:45:25 -07:00 |
|
andrew
|
2018fa277c
|
Use a trampoline if musttail not available
For the previous approach to work, we would have had to lock in the
generated code for every function that needs to make tail calls in
assembly.
|
2024-10-10 17:30:16 -07:00 |
|
andrew
|
1faeb220d5
|
Implement keepGoing in asm if musttail is not available
|
2024-10-10 16:52:27 -07:00 |
|
andrew
|
0dc657bfeb
|
Fix arm build
|
2024-10-10 16:07:28 -07:00 |
|
andrew
|
b51ef97c71
|
Fix USE_SIMD_FALLBACK build
|
2024-10-10 15:56:16 -07:00 |
|
andrew
|
e213237698
|
Remove some dead code
|
2024-10-10 13:21:13 -07:00 |
|
andrew
|
a28283748c
|
Interleaved check point read implementation
|
2024-10-10 11:55:46 -07:00 |
|
andrew
|
cafa540fc8
|
Return tagged pointer from getChild
|
2024-10-10 10:24:38 -07:00 |
|
andrew
|
b9c642d81d
|
Return tagged pointer from getChildAndMaxVersion
|
2024-10-10 10:21:33 -07:00 |
|
andrew
|
7abb129f03
|
Tagged pointers
|
2024-10-10 10:17:06 -07:00 |
|
andrew
|
3739ccaaf2
|
Introduce TaggedNodePointer (not actually a tagged pointer yet)
|
2024-10-10 10:09:52 -07:00 |
|
andrew
|
656939560b
|
Add GCOVR_EXCL_LINE on covered line
|
2024-09-14 14:35:51 -07:00 |
|
andrew
|
628d16b7e6
|
Annotate zero argument as maybe_unused
|
2024-09-14 13:47:08 -07:00 |
|
andrew
|
d9e4a7d1b6
|
Remove bogus assert
|
2024-09-14 10:58:48 -07:00 |
|
andrew
|
52201fa4c7
|
Use signed compare
Unsigned compare is incorrect here
|
2024-09-13 22:55:22 -07:00 |
|
andrew
|
0814822d82
|
avx512 implementations for fixupMaxVersion
|
2024-09-13 22:01:56 -07:00 |
|
andrew
|
84c4d0fcba
|
More usages of getNodeIndexExists
|
2024-09-12 22:22:16 -07:00 |
|
andrew
|
6241533dfb
|
Improve codegen for getChildExists(Node{3,16}*, ...)
|
2024-09-12 22:05:00 -07:00 |
|
andrew
|
0abf6a1ecf
|
Improve Node3 search codegen
|
2024-09-12 17:12:41 -07:00 |
|
andrew
|
a0a4f1afea
|
Only compile nanobench once
|
2024-09-09 20:10:55 -07:00 |
|