Allow writeVersion, oldestVersion, and readVersion to span 2e9
Some checks failed
Tests / Clang total: 1337, passed: 1337
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1337, passed: 1337
Tests / 32-bit versions total: 1337, passed: 1337
Tests / Release [gcc] total: 1337, passed: 1337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 997, passed: 997
Tests / Coverage total: 1004, failed: 86, passed: 918
weaselab/conflict-set/pipeline/head There was a failure building this commit
Some checks failed
Tests / Clang total: 1337, passed: 1337
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1337, passed: 1337
Tests / 32-bit versions total: 1337, passed: 1337
Tests / Release [gcc] total: 1337, passed: 1337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 997, passed: 997
Tests / Coverage total: 1004, failed: 86, passed: 918
weaselab/conflict-set/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -3155,6 +3155,7 @@ void internal_addWrites(ConflictSet::Impl *impl,
|
|||||||
|
|
||||||
void internal_setOldestVersion(ConflictSet::Impl *impl, int64_t oldestVersion) {
|
void internal_setOldestVersion(ConflictSet::Impl *impl, int64_t oldestVersion) {
|
||||||
mallocBytesDelta = 0;
|
mallocBytesDelta = 0;
|
||||||
|
assert(oldestVersion >= impl->oldestVersionFullPrecision);
|
||||||
impl->setOldestVersion(oldestVersion);
|
impl->setOldestVersion(oldestVersion);
|
||||||
impl->totalBytes += mallocBytesDelta;
|
impl->totalBytes += mallocBytesDelta;
|
||||||
#if SHOW_MEMORY
|
#if SHOW_MEMORY
|
||||||
|
22
Internal.h
22
Internal.h
@@ -518,7 +518,7 @@ struct ReferenceImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setOldestVersion(int64_t oldestVersion) {
|
void setOldestVersion(int64_t oldestVersion) {
|
||||||
assert(oldestVersion >= oldestVersion);
|
assert(oldestVersion >= this->oldestVersion);
|
||||||
this->oldestVersion = oldestVersion;
|
this->oldestVersion = oldestVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -583,8 +583,8 @@ template <class ConflictSetImpl> struct TestDriver {
|
|||||||
explicit TestDriver(const uint8_t *data, size_t size)
|
explicit TestDriver(const uint8_t *data, size_t size)
|
||||||
: arbitrary({data, size}) {}
|
: arbitrary({data, size}) {}
|
||||||
|
|
||||||
int64_t oldestVersion = 0;
|
int64_t oldestVersion = arbitrary.next();
|
||||||
int64_t writeVersion = 0;
|
int64_t writeVersion = oldestVersion;
|
||||||
ConflictSetImpl cs{oldestVersion};
|
ConflictSetImpl cs{oldestVersion};
|
||||||
ReferenceImpl refImpl{oldestVersion};
|
ReferenceImpl refImpl{oldestVersion};
|
||||||
|
|
||||||
@@ -606,9 +606,8 @@ template <class ConflictSetImpl> struct TestDriver {
|
|||||||
{
|
{
|
||||||
int numPointWrites = arbitrary.bounded(100);
|
int numPointWrites = arbitrary.bounded(100);
|
||||||
int numRangeWrites = arbitrary.bounded(100);
|
int numRangeWrites = arbitrary.bounded(100);
|
||||||
int64_t v =
|
int64_t v = (writeVersion += arbitrary.bounded(10) ? arbitrary.bounded(10)
|
||||||
(writeVersion += arbitrary.bounded(10) == 0 ? arbitrary.bounded(10)
|
: arbitrary.next());
|
||||||
: arbitrary.next());
|
|
||||||
auto *writes =
|
auto *writes =
|
||||||
new (arena) ConflictSet::WriteRange[numPointWrites + numRangeWrites];
|
new (arena) ConflictSet::WriteRange[numPointWrites + numRangeWrites];
|
||||||
auto keys = set<std::string_view>(arena);
|
auto keys = set<std::string_view>(arena);
|
||||||
@@ -671,15 +670,20 @@ template <class ConflictSetImpl> struct TestDriver {
|
|||||||
|
|
||||||
refImpl.addWrites(writes, numPointWrites + numRangeWrites, v);
|
refImpl.addWrites(writes, numPointWrites + numRangeWrites, v);
|
||||||
|
|
||||||
oldestVersion =
|
oldestVersion +=
|
||||||
std::min(writeVersion - 10, oldestVersion + arbitrary.bounded(10));
|
arbitrary.bounded(10) ? arbitrary.bounded(10) : arbitrary.next();
|
||||||
|
oldestVersion = std::min(oldestVersion, writeVersion);
|
||||||
cs.setOldestVersion(oldestVersion);
|
cs.setOldestVersion(oldestVersion);
|
||||||
refImpl.setOldestVersion(oldestVersion);
|
refImpl.setOldestVersion(oldestVersion);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
int numPointReads = arbitrary.bounded(100);
|
int numPointReads = arbitrary.bounded(100);
|
||||||
int numRangeReads = arbitrary.bounded(100);
|
int numRangeReads = arbitrary.bounded(100);
|
||||||
int64_t v = std::max<int64_t>(writeVersion - arbitrary.bounded(10), 0);
|
|
||||||
|
int64_t v = std::max<int64_t>(writeVersion - (arbitrary.bounded(10)
|
||||||
|
? arbitrary.bounded(10)
|
||||||
|
: arbitrary.next()),
|
||||||
|
0);
|
||||||
auto *reads =
|
auto *reads =
|
||||||
new (arena) ConflictSet::ReadRange[numPointReads + numRangeReads];
|
new (arena) ConflictSet::ReadRange[numPointReads + numRangeReads];
|
||||||
auto keys = set<std::string_view>(arena);
|
auto keys = set<std::string_view>(arena);
|
||||||
|
@@ -634,9 +634,7 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setOldestVersion(int64_t oldestVersion) {
|
void setOldestVersion(int64_t oldestVersion) {
|
||||||
if (oldestVersion < this->oldestVersion) {
|
assert(oldestVersion >= this->oldestVersion);
|
||||||
return;
|
|
||||||
}
|
|
||||||
this->oldestVersion = oldestVersion;
|
this->oldestVersion = oldestVersion;
|
||||||
SkipList::Finger finger;
|
SkipList::Finger finger;
|
||||||
int temp;
|
int temp;
|
||||||
|
BIN
corpus/0063b93252ca70953300cad44698a17baad92efa
Normal file
BIN
corpus/0063b93252ca70953300cad44698a17baad92efa
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/007b752a8b713ca7d9c9ad9f437af86372842294
Normal file
BIN
corpus/007b752a8b713ca7d9c9ad9f437af86372842294
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/0125f120343f7f62c8ba06a5dda992948aff6976
Normal file
BIN
corpus/0125f120343f7f62c8ba06a5dda992948aff6976
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/0238340d4a6e588e2f721e375916197806e9e4a2
Normal file
BIN
corpus/0238340d4a6e588e2f721e375916197806e9e4a2
Normal file
Binary file not shown.
BIN
corpus/028811e14d54e1094773c8b099968d4772debc6a
Normal file
BIN
corpus/028811e14d54e1094773c8b099968d4772debc6a
Normal file
Binary file not shown.
BIN
corpus/02feb57a35b1aff93e0a39b1c8bdbe4fb4c68bb3
Normal file
BIN
corpus/02feb57a35b1aff93e0a39b1c8bdbe4fb4c68bb3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/04ee8a49d63dde5f8fb0217581aac1349c8bef6e
Normal file
BIN
corpus/04ee8a49d63dde5f8fb0217581aac1349c8bef6e
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/065c5f5e542abe1b5c8b931894a4e3f2089d8be3
Normal file
BIN
corpus/065c5f5e542abe1b5c8b931894a4e3f2089d8be3
Normal file
Binary file not shown.
BIN
corpus/066d231a61a7b4f1fb3b3d6b3feab2360bd0586e
Normal file
BIN
corpus/066d231a61a7b4f1fb3b3d6b3feab2360bd0586e
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/077281b9908bdf8bc13273ebb8fab9f0e56e6414
Normal file
BIN
corpus/077281b9908bdf8bc13273ebb8fab9f0e56e6414
Normal file
Binary file not shown.
BIN
corpus/07af0cd9aa92b3167dde6cdc24efe99d59f246d1
Normal file
BIN
corpus/07af0cd9aa92b3167dde6cdc24efe99d59f246d1
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/0974b99f57e954e667861e9ae4119e262f2703a8
Normal file
BIN
corpus/0974b99f57e954e667861e9ae4119e262f2703a8
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/0a1e8a6619e2097d1d376a53993302878b7cdc5d
Normal file
BIN
corpus/0a1e8a6619e2097d1d376a53993302878b7cdc5d
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/0a674f2c935665bcb0ed565f8cb86ac1b35516d8
Normal file
BIN
corpus/0a674f2c935665bcb0ed565f8cb86ac1b35516d8
Normal file
Binary file not shown.
BIN
corpus/0add1f7bc40446f0b565ffa8a01344ef0e6989ca
Normal file
BIN
corpus/0add1f7bc40446f0b565ffa8a01344ef0e6989ca
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/0d80bd248e2de36bf251d8b7ffe315e0811fce57
Normal file
BIN
corpus/0d80bd248e2de36bf251d8b7ffe315e0811fce57
Normal file
Binary file not shown.
BIN
corpus/0d9431e398a37214417d6bef63ac6c986773b06d
Normal file
BIN
corpus/0d9431e398a37214417d6bef63ac6c986773b06d
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/0e33e7ae09777d9c6b81e8cee7d5c4de1c62ff2d
Normal file
BIN
corpus/0e33e7ae09777d9c6b81e8cee7d5c4de1c62ff2d
Normal file
Binary file not shown.
4
corpus/0e410d4488defd877d2c9690a26970f57ab78b0c
Normal file
4
corpus/0e410d4488defd877d2c9690a26970f57ab78b0c
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/10571ac120215c69cd97f409bf35143b5b917812
Normal file
BIN
corpus/10571ac120215c69cd97f409bf35143b5b917812
Normal file
Binary file not shown.
BIN
corpus/1095006f5706eb8e27faf1d3c1acd6af1b6718e3
Normal file
BIN
corpus/1095006f5706eb8e27faf1d3c1acd6af1b6718e3
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/114c0edc40b90c08e0a4a6f15e8f49764cb5f241
Normal file
BIN
corpus/114c0edc40b90c08e0a4a6f15e8f49764cb5f241
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/11f83645fe98bd2419197f30080be51ff76bc6e2
Normal file
BIN
corpus/11f83645fe98bd2419197f30080be51ff76bc6e2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/12b2f725568909759c8eb8d3cd6e762b97adcf8c
Normal file
BIN
corpus/12b2f725568909759c8eb8d3cd6e762b97adcf8c
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/15ec9e0a7a3ff3be4d02366c14e50256463f5ad9
Normal file
BIN
corpus/15ec9e0a7a3ff3be4d02366c14e50256463f5ad9
Normal file
Binary file not shown.
BIN
corpus/16032af55a737dededa0c4155bf2d21ffb54716c
Normal file
BIN
corpus/16032af55a737dededa0c4155bf2d21ffb54716c
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/16e88b562a6862401460f25825f2bff30fd55267
Normal file
BIN
corpus/16e88b562a6862401460f25825f2bff30fd55267
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/18114c1ea60aec549bd286b1b69419e724e8f21f
Normal file
BIN
corpus/18114c1ea60aec549bd286b1b69419e724e8f21f
Normal file
Binary file not shown.
BIN
corpus/182e6bc1f0cc00a80f5a6b588e0db7e603ab5f67
Normal file
BIN
corpus/182e6bc1f0cc00a80f5a6b588e0db7e603ab5f67
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/197cfb242d7638d21096b0eed211adbd7a1cf041
Normal file
BIN
corpus/197cfb242d7638d21096b0eed211adbd7a1cf041
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/1b590e4d1b29a6140055510b81af0ec758197b05
Normal file
BIN
corpus/1b590e4d1b29a6140055510b81af0ec758197b05
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/1ddcfcbbf1b9ce188c2509aa99b2d10b26cdec38
Normal file
BIN
corpus/1ddcfcbbf1b9ce188c2509aa99b2d10b26cdec38
Normal file
Binary file not shown.
BIN
corpus/1e272a9a43badbbd8b66eb08ba49fc1650557df1
Normal file
BIN
corpus/1e272a9a43badbbd8b66eb08ba49fc1650557df1
Normal file
Binary file not shown.
BIN
corpus/1f3676c7a663a9ef780aa996ea88a905b25bd8d2
Normal file
BIN
corpus/1f3676c7a663a9ef780aa996ea88a905b25bd8d2
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/20bea5c29b0f49a3a7aa78d2237341895a3cb0da
Normal file
BIN
corpus/20bea5c29b0f49a3a7aa78d2237341895a3cb0da
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2
corpus/22c23c2418773edaaff055ed387f82c8ad078f9f
Normal file
2
corpus/22c23c2418773edaaff055ed387f82c8ad078f9f
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
corpus/24813b940f1d10951ef34c33945948f8e88e9589
Normal file
BIN
corpus/24813b940f1d10951ef34c33945948f8e88e9589
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 27 B |
BIN
corpus/25b41c96e5ecaaaacb8b0a7ef0c883097aa0a092
Normal file
BIN
corpus/25b41c96e5ecaaaacb8b0a7ef0c883097aa0a092
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/27c6893c3d3a1f01c190f1951ad5655dd68a7644
Normal file
BIN
corpus/27c6893c3d3a1f01c190f1951ad5655dd68a7644
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/28c925416b4a6fa2be0f9bd260bf8717e98d49df
Normal file
BIN
corpus/28c925416b4a6fa2be0f9bd260bf8717e98d49df
Normal file
Binary file not shown.
BIN
corpus/2931f0414c2bb8071f8a8b93e76673a5e5b33fbd
Normal file
BIN
corpus/2931f0414c2bb8071f8a8b93e76673a5e5b33fbd
Normal file
Binary file not shown.
BIN
corpus/29354d0302c85873d4f75558c6ef32867214c92d
Normal file
BIN
corpus/29354d0302c85873d4f75558c6ef32867214c92d
Normal file
Binary file not shown.
Binary file not shown.
BIN
corpus/29472259eecd70374a40609579683fd8ecd25282
Normal file
BIN
corpus/29472259eecd70374a40609579683fd8ecd25282
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user