ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
#include <Dot.h>
Classes | |
class | Link |
class | Node |
Public Member Functions | |
ValueOperationTraceGraphStreamer (const std::string &file, const std::string &depfile) | |
~ValueOperationTraceGraphStreamer () | |
void | defineNode (const void *id, const std::string &name) |
void | undefineNode (const void *id) |
void | link (const void *dst, std::initializer_list< const void * > sources, const char *label=0) |
void | close () |
void | flush () |
const std::unordered_set< std::pair< const void *, const void * > > & | staticDependencies () const |
Public Attributes | |
bool | enable_default_graph_streaming_ |
set to false to disable the streaming of variable dependencies over time. More... | |
std::function< void(Node *)> | setCurrentNodeAttr |
std::function< void(Link *, Node *, Node *const *, size_t, std::initializer_list< const void * > &, const char *)> | setCurrentLinkAttr |
std::function< void(Link *, const etiss::ExpandingNativeStack< Link *, 1000 > &)> | setMetaLinkAttr |
std::function< void(const etiss::ExpandingNativeStack< Link *, 1000 > &)> | custWritePath |
std::function< bool(const etiss::ExpandingNativeStack< Link *, 1000 > &)> | hidePath |
Private Member Functions | |
void | writePath () |
void | traverse (Node *n) |
Node * | openDestNode (const void *const dst, Node *&cleanup) |
Node * | openSourceNode (const void *const src) |
Private Attributes | |
etiss::ExpandingNativeStack< Link *, 1000 > | path |
uint64_t | nnodeid_ |
etiss::FixedSizeHashMap< Node *, uint64_t, etiss::pointerHash< const void > > | nodeToTmpId_ |
etiss::FixedSizeHashMap< const void *, Node *, etiss::pointerHash< const void > > | currentnodes_ |
etiss::FixedSizeHashMap< const void *, std::string, etiss::pointerHash< const void > > | nodes_ |
std::unordered_set< std::pair< const void *, const void * > > | dependencies_ |
std::ofstream | out |
std::ofstream | depout |
etiss::ObjectPool< Node > | node_alloc_ |
etiss::ObjectPool< Link > | link_alloc_ |
char | out_buf [256 *256] |
char | depout_buf [256 *256] |
bool | closed_ |
etiss::interfaces::dot::ValueOperationTraceGraphStreamer::ValueOperationTraceGraphStreamer | ( | const std::string & | file, |
const std::string & | depfile | ||
) |
Definition at line 331 of file Dot.cpp.
References closed_, dependencies_, depout, depout_buf, enable_default_graph_streaming_, out, and out_buf.
etiss::interfaces::dot::ValueOperationTraceGraphStreamer::~ValueOperationTraceGraphStreamer | ( | ) |
void etiss::interfaces::dot::ValueOperationTraceGraphStreamer::close | ( | ) |
void etiss::interfaces::dot::ValueOperationTraceGraphStreamer::defineNode | ( | const void * | id, |
const std::string & | name | ||
) |
void etiss::interfaces::dot::ValueOperationTraceGraphStreamer::flush | ( | ) |
void etiss::interfaces::dot::ValueOperationTraceGraphStreamer::link | ( | const void * | dst, |
std::initializer_list< const void * > | sources, | ||
const char * | label = 0 |
||
) |
Definition at line 444 of file Dot.cpp.
References closed_, etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::find(), likely, link_alloc_, etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Node::links_in, etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Node::links_out, nodes_, openDestNode(), openSourceNode(), setCurrentLinkAttr, etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Link::setLabel(), traverse(), and unlikely.
|
private |
Definition at line 410 of file Dot.cpp.
References currentnodes_, node_alloc_, and setCurrentNodeAttr.
Referenced by link().
|
private |
Definition at line 391 of file Dot.cpp.
References currentnodes_, node_alloc_, and setCurrentNodeAttr.
Referenced by link().
const std::unordered_set< std::pair< const void *, const void * > > & etiss::interfaces::dot::ValueOperationTraceGraphStreamer::staticDependencies | ( | ) | const |
Definition at line 718 of file Dot.cpp.
References dependencies_.
|
private |
Definition at line 602 of file Dot.cpp.
References currentnodes_, etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::find(), etiss::interfaces::dot::keepNode(), link_alloc_, etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Node::links_in, etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Node::links_out, node_alloc_, nodes_, nodeToTmpId_, path, and writePath().
Referenced by link(), and undefineNode().
void etiss::interfaces::dot::ValueOperationTraceGraphStreamer::undefineNode | ( | const void * | id | ) |
Definition at line 371 of file Dot.cpp.
References closed_, currentnodes_, etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::erase(), nodes_, and traverse().
|
private |
Definition at line 506 of file Dot.cpp.
References etiss::interfaces::dot::ValueOperationTraceGraphStreamer::Link::attrToString(), custWritePath, dependencies_, depout, enable_default_graph_streaming_, etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::find(), hidePath, link_alloc_, nnodeid_, nodes_, nodeToTmpId_, out, path, and setMetaLinkAttr.
Referenced by traverse().
|
private |
Definition at line 406 of file Dot.h.
Referenced by close(), defineNode(), link(), undefineNode(), and ValueOperationTraceGraphStreamer().
|
private |
Definition at line 380 of file Dot.h.
Referenced by openDestNode(), openSourceNode(), traverse(), and undefineNode().
std::function<void(const etiss::ExpandingNativeStack<Link *, 1000> &)> etiss::interfaces::dot::ValueOperationTraceGraphStreamer::custWritePath |
Definition at line 396 of file Dot.h.
Referenced by writePath().
|
private |
Definition at line 385 of file Dot.h.
Referenced by staticDependencies(), ValueOperationTraceGraphStreamer(), and writePath().
|
private |
Definition at line 388 of file Dot.h.
Referenced by close(), defineNode(), flush(), ValueOperationTraceGraphStreamer(), and writePath().
|
private |
Definition at line 404 of file Dot.h.
Referenced by ValueOperationTraceGraphStreamer().
bool etiss::interfaces::dot::ValueOperationTraceGraphStreamer::enable_default_graph_streaming_ |
set to false to disable the streaming of variable dependencies over time.
in that case only the static dependencies are streamed and custWritePath is used
Definition at line 366 of file Dot.h.
Referenced by ValueOperationTraceGraphStreamer(), and writePath().
std::function<bool(const etiss::ExpandingNativeStack<Link *, 1000> &)> etiss::interfaces::dot::ValueOperationTraceGraphStreamer::hidePath |
Definition at line 397 of file Dot.h.
Referenced by writePath().
|
private |
Definition at line 401 of file Dot.h.
Referenced by link(), traverse(), and writePath().
|
private |
Definition at line 378 of file Dot.h.
Referenced by writePath().
|
private |
Definition at line 400 of file Dot.h.
Referenced by openDestNode(), openSourceNode(), and traverse().
|
private |
Definition at line 383 of file Dot.h.
Referenced by defineNode(), link(), traverse(), undefineNode(), and writePath().
|
private |
Definition at line 379 of file Dot.h.
Referenced by traverse(), and writePath().
|
private |
Definition at line 387 of file Dot.h.
Referenced by close(), flush(), ValueOperationTraceGraphStreamer(), etiss::interfaces::dot::VariableDependencyGraph::write(), and writePath().
|
private |
Definition at line 403 of file Dot.h.
Referenced by ValueOperationTraceGraphStreamer().
|
private |
Definition at line 373 of file Dot.h.
Referenced by traverse(), and writePath().
std::function<void(Node *)> etiss::interfaces::dot::ValueOperationTraceGraphStreamer::setCurrentNodeAttr |
Definition at line 391 of file Dot.h.
Referenced by openDestNode(), and openSourceNode().
std::function<void(Link *, const etiss::ExpandingNativeStack<Link *, 1000> &)> etiss::interfaces::dot::ValueOperationTraceGraphStreamer::setMetaLinkAttr |
Definition at line 395 of file Dot.h.
Referenced by writePath().