* src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
authoredwin <none@none>
Thu, 13 Apr 2006 16:58:05 +0000 (16:58 +0000)
committeredwin <none@none>
Thu, 13 Apr 2006 16:58:05 +0000 (16:58 +0000)
* src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.

* src/vm/linker.c (link_class): Use rt-timing for measuring link time.

* src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
ENABLE_RT_TIMING.

src/cacaoh/Makefile.am
src/vm/jit/jit.c
src/vm/linker.c
src/vm/rt-timing.h

index 0340ef40a782395ff38e96b0b96d41c7406228b5..e5f9b0c4aa6f8bf85b0f7b6e09ed2dc7ae47e887 100644 (file)
@@ -28,7 +28,7 @@
 ##
 ## Changes:
 ##
-## $Id: Makefile.am 4627 2006-03-16 12:53:32Z twisti $
+## $Id: Makefile.am 4768 2006-04-13 16:58:05Z edwin $
 
 ## Process this file with automake to produce Makefile.in
 
@@ -50,6 +50,10 @@ THREAD_LIB = $(top_builddir)/src/threads/green/libthreads.la
 endif
 endif
 
+if ENABLE_RT_TIMING
+cacaoh_LDFLAGS = -lrt
+endif
+
 noinst_LTLIBRARIES = libcacaoh.la
 
 libcacaoh_la_SOURCES = \
index 1691b0db473e60604f597199e0a30d66b5d770d7..40688c373f89b0dc5397d82f8f3d96886d2f73d2 100644 (file)
@@ -31,7 +31,7 @@
             Christian Thalinger
             Christian Ullrich
 
-   $Id: jit.c 4762 2006-04-12 22:20:49Z edwin $
+   $Id: jit.c 4768 2006-04-13 16:58:05Z edwin $
 
 */
 
@@ -1706,17 +1706,15 @@ static u1 *jit_compile_intern(jitdata *jd)
        code->prev = m->code;
        m->code = code;
 
-#if defined(ENABLE_RT_TIMING)
-       rt_timing_time_diff(&time_start,&time_checks,RT_TIMING_JIT_CHECKS);
-       rt_timing_time_diff(&time_checks,&time_parse,RT_TIMING_JIT_PARSE);
-       rt_timing_time_diff(&time_parse,&time_stack,RT_TIMING_JIT_STACK);
-       rt_timing_time_diff(&time_stack,&time_typecheck,RT_TIMING_JIT_TYPECHECK);
-       rt_timing_time_diff(&time_typecheck,&time_loop,RT_TIMING_JIT_LOOP);
-       rt_timing_time_diff(&time_loop,&time_alloc,RT_TIMING_JIT_ALLOC);
-       rt_timing_time_diff(&time_alloc,&time_rplpoints,RT_TIMING_JIT_RPLPOINTS);
-       rt_timing_time_diff(&time_rplpoints,&time_codegen,RT_TIMING_JIT_CODEGEN);
-       rt_timing_time_diff(&time_start,&time_codegen,RT_TIMING_JIT_TOTAL);
-#endif
+       RT_TIMING_TIME_DIFF(time_start,time_checks,RT_TIMING_JIT_CHECKS);
+       RT_TIMING_TIME_DIFF(time_checks,time_parse,RT_TIMING_JIT_PARSE);
+       RT_TIMING_TIME_DIFF(time_parse,time_stack,RT_TIMING_JIT_STACK);
+       RT_TIMING_TIME_DIFF(time_stack,time_typecheck,RT_TIMING_JIT_TYPECHECK);
+       RT_TIMING_TIME_DIFF(time_typecheck,time_loop,RT_TIMING_JIT_LOOP);
+       RT_TIMING_TIME_DIFF(time_loop,time_alloc,RT_TIMING_JIT_ALLOC);
+       RT_TIMING_TIME_DIFF(time_alloc,time_rplpoints,RT_TIMING_JIT_RPLPOINTS);
+       RT_TIMING_TIME_DIFF(time_rplpoints,time_codegen,RT_TIMING_JIT_CODEGEN);
+       RT_TIMING_TIME_DIFF(time_start,time_codegen,RT_TIMING_JIT_TOTAL);
 
        /* return pointer to the methods entry point */
 
index ca67efbf9c9d4679634716c393176c36482154d2..42d6db75e1ff9fe2754b6811f6858b8ff2333cd0 100644 (file)
@@ -32,7 +32,7 @@
             Edwin Steiner
             Christian Thalinger
 
-   $Id: linker.c 4690 2006-03-27 11:37:46Z twisti $
+   $Id: linker.c 4768 2006-04-13 16:58:05Z edwin $
 
 */
 
@@ -55,6 +55,7 @@
 #include "vm/statistics.h"
 #include "vm/stringlocal.h"
 #include "vm/access.h"
+#include "vm/rt-timing.h"
 
 
 /* global variables ***********************************************************/
@@ -357,6 +358,11 @@ static bool link_primitivetype_table(void)
 classinfo *link_class(classinfo *c)
 {
        classinfo *r;
+#if defined(ENABLE_RT_TIMING)
+       struct timespec time_start, time_end;
+#endif
+
+       RT_TIMING_GET_TIME(time_start);
 
        if (!c) {
                exceptions_throw_nullpointerexception();
@@ -414,6 +420,10 @@ classinfo *link_class(classinfo *c)
        builtin_monitorexit((java_objectheader *) c);
 #endif
 
+       RT_TIMING_GET_TIME(time_end);
+
+       RT_TIMING_TIME_DIFF(time_start,time_end,RT_TIMING_LINK_TOTAL);
+
        return r;
 }
 
index d289df223b3b2ab4da14d2bcb97973a7b8d4dc82..0541232427f20b96fa418c522adfa95721209f78 100644 (file)
@@ -48,6 +48,9 @@
 #define RT_TIMING_GET_TIME(ts) \
        rt_timing_gettime(&(ts));
 
+#define RT_TIMING_TIME_DIFF(a,b,index) \
+       rt_timing_time_diff(&(a),&(b),(index));
+
 #define RT_TIMING_JIT_CHECKS     0
 #define RT_TIMING_JIT_PARSE      1
 #define RT_TIMING_JIT_STACK      2
@@ -70,6 +73,7 @@ void rt_timing_print_time_stats(FILE *file);
 #else /* !defined(ENABLE_RT_TIMING) */
 
 #define RT_TIMING_GET_TIME(ts)
+#define RT_TIMING_TIME_DIFF(a,b,index)
 
 #endif /* defined(ENABLE_RT_TIMING) */