P4C
The P4 Compiler
|
Public Types | |
using | ClotField = Resources_Schema_Logger::ClotField |
using | ClotResourceUsage = Resources_Schema_Logger::ClotResourceUsage |
using | ClotUsage = Resources_Schema_Logger::ClotUsage |
Public Member Functions | |
ClotResourcesLogging (const ClotInfo &clotInfo) | |
std::vector< ClotResourceUsage * > | getLoggers () |
Protected Member Functions | |
void | collectClotUsages (const IR::BFN::LoweredParserMatch *match, const IR::BFN::LoweredParserState *state, gress_t gress) |
void | collectExtractClotInfo (const IR::BFN::LoweredExtractClot *extract, const IR::BFN::LoweredParserState *state, gress_t gress) |
void | end_apply () override |
std::vector< ClotUsage * > & | getUsageData (gress_t gress, unsigned tag) |
void | logClotUsages () |
ClotUsage * | logExtractClotInfo (cstring parser_state, bool hasChecksum, int length, int offset, unsigned tag, const Clot *clot) |
bool | preorder (const IR::BFN::LoweredParserState *state) |
bool | usingClots () const |
Protected Attributes | |
const ClotInfo & | clotInfo |
ClotResourceUsage * | clotLogger = nullptr |
std::map< unsigned, unsigned > | clotTagToChecksumUnit |
std::vector< ClotResourceUsage * > | clotUsages = std::vector<ClotResourceUsage *>(2) |
bool | collected = false |
std::vector< std::map< unsigned, std::vector< ClotUsage * > > > | usageData |