43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
|
/****************************************************************
|
||
|
* *
|
||
|
* Copyright 2001, 2011 Fidelity Information Services, Inc *
|
||
|
* *
|
||
|
* This source code contains the intellectual property *
|
||
|
* of its copyright holder(s), and is made available *
|
||
|
* under a license. If you do not know the terms of *
|
||
|
* the license, please stop and do not read further. *
|
||
|
* *
|
||
|
****************************************************************/
|
||
|
|
||
|
/* Print cacheing stats for indirect code */
|
||
|
#include "mdef.h"
|
||
|
|
||
|
#include "gtm_stdio.h"
|
||
|
#include "cache.h"
|
||
|
#include "hashtab_objcode.h"
|
||
|
|
||
|
GBLREF int cache_hits, cache_fails;
|
||
|
GBLREF hash_table_objcode cache_table;
|
||
|
|
||
|
void cache_stats(void)
|
||
|
{
|
||
|
int total_attempts, ace;
|
||
|
ht_ent_objcode *tabent, *topent;
|
||
|
cache_entry *csp;
|
||
|
|
||
|
total_attempts = cache_hits + cache_fails;
|
||
|
FPRINTF(stderr,"\nIndirect code cache performance -- Hits: %d, Fails: %d, Hit Ratio: %d%%\n",
|
||
|
cache_hits, cache_fails, total_attempts ? ((100 * cache_hits) / (cache_hits + cache_fails)) : 0);
|
||
|
ace = 0; /* active cache entries */
|
||
|
for (tabent = cache_table.base, topent = cache_table.top; tabent < topent; tabent++)
|
||
|
{
|
||
|
if (HTENT_VALID_OBJCODE(tabent, cache_entry, csp))
|
||
|
{
|
||
|
if (csp->refcnt || csp->zb_refcnt)
|
||
|
++ace;
|
||
|
}
|
||
|
}
|
||
|
FPRINTF(stderr,"Indirect cache entries currently marked active: %d\n", ace);
|
||
|
}
|
||
|
|