From 7c19aac60e12d6f5ea301bdb34d7826a01e0b06f Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sun, 8 Nov 2015 12:56:12 +0100 Subject: Rename *.c -> *.cpp in our source (nw) --- src/lib/netlist/plib/palloc.cpp | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/lib/netlist/plib/palloc.cpp (limited to 'src/lib/netlist/plib/palloc.cpp') diff --git a/src/lib/netlist/plib/palloc.cpp b/src/lib/netlist/plib/palloc.cpp new file mode 100644 index 00000000000..22dbc1d4e93 --- /dev/null +++ b/src/lib/netlist/plib/palloc.cpp @@ -0,0 +1,56 @@ +// license:GPL-2.0+ +// copyright-holders:Couriersud +/* + * palloc.c + * + */ + +#include + +#include "pconfig.h" +#include "palloc.h" +//============================================================ +// Exceptions +//============================================================ + +pexception::pexception(const pstring &text) +{ + m_text = text; + fprintf(stderr, "%s\n", m_text.cstr()); +} + +#if (PSTANDALONE) +#include +#include + +class pmemory_pool +{ +public: + pmemory_pool() {} +}; + +static pmemory_pool sppool; + +pmemory_pool *ppool = &sppool; + +void* operator new(std::size_t size, pmemory_pool *pool) throw (std::bad_alloc) +{ + return palloc_raw(size);; +} + +void operator delete(void *ptr, pmemory_pool *pool) +{ + if (ptr != NULL) + pfree_raw(ptr); +} + +void *palloc_raw(const size_t size) +{ + return _mm_malloc(size, 64); +} + +void pfree_raw(void *p) +{ + _mm_free(p); +} +#endif -- cgit v1.2.3-70-g09d2