Lines Matching refs:State
15 constexpr unsigned long long mask(BlockVerifier::State S) { in mask()
19 constexpr std::size_t number(BlockVerifier::State S) { in number()
23 StringRef recordToString(BlockVerifier::State R) { in recordToString()
25 case BlockVerifier::State::BufferExtents: in recordToString()
27 case BlockVerifier::State::NewBuffer: in recordToString()
29 case BlockVerifier::State::WallClockTime: in recordToString()
31 case BlockVerifier::State::PIDEntry: in recordToString()
33 case BlockVerifier::State::NewCPUId: in recordToString()
35 case BlockVerifier::State::TSCWrap: in recordToString()
37 case BlockVerifier::State::CustomEvent: in recordToString()
39 case BlockVerifier::State::Function: in recordToString()
41 case BlockVerifier::State::CallArg: in recordToString()
43 case BlockVerifier::State::EndOfBuffer: in recordToString()
45 case BlockVerifier::State::TypedEvent: in recordToString()
47 case BlockVerifier::State::StateMax: in recordToString()
48 case BlockVerifier::State::Unknown: in recordToString()
55 BlockVerifier::State From;
56 std::bitset<number(BlockVerifier::State::StateMax)> ToStates;
61 Error BlockVerifier::transition(State To) { in transition()
62 using ToSet = std::bitset<number(State::StateMax)>; in transition()
63 static constexpr std::array<const Transition, number(State::StateMax)> in transition()
64 TransitionTable{{{State::Unknown, in transition()
65 {mask(State::BufferExtents) | mask(State::NewBuffer)}}, in transition()
67 {State::BufferExtents, {mask(State::NewBuffer)}}, in transition()
69 {State::NewBuffer, {mask(State::WallClockTime)}}, in transition()
71 {State::WallClockTime, in transition()
72 {mask(State::PIDEntry) | mask(State::NewCPUId)}}, in transition()
74 {State::PIDEntry, {mask(State::NewCPUId)}}, in transition()
76 {State::NewCPUId, in transition()
77 {mask(State::NewCPUId) | mask(State::TSCWrap) | in transition()
78 mask(State::CustomEvent) | mask(State::Function) | in transition()
79 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
81 {State::TSCWrap, in transition()
82 {mask(State::TSCWrap) | mask(State::NewCPUId) | in transition()
83 mask(State::CustomEvent) | mask(State::Function) | in transition()
84 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
86 {State::CustomEvent, in transition()
87 {mask(State::CustomEvent) | mask(State::TSCWrap) | in transition()
88 mask(State::NewCPUId) | mask(State::Function) | in transition()
89 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
91 {State::TypedEvent, in transition()
92 {mask(State::TypedEvent) | mask(State::TSCWrap) | in transition()
93 mask(State::NewCPUId) | mask(State::Function) | in transition()
94 mask(State::EndOfBuffer) | mask(State::CustomEvent)}}, in transition()
96 {State::Function, in transition()
97 {mask(State::Function) | mask(State::TSCWrap) | in transition()
98 mask(State::NewCPUId) | mask(State::CustomEvent) | in transition()
99 mask(State::CallArg) | mask(State::EndOfBuffer) | in transition()
100 mask(State::TypedEvent)}}, in transition()
102 {State::CallArg, in transition()
103 {mask(State::CallArg) | mask(State::Function) | in transition()
104 mask(State::TSCWrap) | mask(State::NewCPUId) | in transition()
105 mask(State::CustomEvent) | mask(State::EndOfBuffer) | in transition()
106 mask(State::TypedEvent)}}, in transition()
108 {State::EndOfBuffer, {}}}}; in transition()
110 if (CurrentRecord >= State::StateMax) in transition()
119 if (CurrentRecord == State::EndOfBuffer && To != State::NewBuffer) in transition()
137 return transition(State::BufferExtents); in visit()
141 return transition(State::WallClockTime); in visit()
145 return transition(State::NewCPUId); in visit()
149 return transition(State::TSCWrap); in visit()
153 return transition(State::CustomEvent); in visit()
157 return transition(State::CustomEvent); in visit()
161 return transition(State::TypedEvent); in visit()
165 return transition(State::CallArg); in visit()
168 Error BlockVerifier::visit(PIDRecord &) { return transition(State::PIDEntry); } in visit()
171 return transition(State::NewBuffer); in visit()
175 return transition(State::EndOfBuffer); in visit()
179 return transition(State::Function); in visit()
185 case State::EndOfBuffer: in verify()
186 case State::NewCPUId: in verify()
187 case State::CustomEvent: in verify()
188 case State::TypedEvent: in verify()
189 case State::Function: in verify()
190 case State::CallArg: in verify()
191 case State::TSCWrap: in verify()
201 void BlockVerifier::reset() { CurrentRecord = State::Unknown; } in reset()