Commit Graph
523 Commits
Author SHA1 Message Date
andrew af1e2299de Include childType in ChildAndMaxVersion 2024-09-23 18:38:06 -07:00
andrew 230e96063d Make children tagged pointers 2024-09-23 17:58:09 -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
andrew 5c0cc1edf5 Add longestCommonPrefix bench 2024-09-05 16:30:58 -07:00
andrew 56893f9702 Update stale comments 2024-09-05 10:06:02 -07:00
andrew ce853680f2 Finish checkRangeRightSide conversion 2024-09-04 12:36:43 -07:00
andrew 5c39c1d64f CheckRangeRightSide conversion WIP 2024-09-04 12:25:16 -07:00
andrew 55b73c8ddb Convert CheckRangeRightSide WIP 2024-09-04 12:22:36 -07:00
andrew b9503f8258 Converting CheckRangeRightSide WIP 2024-09-04 12:19:53 -07:00
andrew c4c4531bd3 Simplify 2024-09-04 12:12:54 -07:00
andrew 2037d37c66 checkRangeLeftSide 2024-09-04 12:11:16 -07:00
andrew 6fe6a244af Get CheckRangeLeftSide closer, WIP 2024-09-04 12:08:16 -07:00
andrew 8a4b370e2a Make CheckRange{Left,Right}Side into normal functions, WIP 2024-09-04 12:04:58 -07:00
andrew 394f09f9fb WIP adding metrics to skiplist 2024-08-30 16:06:43 -07:00
andrew 5e06a30357 Add optional microbenchmarks for rezero/scan avx512 2024-08-29 12:12:24 -07:00
andrew c11b4714b5 Check more preconditions in Debug mode 2024-08-26 12:43:07 -07:00
andrew c9d742b696 Make explicit the precondition that versions must be <= latest version 2024-08-24 13:43:39 -07:00
andrew 7f86fdee66 Test 64 bit versions
Keep 32 bit versions the default though
2024-08-21 14:00:00 -07:00
andrew 311794c37e Update GCOVR annotations now that jenkins agent has avx512 2024-08-20 16:34:27 -07:00
andrew 0a9ac59676 Commit to non-simd Node3 implementations 2024-08-20 10:36:04 -07:00
andrew e3a77ed773 Remove unnecessary casts 2024-08-20 10:30:27 -07:00
andrew cdf9a8a7b0 Save 8 bytes in Node3 2024-08-20 10:30:07 -07:00
andrew 305dfdd52f Change whitespace in node structs for consistency 2024-08-20 09:57:44 -07:00
andrew 7261c91492 Remove Node48::nextFree, and improve padding to save 8 bytes 2024-08-20 09:51:29 -07:00
andrew 3634b6a59b Simplify slightly in checkMaxBetweenExclusive 2024-08-17 14:34:13 -07:00
andrew a3cc14c807 Fix double counting of remove node in showMemory mode 2024-08-17 13:43:47 -07:00
andrew b009de1c2b Avoid branching on type twice in erase 2024-08-16 09:29:22 -07:00
andrew 55a230c75e Remove dontInvalidate arg from erase
Use a new node member "endOfRange" instead
2024-08-16 09:08:56 -07:00
andrew 0711ec3831 Remove dead code 2024-08-15 20:19:00 -07:00
andrew 0280bd77e5 Skip "dontInvalidate" check in erase from gc 2024-08-15 19:07:53 -07:00
andrew fb7cf18f9b Add some comments about safety of calling maxVersion 2024-08-15 17:35:55 -07:00
andrew b808b97940 Remove a bunch of impl plumbing
By making it a precondition that nodes aren't the root for certain
functions
2024-08-15 17:15:37 -07:00
andrew e480f66846 Have caller ensure root max version for insert 2024-08-15 17:05:10 -07:00
andrew d5bc9221a0 Simplify addWriteRange slightly 2024-08-15 16:59:28 -07:00
andrew 9d23b81d6f Bring in some of the changes from erase-between branch 2024-08-15 16:55:26 -07:00
andrew 0740dcad43 Strengthen checkMemoryBoundInvariants check for Node0
I think this is probably checked elsewhere, but let's check here too for
consistency
2024-08-14 14:28:28 -07:00
andrew 176df61321 Simplify handling of beginNode invalidation if begin is prefix of end 2024-08-14 14:26:13 -07:00
andrew 45995e3307 Update comments 2024-08-12 17:05:21 -07:00
andrew 359b0b29ff Avoid function call if no partial key 2024-08-12 16:33:03 -07:00
andrew 54e47ebd40 Simplify insert loop 2024-08-12 16:25:12 -07:00
andrew 1c9dda68a6 Call consumePartialKey from getOrCreateChild 2024-08-12 16:24:05 -07:00
andrew 142455dd28 Move consumePartialKey, and allow empty partial key 2024-08-12 16:18:58 -07:00