summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/palloc.cpp
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2016-07-21 11:05:55 +0200
committer couriersud <couriersud@arcor.de>2016-07-21 11:05:55 +0200
commit1e40d95e8b47d834d1ede706921dc19850aaaff2 (patch)
treef2e74d4451a527313fdc52f49b10955153f1dbd5 /src/lib/netlist/plib/palloc.cpp
parent7a69d48edd6e1f59c92271eb7fa217eaf0a714c7 (diff)
Netlist updates:
- Removed trampolines (OUTLOGIC, INPLOGIC and friends). - Started using doxygen comment and documentation style. Added doxygen files to documentation folder. - Refactored code triggered by doxygen output. - Moved internal and support classes into namespace detail. - Use an anordered map in parser. - -Wconversion fixes - All done now. - Fixed -Wold-style-cast warnings in netlist code. - Added iterators to pstring. - Moved two macros, added more RAII and improved exceptions. Fixed some bugs in parser code. - Fixed a number of bugs in parser code and exception handling. [Couriersud]
Diffstat (limited to 'src/lib/netlist/plib/palloc.cpp')
-rw-r--r--src/lib/netlist/plib/palloc.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/lib/netlist/plib/palloc.cpp b/src/lib/netlist/plib/palloc.cpp
index ef9e42dcba5..c89c2ed7e63 100644
--- a/src/lib/netlist/plib/palloc.cpp
+++ b/src/lib/netlist/plib/palloc.cpp
@@ -12,7 +12,6 @@
#include "pfmtlog.h"
namespace plib {
-
//============================================================
// Exceptions
//============================================================
@@ -56,7 +55,7 @@ out_of_mem_e::out_of_mem_e(const pstring &location)
// Memory pool
//============================================================
-mempool::mempool(int min_alloc, int min_align)
+mempool::mempool(size_t min_alloc, size_t min_align)
: m_min_alloc(min_alloc), m_min_align(min_align)
{
}
@@ -71,7 +70,7 @@ mempool::~mempool()
m_blocks.clear();
}
-int mempool::new_block()
+size_t mempool::new_block()
{
block b;
b.data = new char[m_min_alloc];
@@ -93,21 +92,21 @@ void *mempool::alloc(size_t size)
{
b.m_free -= rs;
b.m_num_alloc++;
- info *i = (info *) b.cur_ptr;
+ auto i = reinterpret_cast<info *>(b.cur_ptr);
i->m_block = bn;
- void *ret = (void *) (b.cur_ptr + sizeof(info));
+ auto ret = reinterpret_cast<void *>(b.cur_ptr + sizeof(info));
b.cur_ptr += rs;
return ret;
}
}
{
- int bn = new_block();
+ size_t bn = new_block();
auto &b = m_blocks[bn];
b.m_num_alloc = 1;
b.m_free = m_min_alloc - rs;
- info *i = (info *) b.cur_ptr;
+ auto i = reinterpret_cast<info *>(b.cur_ptr);
i->m_block = bn;
- void *ret = (void *) (b.cur_ptr + sizeof(info));
+ auto ret = reinterpret_cast<void *>(b.cur_ptr + sizeof(info));
b.cur_ptr += rs;
return ret;
}
@@ -115,9 +114,9 @@ void *mempool::alloc(size_t size)
void mempool::free(void *ptr)
{
- char *p = (char *) ptr;
+ auto p = reinterpret_cast<char *>(ptr);
- info *i = (info *) (p - sizeof(info));
+ auto i = reinterpret_cast<info *>(p - sizeof(info));
block *b = &m_blocks[i->m_block];
if (b->m_num_alloc == 0)
fprintf(stderr, "Argh .. double free\n");