Commit Graph

106 Commits

Author SHA1 Message Date
7efd68f084 GC fixes 2024-05-09 16:53:23 -07:00
cdd186ed83 Build adhoc test with asan, ubsan 2024-05-09 16:22:06 -07:00
75e24d3818 Fix firstGeq bug initializing mutationIndex 2024-05-09 16:20:08 -07:00
9aed358615 Add todo to support decrementing end() 2024-05-09 16:19:54 -07:00
bb12e92635 Use mutationIndex instead of materializeClearEndingHere 2024-05-09 16:12:54 -07:00
5111834a0b Allow search to search at any version
And re-use non-null iterators in firstGeq
2024-05-09 14:25:03 -07:00
6baf069445 Fix firstGeq bug 2024-05-09 13:48:52 -07:00
fbd5292478 Fix thread safety issue 2024-05-09 13:42:42 -07:00
a36c96d7c2 Implement get{,Oldest}Version 2024-05-09 13:39:54 -07:00
bce4a8b2d8 Implement firstGeq 2024-05-09 13:37:33 -07:00
91896313f7 Add TODO 2024-05-09 11:37:59 -07:00
beabb8c690 Make sure types in ABI are standard layout 2024-05-09 11:36:30 -07:00
f58409c21b Encode point clear to match spec 2024-05-09 11:33:30 -07:00
531ccb5be9 Include mutation's version in Iterator::operator* 2024-05-09 11:14:29 -07:00
e27580d31f Show more version info in printInOrder 2024-05-08 18:06:19 -07:00
b5917eb397 Track mutation versions precisely
This will be necessary for correct garbage collection
2024-05-08 18:00:53 -07:00
4482f93895 Implement Iterator 2024-05-08 16:54:36 -07:00
e2dde59d19 Add hello world sdl project
The idea is eventually to visualize the tree to help debugging
2024-05-08 15:13:58 -07:00
8f7fccee76 Implement clears in addMutations 2024-05-07 16:13:18 -07:00
2c6ec61f82 Partially implement addMutations 2024-05-07 11:28:12 -07:00
744c3b91ea Set GCOVR exclusions for outside of implementation 2024-05-06 17:14:09 -07:00
32e68dad07 Fix weird whitespace 2024-05-06 12:53:00 -07:00
411c1a1070 Mention latency/throughput tradeoff 2024-05-06 12:49:06 -07:00
745f0a14a3 Clarify the logical view of iterators 2024-05-06 12:40:31 -07:00
393168ff53 Clarify result of querying for key intersecting mutation 2024-05-06 10:10:38 -07:00
c8088a8209 static_assert that Iterator is conformant bidi iterator 2024-05-06 10:10:38 -07:00
5a8275ffc1 Clarify buffer reclamation condition 2024-05-04 18:33:53 -07:00
08583f2ac0 Don't pass null to memcpy 2024-05-04 18:33:51 -07:00
b7f3b136cc Add missing includes on linux 2024-05-04 17:43:12 -07:00
bfbe9638eb Explain intent of condition 2024-05-04 12:02:55 -07:00
8e1faadd30 Check insertion takes place before upsize check 2024-05-04 12:00:05 -07:00
58a50e2056 Improve RootSet documentation 2024-05-03 16:39:30 -07:00
971aabea6e Prepare for firstGeq to be safe on foreign threads 2024-05-03 16:17:06 -07:00
99760176a6 Describe perf benefit of reusing iterator from same version 2024-05-02 21:24:05 -07:00
0727a1ebe7 Improve thread-safety documentation 2024-05-02 21:23:46 -07:00
eba1c2ce2a Add some thread-safety guarantees to interface 2024-05-02 18:20:55 -07:00
15b9b6495a Fix wrong order of arguments to update 2024-05-02 16:44:23 -07:00
65429ebd0a Implement insert 2024-05-02 15:34:19 -07:00
adc376a573 Linux fixes + bug fix in bitset size calculation 2024-05-02 14:35:22 -07:00
bd826ac42c Remove unnecessary cast 2024-05-01 17:32:47 -07:00
26c66bcefb Return this from addref for Entry 2024-05-01 17:24:48 -07:00
791030dc3a Print clear-related metadata for printInOrder 2024-05-01 17:18:02 -07:00
9dbd9e028a Fix bugs found by exercising the code 2024-05-01 17:10:14 -07:00
3713e5e5bb Implement rotate. Not tested 2024-05-01 16:43:10 -07:00
77f4663bc8 Add RootSet 2024-05-01 15:52:40 -07:00
11e6278766 Use hash of key as priority. Vendor xxhash v0.8.2 2024-05-01 14:17:26 -07:00
72cb7a70bf Check for OOM 2024-05-01 13:06:52 -07:00
8831498bfb Document operator* result lifetime 2024-05-01 12:42:48 -07:00
a14f208c39 Change entry representation to reduce number of entries 2024-05-01 12:40:26 -07:00
0e0c225c52 PUBLIC -> PRIVATE
It doesn't really matter tbh
2024-04-30 16:41:57 -07:00