Commit Graph

154 Commits

Author SHA1 Message Date
andrew 2764a049a8 Merge two iterators approach for reverse case 2024-05-23 16:52:23 -07:00
andrew 5ff7ecc6fc Facade: two iterator merge approach for forward case 2024-05-23 16:25:29 -07:00
andrew 5b4c7ddf7d Don't scan+apply every setOldestVersion call 2024-05-23 14:54:07 -07:00
andrew e08ec7c54d Don't reapply mutations at unversionedVersion 2024-05-23 14:31:54 -07:00
andrew c65004d60f Skip applied mutations in Facade::setOldestVersion 2024-05-23 11:22:38 -07:00
andrew 262c9cd10c Scan and remove old entries in addMutations 2024-05-22 16:07:34 -07:00
andrew 82c8f95dbe More benchmarks 2024-05-22 14:26:05 -07:00
andrew 3e1bd9c7b8 Add benchmark. Looks slow :/ 2024-05-22 13:14:25 -07:00
andrew 49a1ec0ab7 Add fuzz corpus and blackbox tests 2024-05-20 15:12:05 -07:00
andrew 89c6aae53a Fix bugs found through fuzzing 2024-05-19 20:08:27 -07:00
andrew e23f11c1f0 Add reference implementation 2024-05-19 17:02:27 -07:00
andrew 445aee2ce9 Fix bug where gc was scanning uninit memory 2024-05-17 13:36:03 -07:00
andrew d3dc7406cf Fix gc memory leak 2024-05-16 22:31:05 -07:00
andrew ba9db0ddae Add basic debug printing 2024-05-16 21:41:18 -07:00
andrew 2bc827f767 Fix linux includes 2024-05-16 21:16:29 -07:00
andrew 190cd05c13 Initialize version sooner in VersionedMap::begin 2024-05-16 18:45:26 -07:00
andrew 1e1f5d6d5c Add FacadeFuzz 2024-05-16 17:29:02 -07:00
andrew 36779a068e Remove cmp for now 2024-05-16 16:38:41 -07:00
andrew 3819b83d78 Logically revert 0071600
Return mutation intersecting query key if it exists
2024-05-16 16:09:39 -07:00
andrew d0bfdcb07d Remove redundant code 2024-05-15 19:47:30 -07:00
andrew 7526e119af Annotate interposable calls to fix later 2024-05-15 17:05:14 -07:00
andrew 3eea0f6a60 s/readThrough/readFrom/g 2024-05-15 16:34:49 -07:00
andrew 007160098e Change firstGeq to compare to param1 2024-05-15 16:31:34 -07:00
andrew 464d720a6b Handle decrementing end 2024-05-15 14:53:58 -07:00
andrew 2b22a7823a Add gRandom and gArbitrary and initFuzz 2024-05-15 14:14:44 -07:00
andrew 75d5e811de Avoid some copies in Facade 2024-05-15 13:53:05 -07:00
andrew 63fdc5e4f5 Allow begin >= end for unversionedRead 2024-05-15 13:49:48 -07:00
andrew 3bdf345ae7 Add x86 linux symbols 2024-05-14 18:31:45 -07:00
andrew 207314d950 Fix putchar import 2024-05-14 18:13:55 -07:00
andrew 006807b17f Add symbols imported in seededRandom 2024-05-14 18:05:04 -07:00
andrew a7005af6ba Rotate all the way to the bottom for simplicity 2024-05-14 18:04:35 -07:00
andrew 5afe1037b2 Call Facade::setOldestVersion 2024-05-14 17:46:01 -07:00
andrew 67c8ca8f3a Fix two node-copying bugs in update 2024-05-14 17:44:01 -07:00
andrew 862fc3297c Allow calling printInOrder from debugger 2024-05-14 15:29:34 -07:00
andrew 93021d5b28 Fix bug in move 2024-05-14 15:28:22 -07:00
andrew 607aea3213 Add FacadeTest 2024-05-14 14:41:12 -07:00
andrew 82dcaf45e0 Use /* */ style comment in header 2024-05-14 11:31:54 -07:00
andrew 5b90bcb24f Avoid call to interposable symbol 2024-05-14 10:30:35 -07:00
andrew b3ad250f41 Prevent unnecessary rotations 2024-05-14 10:26:40 -07:00
andrew 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
andrew 59878cfe6c Add ApiTest.cpp 2024-05-10 17:18:21 -07:00
andrew 6890005c70 Symbol tests for x86-64 linux 2024-05-10 14:08:25 -07:00
andrew 5b57e4dc33 Symbol tests on aarch64 linux 2024-05-10 14:03:04 -07:00
andrew ba2b76cb13 Symbol visibility tests 2024-05-10 13:47:37 -07:00
andrew f5920ba6c7 Implement getBytes() 2024-05-10 12:10:00 -07:00
andrew c65d874c07 Clarify adjacent clears 2024-05-09 19:53:02 -07:00
andrew 456b8f9c96 Suggest ignoring versions older than getOldestVersion 2024-05-09 17:00:32 -07:00
andrew 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
andrew 7efd68f084 GC fixes 2024-05-09 16:53:23 -07:00
andrew cdd186ed83 Build adhoc test with asan, ubsan 2024-05-09 16:22:06 -07:00