Example #1
0
static void
old_tags(BI_NODE * a)
{
    beginDisplay();
    FreeIfNeeded(BI_KEY(a));
    FreeIfNeeded(TYPECAST(char, a));
    endofDisplay();
}
Example #2
0
static void
old_elapsed(BI_NODE * a)
{
    beginDisplay();
    if (a != 0) {
	FreeIfNeeded(BI_KEY(a));
	FreeIfNeeded(a->value.data);
	free(a);
    }
    endofDisplay();
}
Example #3
0
/*ARGSUSED*/
static void
dpy_elapsed(BI_NODE * a, int level GCC_UNUSED)
{
    BI_DATA *p = &(a->value);
    ELAPSED_DATA *q = p->data;

    Trace("\t%-24s\t%f / %5ld = %g\n",
	  BI_KEY(a),
	  q->total_time,
	  q->total_calls,
	  q->total_time / q->total_calls);
}
Example #4
0
static BI_NODE *
new_tags(BI_DATA * a)
{
    BI_NODE *p;

    beginDisplay();
    if ((p = typecalloc(BI_NODE)) != 0) {
	p->value = *a;
	if ((BI_KEY(p) = strmalloc(a->bi_key)) == 0) {
	    old_tags(p);
	    p = 0;
	}
    }
    endofDisplay();

    return p;
}
Example #5
0
static BI_NODE *
new_elapsed(BI_DATA * a)
{
    BI_NODE *p;

    beginDisplay();
    if ((p = typecalloc(BI_NODE)) != 0) {
	BI_DATA *q = &(p->value);
	if ((BI_KEY(p) = strmalloc(a->bi_key)) == 0
	    || (q->data = typecalloc(ELAPSED_DATA)) == 0) {
	    old_elapsed(p);
	    p = 0;
	}
    }
    endofDisplay();

    return p;
}
Example #6
0
	    p = 0;
	}
    }
    endofDisplay();

    return p;
}

/*ARGSUSED*/
static void
dpy_tags(BI_NODE * a GCC_UNUSED, int level GCC_UNUSED)
{
#if OPT_TRACE
    while (level-- > 0)
	TRACE((". "));
    TRACE(("%s (%d)\n", BI_KEY(a), a->balance));
#endif
}

static void
xcg_tags(BI_NODE * a, BI_NODE * b)
{
    BI_DATA temp = a->value;
    a->value = b->value;
    b->value = temp;
}

#define BI_DATA0 {{0}, 0, {0}}
#define BI_TREE0 0, 0, BI_DATA0
static BI_TREE tags_tree =
{new_tags, old_tags, dpy_tags, xcg_tags, BI_TREE0};