hprof_tracker.h revision 0
338N/A/*
338N/A * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
338N/A *
338N/A * Redistribution and use in source and binary forms, with or without
338N/A * modification, are permitted provided that the following conditions
338N/A * are met:
338N/A *
338N/A * - Redistributions of source code must retain the above copyright
338N/A * notice, this list of conditions and the following disclaimer.
338N/A *
338N/A * - Redistributions in binary form must reproduce the above copyright
338N/A * notice, this list of conditions and the following disclaimer in the
338N/A * documentation and/or other materials provided with the distribution.
338N/A *
338N/A * - Neither the name of Sun Microsystems nor the names of its
338N/A * contributors may be used to endorse or promote products derived
338N/A * from this software without specific prior written permission.
338N/A *
338N/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
338N/A * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
338N/A * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
338N/A * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
338N/A * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
338N/A * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
868N/A * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
338N/A * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
338N/A * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
338N/A * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
338N/A * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
338N/A */
338N/A
338N/A#ifndef HPROF_TRACKER_H
338N/A#define HPROF_TRACKER_H
338N/A
338N/A/* The internal qualified classname */
338N/A
338N/A#define OBJECT_CLASS_SIG "Ljava/lang/Object;"
338N/A#define OBJECT_INIT_NAME "<init>"
338N/A#define OBJECT_INIT_SIG "()V"
338N/A
338N/A#define TRACKER_PACKAGE "com/sun/demo/jvmti/hprof"
338N/A#define TRACKER_CLASS_NAME TRACKER_PACKAGE "/Tracker"
338N/A#define TRACKER_CLASS_SIG "L" TRACKER_CLASS_NAME ";"
338N/A
338N/A#define TRACKER_NEWARRAY_NAME "NewArray"
338N/A#define TRACKER_NEWARRAY_SIG "(Ljava/lang/Object;)V"
338N/A#define TRACKER_NEWARRAY_NATIVE_NAME "nativeNewArray"
338N/A#define TRACKER_NEWARRAY_NATIVE_SIG "(Ljava/lang/Object;Ljava/lang/Object;)V"
338N/A
338N/A#define TRACKER_OBJECT_INIT_NAME "ObjectInit"
338N/A#define TRACKER_OBJECT_INIT_SIG "(Ljava/lang/Object;)V"
338N/A#define TRACKER_OBJECT_INIT_NATIVE_NAME "nativeObjectInit"
338N/A#define TRACKER_OBJECT_INIT_NATIVE_SIG "(Ljava/lang/Object;Ljava/lang/Object;)V"
338N/A
338N/A#define TRACKER_CALL_NAME "CallSite"
338N/A#define TRACKER_CALL_SIG "(II)V"
338N/A#define TRACKER_CALL_NATIVE_NAME "nativeCallSite"
338N/A#define TRACKER_CALL_NATIVE_SIG "(Ljava/lang/Object;II)V"
338N/A
338N/A
338N/A#define TRACKER_RETURN_NAME "ReturnSite"
338N/A#define TRACKER_RETURN_SIG "(II)V"
338N/A#define TRACKER_RETURN_NATIVE_NAME "nativeReturnSite"
338N/A#define TRACKER_RETURN_NATIVE_SIG "(Ljava/lang/Object;II)V"
338N/A
338N/A#define TRACKER_ENGAGED_NAME "engaged"
338N/A#define TRACKER_ENGAGED_SIG "I"
338N/A
338N/Avoid tracker_setup_class(void);
338N/Avoid tracker_setup_methods(JNIEnv *env);
338N/Avoid tracker_engage(JNIEnv *env);
338N/Avoid tracker_disengage(JNIEnv *env);
338N/Ajboolean tracker_method(jmethodID method);
338N/A
338N/A#endif
338N/A