Home | History | Annotate | Download | only in protobuf

Lines Matching refs:tarjan

2990   upb_inttable stack;   /* stack of upb_refcounted* for Tarjan's algorithm. */
2994 } tarjan;
3007 GREEN, /* Object is reachable and is currently on the Tarjan stack. */
3011 UPB_NORETURN static void err(tarjan *t) { longjmp(t->err, 1); }
3012 UPB_NORETURN static void oom(tarjan *t) {
3017 static uint64_t trygetattr(const tarjan *t, const upb_refcounted *r) {
3023 static uint64_t getattr(const tarjan *t, const upb_refcounted *r) {
3030 static void setattr(tarjan *t, const upb_refcounted *r, uint64_t attr) {
3035 static color_t color(tarjan *t, const upb_refcounted *r) {
3039 static void set_gray(tarjan *t, const upb_refcounted *r) {
3044 /* Pushes an obj onto the Tarjan stack and sets it to GREEN. */
3045 static void push(tarjan *t, const upb_refcounted *r) {
3057 /* Pops an obj from the Tarjan stack and sets it to WHITE, with a ptr to its
3059 static upb_refcounted *pop(tarjan *t) {
3068 static void tarjan_newgroup(tarjan *t) {
3080 static uint32_t idx(tarjan *t, const upb_refcounted *r) {
3085 static uint32_t lowlink(tarjan *t, const upb_refcounted *r) {
3093 static void set_lowlink(tarjan *t, const upb_refcounted *r, uint32_t lowlink) {
3098 static uint32_t *group(tarjan *t, upb_refcounted *r) {
3112 static upb_refcounted *groupleader(tarjan *t, upb_refcounted *r) {
3131 /* Tarjan's algorithm --------------------------------------------------------*/
3134 * http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm */
3135 static void do_tarjan(const upb_refcounted *obj, tarjan *t);
3140 tarjan *t = closure;
3158 static void do_tarjan(const upb_refcounted *obj, tarjan *t) {
3179 tarjan *t = _t;
3197 tarjan t;
3357 * ftp://www.ncedc.org/outgoing/geomorph/dino/orals/p245-tarjan.pdf */