/* src/vm/statistics.h - exports global varables for statistics
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
- C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
- E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
- J. Wenninger, Institut f. Computersprachen - TU Wien
+ Copyright (C) 1996-2005, 2006, 2007, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Christian Thalinger
-
- Changes:
-
- $Id: statistics.h 4357 2006-01-22 23:33:38Z twisti $
-
*/
#define _STATISTICS_H
#include "config.h"
+
+#include <stdint.h>
+
#include "vm/types.h"
#include "vm/global.h"
extern s4 globalallocateddumpsize;
extern s4 globaluseddumpsize;
-extern int count_class_infos; /* variables for measurements */
+
+/* variables for measurements *************************************************/
+
+extern s4 size_classinfo;
+extern s4 size_fieldinfo;
+extern s4 size_methodinfo;
+extern s4 size_lineinfo;
+extern s4 size_codeinfo;
+
+extern s4 size_stub_native;
+
+extern s4 size_stack_map;
+extern s4 size_string;
+
+extern s4 size_threadobject;
+extern int32_t size_thread_index_t;
+extern int32_t size_stacksize;
+
+extern s4 size_lock_record;
+extern s4 size_lock_hashtable;
+extern s4 size_lock_waiter;
+
+extern int32_t count_linenumbertable;
+extern int32_t size_linenumbertable;
+
+extern s4 size_patchref;
+
+extern s4 size_cachedref;
+
+extern u8 count_calls_java_to_native;
+extern u8 count_calls_native_to_java;
+
extern int count_const_pool_len;
extern int count_classref_len;
extern int count_parsed_desc_len;
extern int count_jit_calls;
extern int count_methods;
-extern int count_spills;
-extern int count_spills_read;
+extern int count_spills_read_ila;
+extern int count_spills_read_flt;
+extern int count_spills_read_dbl;
+extern int count_spills_write_ila;
+extern int count_spills_write_flt;
+extern int count_spills_write_dbl;
extern int count_pcmd_activ;
extern int count_pcmd_drop;
extern int count_pcmd_zero;
extern int count_code_len;
extern int count_data_len;
extern int count_cstub_len;
-extern int count_nstub_len;
extern int count_max_new_stack;
extern int count_upper_bound_new_stack;
+
+extern int count_emit_branch;
+extern int count_emit_branch_8bit;
+extern int count_emit_branch_16bit;
+extern int count_emit_branch_32bit;
+extern int count_emit_branch_64bit;
+
+extern s4 count_branches_resolved;
+extern s4 count_branches_unresolved;
+
extern int *count_block_stack;
extern int *count_analyse_iterations;
extern int *count_method_bb_distribution;
void print_times(void);
void print_stats(void);
-void mem_usagelog(bool givewarnings);
+void statistics_print_date(void);
+void statistics_print_memory_usage(void);
+void statistics_print_gc_memory_usage(void);
+void mem_usagelog(bool givewarnings);
-void nativeinvokation(void);
void compiledinvokation(void);
void jnicallXmethodnvokation(void);
void jniinvokation(void);