1 /* 2 Copyright (c) 1998--2006 Benhur Stein 3 4 This file is part of Paj�. 5 6 Paj� is free software; you can redistribute it and/or modify it under 7 the terms of the GNU Lesser General Public License as published by the 8 Free Software Foundation; either version 2 of the License, or (at your 9 option) any later version. 10 11 Paj� is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 14 for more details. 15 16 You should have received a copy of the GNU Lesser General Public License 17 along with Paj�; if not, write to the Free Software Foundation, Inc., 18 51 Franklin Street, Fifth Floor, Boston, MA 02111 USA. 19 */ 20 21 22 ////////////////////////////////////////////////// 23 /* Author: Geovani Ricardo Wiedenhoft */ 24 /* Email: grw@inf.ufsm.br */ 25 ////////////////////////////////////////////////// 26 27 28 #ifndef _JRASTRO_H_ 29 #define _JRASTRO_H_ 30 31 #include <stdio.h> 32 #include <stdlib.h> 33 #include <string.h> 34 #include <jvmti.h> 35 #include <jni.h> 36 #include <stdbool.h> 37 38 #include "hash.h" 39 #include "list.h" 40 #include "JRastro_rastros.h" 41 #include "JRastro_basic.h" 42 #include "JRastro_traces.h" 43 #include "JRastro_events.h" 44 #include "JRastro_thread.h" 45 #include "JRastro_hash_func.h" 46 #include "JRastro_list_func.h" 47 #include "JRastro_options.h" 48 #include "JRastro_paje.h" 49 #include "JRastro_java_crw_demo.h" 50 #include "JRastro_classfile_constants.h" 51 52 53 #define CLASS_NAME "org/lsc/JRastro/Instru" 54 #define CLASS_SIG "Lorg/lsc/JRastro/Instru;" 55 //#define CLASS_NAME "sun/tools/hprof/Tracker" 56 //#define CLASS_SIG "Lsun/tools/hprof/Tracker;" 57 58 #define CALL_NAME "CallSite" 59 #define CALL_SIG "(Ljava/lang/Object;I)V" 60 61 #define CALL_STATIC_NAME "CallStaticSite" 62 #define CALL_STATIC_SIG "(I)V" 63 64 #define RETURN_NAME "ReturnSite" 65 #define RETURN_SIG "()V" 66 //#define RETURN_SIG "(I)V" 67 68 #define RETURN_MAIN_NAME "ReturnSite" 69 //#define RETURN_MAIN_NAME "ReturnMain" 70 #define RETURN_MAIN_SIG "()V" 71 //#define RETURN_MAIN_SIG "(I)V" 72 73 /*Caso necessite rastrear OBJECT_INIT comente o NULL, e * 74 * coloque as outras linhas */ 75 //#define OBJECT_INIT_NAME NULL 76 //#define OBJECT_INIT_SIG NULL 77 #define OBJECT_INIT_NAME "ObjectInit" 78 #define OBJECT_INIT_SIG "(Ljava/lang/Object;)V" 79 80 /*Caso necessite rastrear NEWARRAY comente o NULL, e * 81 * coloque as outras linhas */ 82 //#define NEWARRAY_NAME NULL 83 //#define NEWARRAY_SIG NULL 84 #define NEWARRAY_NAME "NewArray" 85 #define NEWARRAY_SIG "(Ljava/lang/Object;)V" 86 87 #endif /*_JRASTRO_H_*/ 88