Instrumenting execution times in kaffe

Samarjeet S Tomar kaffe@rufus.w3.org
Fri, 18 Jun 1999 17:24:10 -0400 (EDT)


We are trying to instrument the timing of the execution of compiled code
in each method.

Is it possible to insert timing functions to measure the time of compiled code.
Currently, the instruction " mov     %g1,%i7                         \n" makes it difficult to
achieve this (routine never returns after the jmp call to compiled codei (%o0))

asm(
        START_ASM_FUNC() C_FUNC_NAME(sparc_do_fixup_trampoline) "\n"
C_FUNC_NAME(sparc_do_fixup_trampoline) ":                       \n
        add   %sp,-8,%sp \n
        st    %g1, [%sp+4] \n
        save    %sp,-64,%sp                                     \n
        ld      [%i7+8],%o0                     \n
        call    " C_FUNC_NAME(fixupTrampoline) "                \n
        mov     %g1,%i7                         \n
     => BEGIN TIMING FUNCTION
       jmp %o0                                                 \n
     => END TIMING FUNCTION
        restore \n
        nop "
        END_ASM_FUNC()
);

We are running this on a Solaris 2.6 platform