diff --git a/src/dsc.h b/src/dsc.h index ce92c59..5a431a7 100644 --- a/src/dsc.h +++ b/src/dsc.h @@ -215,12 +215,12 @@ public: void ReserveMore(int howMuch) { if(n + howMuch > elemsAllocated) { elemsAllocated = n + howMuch; - T *newElem = (T *)MemAlloc((size_t)elemsAllocated*sizeof(T)); + T *newElem = (T *)::operator new[]((size_t)elemsAllocated*sizeof(T)); for(int i = 0; i < n; i++) { new(&newElem[i]) T(std::move(elem[i])); elem[i].~T(); } - MemFree(elem); + ::operator delete[](elem); elem = newElem; } } @@ -286,7 +286,7 @@ public: void Clear() { for(int i = 0; i < n; i++) elem[i].~T(); - if(elem) MemFree(elem); + if(elem) ::operator delete[](elem); elem = NULL; n = elemsAllocated = 0; } @@ -401,12 +401,12 @@ public: void ReserveMore(int howMuch) { if(n + howMuch > elemsAllocated) { elemsAllocated = n + howMuch; - T *newElem = (T *)MemAlloc((size_t)elemsAllocated*sizeof(T)); + T *newElem = (T *)::operator new[]((size_t)elemsAllocated*sizeof(T)); for(int i = 0; i < n; i++) { new(&newElem[i]) T(std::move(elem[i])); elem[i].~T(); } - MemFree(elem); + ::operator delete[](elem); elem = newElem; } } @@ -525,7 +525,7 @@ public: void DeepCopyInto(IdList *l) { l->Clear(); - l->elem = (T *)MemAlloc(elemsAllocated * sizeof(elem[0])); + l->elem = (T *)::operator new[](elemsAllocated * sizeof(elem[0])); for(int i = 0; i < n; i++) new(&l->elem[i]) T(elem[i]); l->elemsAllocated = elemsAllocated; @@ -537,7 +537,7 @@ public: elem[i].Clear(); elem[i].~T(); } - if(elem) MemFree(elem); + if(elem) ::operator delete[](elem); elem = NULL; elemsAllocated = n = 0; } diff --git a/src/mesh.cpp b/src/mesh.cpp index 57aa87b..047d611 100644 --- a/src/mesh.cpp +++ b/src/mesh.cpp @@ -110,11 +110,11 @@ void SMesh::Simplify(int start) { STriMeta meta = l[start].meta; - STriangle *tout = (STriangle *)MemAlloc(maxTriangles*sizeof(*tout)); + STriangle *tout = new STriangle[maxTriangles]; int toutc = 0; Vector n = Vector::From(0, 0, 0); - Vector *conv = (Vector *)MemAlloc(maxTriangles*3*sizeof(*conv)); + Vector *conv = new Vector[maxTriangles * 3]; int convc = 0; int start0 = start; @@ -234,8 +234,8 @@ void SMesh::Simplify(int start) { for(i = 0; i < toutc; i++) { AddTriangle(&(tout[i])); } - MemFree(tout); - MemFree(conv); + delete[] tout; + delete[] conv; } void SMesh::AddAgainstBsp(SMesh *srcm, SBsp3 *bsp3) { diff --git a/src/platform/utilunix.cpp b/src/platform/utilunix.cpp index 646affc..9a48426 100644 --- a/src/platform/utilunix.cpp +++ b/src/platform/utilunix.cpp @@ -1,8 +1,5 @@ //----------------------------------------------------------------------------- -// Utility functions used by the Unix port. Notably, our memory allocation; -// we use two separate allocators, one for long-lived stuff and one for -// stuff that gets freed after every regeneration of the model, to save us -// the trouble of freeing the latter explicitly. +// Utility functions used by the Unix port. // // Copyright 2008-2013 Jonathan Westhues. // Copyright 2013 Daniel Richard G. @@ -64,16 +61,6 @@ void FreeAllTemporary() { Head = NULL; } -void *MemAlloc(size_t n) { - void *p = malloc(n); - ssassert(p != NULL, "Cannot allocate memory"); - return p; -} - -void MemFree(void *p) { - free(p); -} - std::vector InitPlatform(int argc, char **argv) { std::vector args; args.reserve(argc); diff --git a/src/platform/utilwin.cpp b/src/platform/utilwin.cpp index 172039a..b3a7b52 100644 --- a/src/platform/utilwin.cpp +++ b/src/platform/utilwin.cpp @@ -1,8 +1,5 @@ //----------------------------------------------------------------------------- -// Utility functions that depend on Win32. Notably, our memory allocation; -// we use two separate allocators, one for long-lived stuff and one for -// stuff that gets freed after every regeneration of the model, to save us -// the trouble of freeing the latter explicitly. +// Utility functions that depend on Win32. // // Copyright 2008-2013 Jonathan Westhues. //----------------------------------------------------------------------------- @@ -53,15 +50,6 @@ void FreeAllTemporary() TempHeap = HeapCreate(HEAP_NO_SERIALIZE, 1024*1024*20, 0); } -void *MemAlloc(size_t n) { - void *p = malloc(n); - ssassert(p != NULL, "Cannot allocate memory"); - return p; -} -void MemFree(void *p) { - free(p); -} - std::vector InitPlatform(int argc, char **argv) { #if !defined(LIBRARY) && defined(_MSC_VER) // We display our own message on abort; just call ReportFault. diff --git a/src/solvespace.h b/src/solvespace.h index fea705e..f0e6c0f 100644 --- a/src/solvespace.h +++ b/src/solvespace.h @@ -150,8 +150,6 @@ std::vector InitPlatform(int argc, char **argv); void *AllocTemporary(size_t n); void FreeAllTemporary(); -void *MemAlloc(size_t n); -void MemFree(void *p); // End of platform-specific functions //================