diff options
author | 2016-07-21 11:05:55 +0200 | |
---|---|---|
committer | 2016-07-21 11:05:55 +0200 | |
commit | 1e40d95e8b47d834d1ede706921dc19850aaaff2 (patch) | |
tree | f2e74d4451a527313fdc52f49b10955153f1dbd5 /src/lib/netlist/plib/palloc.cpp | |
parent | 7a69d48edd6e1f59c92271eb7fa217eaf0a714c7 (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.cpp | 19 |
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"); |