Commit Graph

74 Commits

Author SHA1 Message Date
a7005af6ba Rotate all the way to the bottom for simplicity 2024-05-14 18:04:35 -07:00
5afe1037b2 Call Facade::setOldestVersion 2024-05-14 17:46:01 -07:00
67c8ca8f3a Fix two node-copying bugs in update 2024-05-14 17:44:01 -07:00
862fc3297c Allow calling printInOrder from debugger 2024-05-14 15:29:34 -07:00
93021d5b28 Fix bug in move 2024-05-14 15:28:22 -07:00
607aea3213 Add FacadeTest 2024-05-14 14:41:12 -07:00
82dcaf45e0 Use /* */ style comment in header 2024-05-14 11:31:54 -07:00
5b90bcb24f Avoid call to interposable symbol 2024-05-14 10:30:35 -07:00
b3ad250f41 Prevent unnecessary rotations 2024-05-14 10:26:40 -07:00
9834b2e811 Use hardware-seeded, high quality rng for priority
This fixes a potential denial of service attack
2024-05-14 09:49:19 -07:00
59878cfe6c Add ApiTest.cpp 2024-05-10 17:18:21 -07:00
6890005c70 Symbol tests for x86-64 linux 2024-05-10 14:08:25 -07:00
5b57e4dc33 Symbol tests on aarch64 linux 2024-05-10 14:03:04 -07:00
ba2b76cb13 Symbol visibility tests 2024-05-10 13:47:37 -07:00
f5920ba6c7 Implement getBytes() 2024-05-10 12:10:00 -07:00
c65d874c07 Clarify adjacent clears 2024-05-09 19:53:02 -07:00
456b8f9c96 Suggest ignoring versions older than getOldestVersion 2024-05-09 17:00:32 -07:00
b89b7b7f8e Require non-adjacent mutations
This should make it so that mutations can only be adjacent if they're at
different versions
2024-05-09 16:59:19 -07:00
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