/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "debug_util.h"
static void DTrace_PrintStdErr(const char *msg);
#if defined(DEBUG)
enum {
};
typedef enum dtrace_scope {
} dtrace_scope;
typedef struct dtrace_info {
int line;
int enabled;
static int NumTraces = 0;
return &DTraceInfo[tid];
}
return tid;
}
/*
* Compares the trailing characters in a filename to see if they match
*/
return TRUE;
return FALSE;
}
/* compare the tail ends of the strings for equality */
return tailsEqual;
}
/*
* if it doesn't exist
*/
/* check to see if the trace point has already been created */
goto Exit;
}
}
}
/* trace point wasn't created, so force it's creation */
Exit:
return tid;
}
static dbool_t DTrace_IsEnabledAt(dtrace_id * pfileid, dtrace_id * plineid, const char * file, int line) {
if ( *pfileid == UNDEFINED_TRACE_ID ) {
/* first time calling the trace for this file, so obtain a trace id */
}
if ( *plineid == UNDEFINED_TRACE_ID ) {
/* first time calling the trace for this line, so obtain a trace id */
}
}
/*
* Initialize trace functionality. This MUST BE CALLED before any
* tracing function is called.
*/
void DTrace_Initialize() {
DTraceMutex = DMutex_Create();
}
/*
* Cleans up tracing system. Should be called when tracing functionality
* is no longer needed.
*/
void DTrace_Shutdown() {
}
void DTrace_DisableMutex() {
DTraceMutex = NULL;
}
/*
* Enable tracing for all modules.
*/
}
/*
* Enable tracing for a specific module. Filename may
* be fully or partially qualified.
* e.g. awt_Component.cpp
* or
* src\win32\native\sun\windows\awt_Component.cpp
*/
}
/*
* Enable tracing for a specific line in a specific module.
* See comments above regarding filename argument.
*/
}
(*PfnTraceCallback)(msg);
}
/*
* Print implementation for the use of client defined trace macros. Unsynchronized so it must
* be used from within a DTRACE_PRINT_CALLBACK function.
*/
/* format the trace message */
/* not a real great overflow check (memory would already be hammered) but better than nothing */
/* output the trace message */
}
/*
* Print implementation for the use of client defined trace macros. Unsynchronized so it must
* be used from within a DTRACE_PRINT_CALLBACK function.
*/
}
/*
* Called via DTRACE_PRINT macro. Outputs printf style formatted text.
*/
}
/*
* Called via DTRACE_PRINTLN macro. Outputs printf style formatted text with an automatic newline.
*/
DTrace_PrintImpl("\n");
}
/*
* Called via DTRACE_ macros. If tracing is enabled at the given location, it enters
* the trace mutex and invokes the callback function to output the trace.
*/
void DTrace_PrintFunction( DTRACE_PRINT_CALLBACK pfn, dtrace_id * pFileTraceId, dtrace_id * pLineTraceId,
}
}
/*
* Sets a callback function to be used to output
* trace statements.
*/
}
#endif /* DEBUG */
/**********************************************************************************
* Support for Java tracing in release or debug mode builds
*/
}
#if defined(DEBUG)
#else
#endif
}
#if defined(DEBUG)
DTrace_ClientPrint("\n");
#else
DTrace_PrintStdErr("\n");
#endif
}
/*********************************************************************************
* Native method implementations. Java print trace calls are functional in
*/
/* Implementation of DebugSettings.setCTracingOn*/
#if defined(DEBUG)
#endif
}
/* Implementation of DebugSettings.setCTracingOn*/
#if defined(DEBUG)
const char * cfile;
return;
}
#endif
}
/* Implementation of DebugSettings.setCTracingOn*/
#if defined(DEBUG)
const char * cfile;
return;
}
#endif
}