Better support a lack of musttail and preserve_none
Some checks failed
Tests / 64 bit versions total: 5794, passed: 5794
Tests / Debug total: 5792, passed: 5792
Tests / SIMD fallback total: 5794, passed: 5794
Tests / Release [clang] total: 5794, passed: 5794
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc] total: 5794, passed: 5794
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [clang,aarch64] total: 3836, passed: 3836
Tests / Coverage total: 3876, passed: 3876
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 96.83% (2871/2965) * Branch Coverage: 48.98% (10630/21703) * Complexity Density: 0.00 * Lines of Code: 2965 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit

This commit is contained in:
2024-10-28 22:40:52 -07:00
parent c0bb175b7e
commit f27ca6d6af

View File

@@ -4700,7 +4700,6 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
interleaved_insert::Result stackResults[100];
#if __has_attribute(preserve_none) && __has_attribute(musttail)
constexpr int kConcurrent = 16;
interleaved_insert::Job inProgress[kConcurrent];
interleaved_insert::Context context;
@@ -4732,8 +4731,6 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
// are done
inProgress->continuation(inProgress, &context);
#endif
// Phase 2: Perform insertions. Nodes may be upsized during this phase, but
// old nodes get forwarding pointers installed and are released after
// phase 2.
@@ -4794,6 +4791,7 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
}
}
#if __has_attribute(preserve_none) && __has_attribute(musttail)
bool allPointWrites = true;
for (int i = 0; i < count; ++i) {
if (writes[i].end.len > 0) {
@@ -4801,7 +4799,10 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
break;
}
}
if (allPointWrites) {
#else
bool allPointWrites = false;
#endif
if (allPointWrites && count > 1) {
interleavedPointWrites(writes, count, InternalVersionT(writeVersion));
} else {
for (int i = 0; i < count; ++i) {