00001 /* 00002 * Sun Public License Notice 00003 * 00004 * The contents of this file are subject to the Sun Public License 00005 * Version 1.0 (the "License"); you may not use this file except 00006 * in compliance with the License. A copy of the License is available 00007 * at http://www.sun.com/ 00008 * 00009 * The Original Code is the Java Profiler module. The Initial Developers 00010 * of the Original Code are Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, 00011 * Lukas Petru and Marek Przeczek. 00012 * 00013 * Portions created by Jan Stola are Copyright (C) 2000-2001. 00014 * All Rights Reserved. 00015 * 00016 * Portions created by Pavel Vacha are Copyright (C) 2000-2001. 00017 * All Rights Reserved. 00018 * 00019 * Portions created by Michal Pise are Copyright (C) 2000-2001. 00020 * All Rights Reserved. 00021 * 00022 * Portions created by Petr Luner are Copyright (C) 2000-2001. 00023 * All Rights Reserved. 00024 * 00025 * Portions created by Lukas Petru are Copyright (C) 2000-2001. 00026 * All Rights Reserved. 00027 * 00028 * Portions created by Marek Przeczek are Copyright (C) 2000-2001. 00029 * All Rights Reserved. 00030 * 00031 * Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, 00032 * Lukas Petru and Marek Przeczek. 00033 */ 00034 00035 #ifndef _TRACE_FRACE_H_ 00036 #define _TRACE_FRAME_H_ 00037 00038 #include "../main/includes.h" 00039 #include "../allocator/allocator.h" 00040 #include "../main/const.h" 00041 00050 struct TraceFrame { 00051 00053 jint lineno; 00054 00056 Method* method; 00057 00058 #ifdef USE_ALLOCATOR 00059 private: 00060 00062 static Allocator _allocators[MAX_TRACE]; 00063 #endif 00064 00065 public: 00066 00071 static TraceFrame* newArray(int size) { 00072 00073 #ifdef USE_ALLOCATOR 00074 return reinterpret_cast<TraceFrame*>(_allocators[size-1].get(size*sizeof(TraceFrame))); 00075 #else 00076 return ::new TraceFrame[size]; 00077 #endif 00078 } 00079 00085 static void deleteArray(TraceFrame* array, int size) { 00086 00087 #ifdef USE_ALLOCATOR 00088 _allocators[size-1].put( reinterpret_cast<void*>(array)); 00089 #else 00090 ::delete[] array; 00091 #endif 00092 } 00093 }; 00094 00095 #endif // _TRACE_FRAME_H_
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001