/usr/lib/tau/include/Profile/JavaThreadLayer.h is in tau 2.17.3.1.dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /****************************************************************************
** TAU Portable Profiling Package **
** http://www.cs.uoregon.edu/research/tau **
*****************************************************************************
** Copyright 1997 **
** Department of Computer and Information Science, University of Oregon **
** Advanced Computing Laboratory, Los Alamos National Laboratory **
****************************************************************************/
/***************************************************************************
** File : JavaThreadLayer.h **
** Description : TAU Profiling Package Java Thread Support Layer **
** Author : Sameer Shende **
** Contact : sameer@cs.uoregon.edu sameer@acl.lanl.gov **
** Flags : Compile with **
** -DPROFILING_ON to enable profiling (ESSENTIAL) **
** -DPROFILE_STATS for Std. Deviation of Excl Time **
** -DSGI_HW_COUNTERS for using SGI counters **
** -DPROFILE_CALLS for trace of each invocation **
** -DSGI_TIMERS for SGI fast nanosecs timer **
** -DTULIP_TIMERS for non-sgi Platform **
** -DPOOMA_STDSTL for using STD STL in POOMA src **
** -DPOOMA_TFLOP for Intel Teraflop at SNL/NM **
** -DPOOMA_KAI for KCC compiler **
** -DDEBUG_PROF for internal debugging messages **
** -DPROFILE_CALLSTACK to enable callstack traces **
** Documentation : See http://www.cs.uoregon.edu/research/tau **
***************************************************************************/
#ifndef _JAVATHREADLAYER_H_
#define _JAVATHREADLAYER_H_
//////////////////////////////////////////////////////////////////////
//
// class PthreadLayer
//
// This class is used for supporting pthreads in RtsLayer class.
//////////////////////////////////////////////////////////////////////
#ifdef JAVA
#include <jvmpi.h>
class JavaThreadLayer
{ // Layer for JavaThreadLayer to interact with Java Threads
public:
JavaThreadLayer () { } // defaults
~JavaThreadLayer () { }
static int * RegisterThread(JNIEnv * env_id);
static int InitializeThreadData(void); // init thread mutexes
static int InitializeDBMutexData(void); // init tauDB mutex
static int InitializeEnvMutexData(void); // init tauEnv mutex
static int GetThreadId(void); // gets 0..N-1 thread id
static int GetThreadId(JNIEnv *env_id); // gets 0..N-1 thread id
static int LockDB(void); // locks the tauDBMutex
static int UnLockDB(void); // unlocks the tauDBMutex
static int LockEnv(void); // locks the tauEnvMutex
static int UnLockEnv(void); // unlocks the tauEnvMutex
static int TotalThreads(void); // returns the thread count
// return the current thread's cpu time, in nanoseconds (as reported by jvmpi)
static jlong getCurrentThreadCpuTime(void);
static JVMPI_Interface *tau_jvmpi_interface;
static JavaVM *tauVM; // Virtual machine
private:
static int tauThreadCount; // Number of threads
static JVMPI_RawMonitor tauNumThreadsLock; // to protect counter
static JVMPI_RawMonitor tauDBMutex; // to protect counter
static JVMPI_RawMonitor tauEnvMutex; // second mutex
};
#endif // JAVA
#endif // _JAVATHREADLAYER_H_
/***************************************************************************
* $RCSfile: JavaThreadLayer.h,v $ $Author: amorris $
* $Revision: 1.4 $ $Date: 2005/11/11 03:46:47 $
* POOMA_VERSION_ID: $Id: JavaThreadLayer.h,v 1.4 2005/11/11 03:46:47 amorris Exp $
***************************************************************************/
|