Lines Matching full:state
17 constexpr unsigned long long mask(BlockVerifier::State S) { in mask()
21 constexpr std::size_t number(BlockVerifier::State S) { in number()
25 StringRef recordToString(BlockVerifier::State R) { in recordToString()
27 case BlockVerifier::State::BufferExtents: in recordToString()
29 case BlockVerifier::State::NewBuffer: in recordToString()
31 case BlockVerifier::State::WallClockTime: in recordToString()
33 case BlockVerifier::State::PIDEntry: in recordToString()
35 case BlockVerifier::State::NewCPUId: in recordToString()
37 case BlockVerifier::State::TSCWrap: in recordToString()
39 case BlockVerifier::State::CustomEvent: in recordToString()
41 case BlockVerifier::State::Function: in recordToString()
43 case BlockVerifier::State::CallArg: in recordToString()
45 case BlockVerifier::State::EndOfBuffer: in recordToString()
47 case BlockVerifier::State::TypedEvent: in recordToString()
49 case BlockVerifier::State::StateMax: in recordToString()
50 case BlockVerifier::State::Unknown: in recordToString()
53 llvm_unreachable("Unkown state!"); in recordToString()
57 BlockVerifier::State From;
58 std::bitset<number(BlockVerifier::State::StateMax)> ToStates;
63 Error BlockVerifier::transition(State To) { in transition()
64 using ToSet = std::bitset<number(State::StateMax)>; in transition()
65 static constexpr std::array<const Transition, number(State::StateMax)> in transition()
66 TransitionTable{{{State::Unknown, in transition()
67 {mask(State::BufferExtents) | mask(State::NewBuffer)}}, in transition()
69 {State::BufferExtents, {mask(State::NewBuffer)}}, in transition()
71 {State::NewBuffer, {mask(State::WallClockTime)}}, in transition()
73 {State::WallClockTime, in transition()
74 {mask(State::PIDEntry) | mask(State::NewCPUId)}}, in transition()
76 {State::PIDEntry, {mask(State::NewCPUId)}}, in transition()
78 {State::NewCPUId, in transition()
79 {mask(State::NewCPUId) | mask(State::TSCWrap) | in transition()
80 mask(State::CustomEvent) | mask(State::Function) | in transition()
81 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
83 {State::TSCWrap, in transition()
84 {mask(State::TSCWrap) | mask(State::NewCPUId) | in transition()
85 mask(State::CustomEvent) | mask(State::Function) | in transition()
86 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
88 {State::CustomEvent, in transition()
89 {mask(State::CustomEvent) | mask(State::TSCWrap) | in transition()
90 mask(State::NewCPUId) | mask(State::Function) | in transition()
91 mask(State::EndOfBuffer) | mask(State::TypedEvent)}}, in transition()
93 {State::TypedEvent, in transition()
94 {mask(State::TypedEvent) | mask(State::TSCWrap) | in transition()
95 mask(State::NewCPUId) | mask(State::Function) | in transition()
96 mask(State::EndOfBuffer) | mask(State::CustomEvent)}}, in transition()
98 {State::Function, in transition()
99 {mask(State::Function) | mask(State::TSCWrap) | in transition()
100 mask(State::NewCPUId) | mask(State::CustomEvent) | in transition()
101 mask(State::CallArg) | mask(State::EndOfBuffer) | in transition()
102 mask(State::TypedEvent)}}, in transition()
104 {State::CallArg, in transition()
105 {mask(State::CallArg) | mask(State::Function) | in transition()
106 mask(State::TSCWrap) | mask(State::NewCPUId) | in transition()
107 mask(State::CustomEvent) | mask(State::EndOfBuffer) | in transition()
108 mask(State::TypedEvent)}}, in transition()
110 {State::EndOfBuffer, {}}}}; in transition()
112 if (CurrentRecord >= State::StateMax) in transition()
121 if (CurrentRecord == State::EndOfBuffer && To != State::NewBuffer) in transition()
139 return transition(State::BufferExtents); in visit()
143 return transition(State::WallClockTime); in visit()
147 return transition(State::NewCPUId); in visit()
151 return transition(State::TSCWrap); in visit()
155 return transition(State::CustomEvent); in visit()
159 return transition(State::CustomEvent); in visit()
163 return transition(State::TypedEvent); in visit()
167 return transition(State::CallArg); in visit()
170 Error BlockVerifier::visit(PIDRecord &) { return transition(State::PIDEntry); } in visit()
173 return transition(State::NewBuffer); in visit()
177 return transition(State::EndOfBuffer); in visit()
181 return transition(State::Function); in visit()
187 case State::EndOfBuffer: in verify()
188 case State::NewCPUId: in verify()
189 case State::CustomEvent: in verify()
190 case State::TypedEvent: in verify()
191 case State::Function: in verify()
192 case State::CallArg: in verify()
193 case State::TSCWrap: in verify()
203 void BlockVerifier::reset() { CurrentRecord = State::Unknown; } in reset()