[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
profiling
ちょっと profile できるようにしてみました。
いくつかの syscall がまだ _PROF_PROLOGUE していませんが、
こんなもので使えるでしょうか。(ちゃんとつかったことないもので)
*** /usr/include/powerpc/asm.h Wed Dec 2 23:31:23 1998
--- include/asm.h Thu Feb 25 00:56:22 1999
***************
*** 63,69 ****
.text; .align 2; .globl x; .type x,@function; x:
#ifdef GPROF
! # define _PROF_PROLOGUE XXX
#else
# define _PROF_PROLOGUE
#endif
--- 63,69 ----
.text; .align 2; .globl x; .type x,@function; x:
#ifdef GPROF
! # define _PROF_PROLOGUE mflr 0; stw 0,4(1); bl _mcount
#else
# define _PROF_PROLOGUE
#endif
*** /usr/include/powerpc/profile.h Thu Apr 17 20:19:59 1997
--- include/profile.h Thu Feb 25 00:48:57 1999
***************
*** 2,10 ****
#define _MCOUNT_DECL void mcount
! /* XXX implement XXX */
!
! #define MCOUNT
#ifdef _KERNEL
#define MCOUNT_ENTER
--- 2,39 ----
#define _MCOUNT_DECL void mcount
! #define MCOUNT __asm(" \
! .globl _mcount; \
! _mcount: \
! stwu 1,-64(1); \
! stw 3,16(1); \
! stw 4,20(1); \
! stw 5,24(1); \
! stw 6,28(1); \
! stw 7,32(1); \
! stw 8,36(1); \
! stw 9,40(1); \
! stw 10,44(1); \
! \
! mflr 4; \
! stw 4,48(1); \
! lwz 3,68(1); \
! bl mcount; \
! lwz 4,48(1); \
! mtctr 4; \
! lwz 3,68(1); \
! mtlr 3; \
! \
! lwz 3,16(1); \
! lwz 4,20(1); \
! lwz 5,24(1); \
! lwz 6,28(1); \
! lwz 7,32(1); \
! lwz 8,36(1); \
! lwz 9,40(1); \
! lwz 10,44(1); \
! addi 1,1,64; \
! bctr; ");
#ifdef _KERNEL
#define MCOUNT_ENTER