gmon.h

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C头文件 代码 · 共 73 行

H
73
字号
    /*	@(#)gmon.h	4.4 (Berkeley) 1/13/83	*/struct phdr {    char	*lpc;    char	*hpc;    int		ncnt;};    /*     *	histogram counters are unsigned shorts (according to the kernel).     */#define	HISTCOUNTER	unsigned short    /*     *	fraction of text space to allocate for histogram counters     *	here, 1/2     */#define	HISTFRACTION	2    /*     *	Fraction of text space to allocate for from hash buckets.     *	The value of HASHFRACTION is based on the minimum number of bytes     *	of separation between two subroutine call points in the object code.     *	Given MIN_SUBR_SEPARATION bytes of separation the value of     *	HASHFRACTION is calculated as:     *     *		HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1);     *     *	For the VAX, the shortest two call sequence is:     *     *		calls	$0,(r0)     *		calls	$0,(r0)     *     *	which is separated by only three bytes, thus HASHFRACTION is      *	calculated as:     *     *		HASHFRACTION = 3 / (2 * 2 - 1) = 1     *     *	Note that the division above rounds down, thus if MIN_SUBR_FRACTION     *	is less than three, this algorithm will not work!     */#define	HASHFRACTION	1    /*     *	percent of text space to allocate for tostructs     *	with a minimum.     */#define ARCDENSITY	2#define MINARCS		50struct tostruct {    char		*selfpc;    long		count;    unsigned short	link;};    /*     *	a raw arc,     *	    with pointers to the calling site and the called site     *	    and a count.     */struct rawarc {    unsigned long	raw_frompc;    unsigned long	raw_selfpc;    long		raw_count;};    /*     *	general rounding functions.     */#define ROUNDDOWN(x,y)	(((x)/(y))*(y))#define ROUNDUP(x,y)	((((x)+(y)-1)/(y))*(y))

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?