00001 /* 00002 Copyright (c) 2001, John Lambert jlambert@jlambert.com 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without modification, are 00006 permitted provided that the following conditions are met: 00007 00008 Redistributions of source code must retain the above copyright notice, this list of 00009 conditions and the following disclaimer. 00010 00011 Redistributions in binary form must reproduce the above copyright notice, this list 00012 of conditions and the following disclaimer in the documentation and/or other 00013 materials provided with the distribution. 00014 00015 Neither the name of the xdProf project nor the names of its contributors may be used 00016 to endorse or promote products derived from this software without specific prior 00017 written permission. 00018 00019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 00020 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00021 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 00022 SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00023 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00024 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 00025 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00026 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 00027 WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 /* 00030 $Header: /xdprof-dll/global.h 8 5/07/01 2:32a Admin $ 00031 */ 00032 #ifndef _GLOBAL_H_ 00033 #define _GLOBAL_H_ 00034 00035 #if _MSC_VER > 1000 00036 #pragma once 00037 #endif // _MSC_VER > 1000 00038 00039 // Handle warnings 00040 00041 #pragma warning(push,3) 00042 #pragma warning(disable: 4514) 00043 #pragma warning(disable: 4786) 00044 #pragma warning(disable: 4710) 00045 #pragma warning(disable: 4711) 00046 #pragma warning(disable: 4530) 00047 #pragma warning(disable: 4702) 00048 #pragma warning(disable: 4701) 00049 // #includes go here 00050 #include <jvmpi.h> 00051 #include <malloc.h> 00052 #include <assert.h> 00053 #include <string> 00054 #include <iostream> 00055 #include <fstream> 00056 #include <iterator> 00057 #include <vector> 00058 #include <map> 00059 #include <set> 00060 #include "platform.h" 00061 00062 #pragma warning(pop) 00063 #pragma warning(disable: 4786) 00064 #pragma warning(disable: 4514) 00065 #pragma warning(disable: 4710) 00066 #pragma warning(disable: 4711) 00067 #pragma warning(disable: 4702) 00068 #pragma warning(disable: 4701) 00069 using namespace std; 00070 00071 #define null NULL 00072 00073 extern JVMPI_Interface* jvmpi_interface; 00074 extern JavaVM* GlobalJVM; 00075 00076 #define CALL(f) (jvmpi_interface->f) 00077 #ifdef NDEBUG 00078 #define CHECKEDCALL(f) (jvmpi_interface->f) 00079 #else 00080 #define CHECKEDCALL(f) assert(JVMPI_SUCCESS == (jvmpi_interface->f) ) 00081 #endif 00082 00083 #pragma hdrstop 00084 00085 #endif //_GLOBAL_H_