Stop applying flatten attribute
Some checks failed
Tests / Clang total: 4588, passed: 4588
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / 64 bit versions total: 4588, passed: 4588
Tests / Debug total: 4586, passed: 4586
Tests / SIMD fallback total: 4588, passed: 4588
Tests / Release [gcc] total: 4588, passed: 4588
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 3415, passed: 3415
Tests / Coverage total: 3449, passed: 3449
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 96.70% (2049/2119)
* Branch Coverage: 60.78% (1711/2815)
* Complexity Density: 0.00
* Lines of Code: 2119
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
Some checks failed
Tests / Clang total: 4588, passed: 4588
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / 64 bit versions total: 4588, passed: 4588
Tests / Debug total: 4586, passed: 4586
Tests / SIMD fallback total: 4588, passed: 4588
Tests / Release [gcc] total: 4588, passed: 4588
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 3415, passed: 3415
Tests / Coverage total: 3449, passed: 3449
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 96.70% (2049/2119)
* Branch Coverage: 60.78% (1711/2815)
* Complexity Density: 0.00
* Lines of Code: 2119
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
This blows up the code size too much. I wonder if having all those distinct possible program counters helps libfuzzer /shrug
This commit is contained in:
@@ -2919,12 +2919,6 @@ Node *firstGeqPhysical(Node *n, const std::span<const uint8_t> key) {
|
|||||||
#define PRESERVE_NONE
|
#define PRESERVE_NONE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __has_attribute(flatten)
|
|
||||||
#define FLATTEN __attribute__((flatten))
|
|
||||||
#else
|
|
||||||
#define FLATTEN
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef PRESERVE_NONE void (*Continuation)(struct CheckJob *,
|
typedef PRESERVE_NONE void (*Continuation)(struct CheckJob *,
|
||||||
struct CheckContext *);
|
struct CheckContext *);
|
||||||
|
|
||||||
@@ -2968,7 +2962,7 @@ struct CheckContext {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void keepGoing(CheckJob *job, CheckContext *context) {
|
PRESERVE_NONE void keepGoing(CheckJob *job, CheckContext *context) {
|
||||||
#if __has_attribute(musttail)
|
#if __has_attribute(musttail)
|
||||||
job = job->next;
|
job = job->next;
|
||||||
MUSTTAIL return job->continuation(job, context);
|
MUSTTAIL return job->continuation(job, context);
|
||||||
@@ -2978,7 +2972,7 @@ FLATTEN PRESERVE_NONE void keepGoing(CheckJob *job, CheckContext *context) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void complete(CheckJob *job, CheckContext *context) {
|
PRESERVE_NONE void complete(CheckJob *job, CheckContext *context) {
|
||||||
if (context->started == context->count) {
|
if (context->started == context->count) {
|
||||||
if (job->prev == job) {
|
if (job->prev == job) {
|
||||||
#if !__has_attribute(musttail)
|
#if !__has_attribute(musttail)
|
||||||
@@ -2999,12 +2993,11 @@ FLATTEN PRESERVE_NONE void complete(CheckJob *job, CheckContext *context) {
|
|||||||
|
|
||||||
namespace check_point_read_state_machine {
|
namespace check_point_read_state_machine {
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
template <class NodeT>
|
template <class NodeT> PRESERVE_NONE void iter(CheckJob *, CheckContext *);
|
||||||
FLATTEN PRESERVE_NONE void iter(CheckJob *, CheckContext *);
|
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void down_left_spine(CheckJob *, CheckContext *);
|
PRESERVE_NONE void down_left_spine(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
static Continuation iterTable[] = {iter<Node0>, iter<Node3>, iter<Node16>,
|
static Continuation iterTable[] = {iter<Node0>, iter<Node3>, iter<Node16>,
|
||||||
iter<Node48>, iter<Node256>};
|
iter<Node48>, iter<Node256>};
|
||||||
@@ -3132,12 +3125,11 @@ void down_left_spine(CheckJob *job, CheckContext *context) {
|
|||||||
|
|
||||||
namespace check_prefix_read_state_machine {
|
namespace check_prefix_read_state_machine {
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
template <class NodeT>
|
template <class NodeT> PRESERVE_NONE void iter(CheckJob *, CheckContext *);
|
||||||
FLATTEN PRESERVE_NONE void iter(CheckJob *, CheckContext *);
|
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void down_left_spine(CheckJob *, CheckContext *);
|
PRESERVE_NONE void down_left_spine(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
static Continuation iterTable[] = {iter<Node0>, iter<Node3>, iter<Node16>,
|
static Continuation iterTable[] = {iter<Node0>, iter<Node3>, iter<Node16>,
|
||||||
iter<Node48>, iter<Node256>};
|
iter<Node48>, iter<Node256>};
|
||||||
@@ -3259,12 +3251,12 @@ void down_left_spine(CheckJob *job, CheckContext *context) {
|
|||||||
} // namespace check_prefix_read_state_machine
|
} // namespace check_prefix_read_state_machine
|
||||||
|
|
||||||
namespace check_range_read_state_machine {
|
namespace check_range_read_state_machine {
|
||||||
FLATTEN PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
PRESERVE_NONE void begin(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
template <class NodeT>
|
template <class NodeT>
|
||||||
FLATTEN PRESERVE_NONE void common_prefix_iter(CheckJob *, CheckContext *);
|
PRESERVE_NONE void common_prefix_iter(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void done_common_prefix_iter(CheckJob *, CheckContext *);
|
PRESERVE_NONE void done_common_prefix_iter(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
static Continuation commonPrefixIterTable[] = {
|
static Continuation commonPrefixIterTable[] = {
|
||||||
common_prefix_iter<Node0>, common_prefix_iter<Node3>,
|
common_prefix_iter<Node0>, common_prefix_iter<Node3>,
|
||||||
@@ -3272,18 +3264,17 @@ static Continuation commonPrefixIterTable[] = {
|
|||||||
common_prefix_iter<Node256>};
|
common_prefix_iter<Node256>};
|
||||||
|
|
||||||
template <class NodeT>
|
template <class NodeT>
|
||||||
FLATTEN PRESERVE_NONE void left_side_iter(CheckJob *, CheckContext *);
|
PRESERVE_NONE void left_side_iter(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void left_side_down_left_spine(CheckJob *,
|
PRESERVE_NONE void left_side_down_left_spine(CheckJob *, CheckContext *);
|
||||||
CheckContext *);
|
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void done_left_side_iter(CheckJob *, CheckContext *);
|
PRESERVE_NONE void done_left_side_iter(CheckJob *, CheckContext *);
|
||||||
|
|
||||||
static Continuation leftSideIterTable[] = {
|
static Continuation leftSideIterTable[] = {
|
||||||
left_side_iter<Node0>, left_side_iter<Node3>, left_side_iter<Node16>,
|
left_side_iter<Node0>, left_side_iter<Node3>, left_side_iter<Node16>,
|
||||||
left_side_iter<Node48>, left_side_iter<Node256>};
|
left_side_iter<Node48>, left_side_iter<Node256>};
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void begin(CheckJob *job, CheckContext *context) {
|
PRESERVE_NONE void begin(CheckJob *job, CheckContext *context) {
|
||||||
job->lcp = longestCommonPrefix(job->begin.data(), job->end.data(),
|
job->lcp = longestCommonPrefix(job->begin.data(), job->end.data(),
|
||||||
std::min(job->begin.size(), job->end.size()));
|
std::min(job->begin.size(), job->end.size()));
|
||||||
if (job->lcp == int(job->begin.size()) &&
|
if (job->lcp == int(job->begin.size()) &&
|
||||||
@@ -3355,7 +3346,7 @@ void common_prefix_iter(CheckJob *job, CheckContext *context) {
|
|||||||
MUSTTAIL return keepGoing(job, context);
|
MUSTTAIL return keepGoing(job, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void done_common_prefix_iter(CheckJob *job,
|
PRESERVE_NONE void done_common_prefix_iter(CheckJob *job,
|
||||||
CheckContext *context) {
|
CheckContext *context) {
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -3454,8 +3445,7 @@ FLATTEN PRESERVE_NONE void done_common_prefix_iter(CheckJob *job,
|
|||||||
// Return true if the max version among all keys that start with key[:prefixLen]
|
// Return true if the max version among all keys that start with key[:prefixLen]
|
||||||
// that are >= key is <= readVersion
|
// that are >= key is <= readVersion
|
||||||
template <class NodeT>
|
template <class NodeT>
|
||||||
FLATTEN PRESERVE_NONE void left_side_iter(CheckJob *job,
|
PRESERVE_NONE void left_side_iter(CheckJob *job, CheckContext *context) {
|
||||||
CheckContext *context) {
|
|
||||||
assert(NodeT::kType == job->n->getType());
|
assert(NodeT::kType == job->n->getType());
|
||||||
NodeT *n = static_cast<NodeT *>(job->n);
|
NodeT *n = static_cast<NodeT *>(job->n);
|
||||||
|
|
||||||
@@ -3570,8 +3560,7 @@ FLATTEN PRESERVE_NONE void left_side_iter(CheckJob *job,
|
|||||||
MUSTTAIL return keepGoing(job, context);
|
MUSTTAIL return keepGoing(job, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
FLATTEN PRESERVE_NONE void done_left_side_iter(CheckJob *job,
|
PRESERVE_NONE void done_left_side_iter(CheckJob *job, CheckContext *context) {
|
||||||
CheckContext *context) {
|
|
||||||
|
|
||||||
job->setResult(checkRangeRightSide(job->commonPrefixNode, job->end,
|
job->setResult(checkRangeRightSide(job->commonPrefixNode, job->end,
|
||||||
job->lcp + 1, job->readVersion,
|
job->lcp + 1, job->readVersion,
|
||||||
|
Reference in New Issue
Block a user