10#ifndef ROOT_Minuit2_StackAllocator
11#define ROOT_Minuit2_StackAllocator
20#ifdef MN_USE_STACK_ALLOC
21#define _MN_NO_THREAD_SAVE_
54#ifdef _MN_NO_THREAD_SAVE_
64#ifdef _MN_NO_THREAD_SAVE_
73#ifdef _MN_NO_THREAD_SAVE_
97 throw std::bad_alloc();
105#ifdef _MN_NO_THREAD_SAVE_
108 int nextBlock =
ReadInt(delBlock);
109 int previousBlock =
ReadInt(nextBlock -
sizeof(
int));
115 int nextNextBlock =
ReadInt(nextBlock);
116 WriteInt(nextNextBlock -
sizeof(
int), previousBlock);
118 WriteInt(previousBlock, nextNextBlock);
122#ifdef DEBUG_ALLOCATOR
152 unsigned char *pc =
static_cast<unsigned char *
>(
p);
156 int userBlock = pc -
fStack;
157 return userBlock -
sizeof(
int);
162 const int fAlignment = 4;
163 int needed = nBytes % fAlignment == 0 ? nBytes : (nBytes / fAlignment + 1) * fAlignment;
164 return needed + 2 *
sizeof(
int);
190 int beg2 =
ReadInt(end -
sizeof(
int));
226 return gStackAllocator;
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
static StackAllocator & Get()
StackAllocator controls the memory allocation/deallocation of Minuit.
void WriteInt(int offset, int Value)
void * Allocate(size_t nBytes)
void CheckOverflow(int n)
int AlignedSize(int nBytes)
define stack allocator symbol
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.