Home | History | Annotate | Download | only in protobuf_c

Lines Matching refs:tarjan

3149   upb_inttable stack;   /* stack of upb_refcounted* for Tarjan's algorithm. */
3153 } tarjan;
3166 GREEN, /* Object is reachable and is currently on the Tarjan stack. */
3170 UPB_NORETURN static void err(tarjan *t) { longjmp(t->err, 1); }
3171 UPB_NORETURN static void oom(tarjan *t) {
3176 static uint64_t trygetattr(const tarjan *t, const upb_refcounted *r) {
3182 static uint64_t getattr(const tarjan *t, const upb_refcounted *r) {
3189 static void setattr(tarjan *t, const upb_refcounted *r, uint64_t attr) {
3194 static color_t color(tarjan *t, const upb_refcounted *r) {
3198 static void set_gray(tarjan *t, const upb_refcounted *r) {
3203 /* Pushes an obj onto the Tarjan stack and sets it to GREEN. */
3204 static void push(tarjan *t, const upb_refcounted *r) {
3216 /* Pops an obj from the Tarjan stack and sets it to WHITE, with a ptr to its
3218 static upb_refcounted *pop(tarjan *t) {
3227 static void tarjan_newgroup(tarjan *t) {
3239 static uint32_t idx(tarjan *t, const upb_refcounted *r) {
3244 static uint32_t lowlink(tarjan *t, const upb_refcounted *r) {
3252 static void set_lowlink(tarjan *t, const upb_refcounted *r, uint32_t lowlink) {
3257 static uint32_t *group(tarjan *t, upb_refcounted *r) {
3271 static upb_refcounted *groupleader(tarjan *t, upb_refcounted *r) {
3290 /* Tarjan's algorithm --------------------------------------------------------*/
3293 * http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm */
3294 static void do_tarjan(const upb_refcounted *obj, tarjan *t);
3299 tarjan *t = closure;
3317 static void do_tarjan(const upb_refcounted *obj, tarjan *t) {
3338 tarjan *t = _t;
3356 tarjan t;
3516 * ftp://www.ncedc.org/outgoing/geomorph/dino/orals/p245-tarjan.pdf */