diff -r e118846a6780 -r dd92604a89a2 src/arch/arm/linux/system.cc --- a/src/arch/arm/linux/system.cc Fri Oct 12 09:41:02 2012 +0100 +++ b/src/arch/arm/linux/system.cc Fri Oct 12 09:41:25 2012 +0100 @@ -154,40 +154,43 @@ warn("DTB file specified, but no device tree support in kernel\n"); } - AtagCore *ac = new AtagCore; - ac->flags(1); // read-only - ac->pagesize(8192); - ac->rootdev(0); + AtagCore ac; + ac.flags(1); // read-only + ac.pagesize(8192); + ac.rootdev(0); AddrRangeList atagRanges = physmem.getConfAddrRanges(); if (atagRanges.size() != 1) { fatal("Expected a single ATAG memory entry but got %d\n", atagRanges.size()); } - AtagMem *am = new AtagMem; - am->memSize(atagRanges.begin()->size()); - am->memStart(atagRanges.begin()->start); + AtagMem am; + am.memSize(atagRanges.begin()->size()); + am.memStart(atagRanges.begin()->start); - AtagCmdline *ad = new AtagCmdline; - ad->cmdline(params()->boot_osflags); + AtagCmdline ad; + ad.cmdline(params()->boot_osflags); - DPRINTF(Loader, "boot command line %d bytes: %s\n", ad->size() <<2, params()->boot_osflags.c_str()); + DPRINTF(Loader, "boot command line %d bytes: %s\n", + ad.size() <<2, params()->boot_osflags.c_str()); - AtagNone *an = new AtagNone; + AtagNone an; - uint32_t size = ac->size() + am->size() + ad->size() + an->size(); + uint32_t size = ac.size() + am.size() + ad.size() + an.size(); uint32_t offset = 0; uint8_t *boot_data = new uint8_t[size << 2]; - offset += ac->copyOut(boot_data + offset); - offset += am->copyOut(boot_data + offset); - offset += ad->copyOut(boot_data + offset); - offset += an->copyOut(boot_data + offset); + offset += ac.copyOut(boot_data + offset); + offset += am.copyOut(boot_data + offset); + offset += ad.copyOut(boot_data + offset); + offset += an.copyOut(boot_data + offset); DPRINTF(Loader, "Boot atags was %d bytes in total\n", size << 2); DDUMP(Loader, boot_data, size << 2); physProxy.writeBlob(params()->atags_addr, boot_data, size << 2); + + delete[] boot_data; } for (int i = 0; i < threadContexts.size(); i++) { diff -r e118846a6780 -r dd92604a89a2 src/cpu/legiontrace.cc --- a/src/cpu/legiontrace.cc Fri Oct 12 09:41:02 2012 +0100 +++ b/src/cpu/legiontrace.cc Fri Oct 12 09:41:25 2012 +0100 @@ -536,7 +536,7 @@ } if (diffTlb) { printColumnLabels(outs); - char label[8]; + char label[9]; for (int x = 0; x < 64; x++) { if (shared_data->itb[x] != ULL(0xFFFFFFFFFFFFFFFF) || diff -r e118846a6780 -r dd92604a89a2 src/dev/x86/i8042.cc --- a/src/dev/x86/i8042.cc Fri Oct 12 09:41:02 2012 +0100 +++ b/src/dev/x86/i8042.cc Fri Oct 12 09:41:25 2012 +0100 @@ -490,7 +490,7 @@ } arrayParamOut(os, base + ".outBuffer.elts", buffer, bufferSize*sizeof(uint8_t)); - delete buffer; + delete[] buffer; } void @@ -506,7 +506,7 @@ for (int i = 0; i < bufferSize; ++i) { outBuffer.push(buffer[i]); } - delete buffer; + delete[] buffer; } void @@ -523,7 +523,7 @@ } arrayParamOut(os, base + ".outBuffer.elts", buffer, bufferSize*sizeof(uint8_t)); - delete buffer; + delete[] buffer; paramOut(os, base + ".status", statusData); paramOut(os, base + ".resolution", resolution); paramOut(os, base + ".sampleRate", sampleRate); @@ -543,7 +543,7 @@ for (int i = 0; i < bufferSize; ++i) { outBuffer.push(buffer[i]); } - delete buffer; + delete[] buffer; paramIn(cp, section, base + ".status", statusData); paramIn(cp, section, base + ".resolution", resolution); paramIn(cp, section, base + ".sampleRate", sampleRate); diff -r e118846a6780 -r dd92604a89a2 src/mem/cache/tags/iic_repl/gen.hh --- a/src/mem/cache/tags/iic_repl/gen.hh Fri Oct 12 09:41:02 2012 +0100 +++ b/src/mem/cache/tags/iic_repl/gen.hh Fri Oct 12 09:41:25 2012 +0100 @@ -186,13 +186,6 @@ virtual unsigned long getRepl(); /** - * Return an array of N tag pointers to replace. - * @param n The number of tag pointer to return. - * @return An array of tag pointers to replace. - */ - virtual unsigned long *getNRepl(int n); - - /** * Update replacement data */ virtual void doAdvance(std::list &demoted); diff -r e118846a6780 -r dd92604a89a2 src/mem/cache/tags/iic_repl/gen.cc --- a/src/mem/cache/tags/iic_repl/gen.cc Fri Oct 12 09:41:02 2012 +0100 +++ b/src/mem/cache/tags/iic_repl/gen.cc Fri Oct 12 09:41:25 2012 +0100 @@ -93,45 +93,6 @@ return 0xffffffff; } -unsigned long * -GenRepl::getNRepl(int n) -{ - unsigned long *tmp; - GenReplEntry *re; - int i; - if (!(num_pool_entries>(n-1))) { - fatal("Not enough blks available to replace"); - } - num_entries -= n; - num_pool_entries -= n; - tmp = new unsigned long[n]; /* array of cache_blk pointers */ - int blk_index = 0; - for (i = 0; i < num_pools && blk_index < n; i++) { - while (blk_index < n && (re = pools[i].pop())) { - // Remove invalidated entries - if (!re->valid) { - delete re; - continue; - } - if (iic->clearRef(re->tag_ptr)) { - pools[(((i+1)== num_pools)? i :i+1)].push(re, misses); - } - else { - tmp[blk_index] = re->tag_ptr; - blk_index++; - delete re; - repl_pool.sample(i); - } - } - } - if (blk_index >= n) - return tmp; - /* search the fresh pool */ - - fatal("No N replacements found"); - return NULL; -} - void GenRepl::doAdvance(std::list &demoted) { diff -r e118846a6780 -r dd92604a89a2 src/mem/cache/tags/iic_repl/repl.hh --- a/src/mem/cache/tags/iic_repl/repl.hh Fri Oct 12 09:41:02 2012 +0100 +++ b/src/mem/cache/tags/iic_repl/repl.hh Fri Oct 12 09:41:25 2012 +0100 @@ -79,13 +79,6 @@ virtual unsigned long getRepl() = 0; /** - * Return an array of N tag pointers to replace. - * @param n The number of tag pointer to return. - * @return An array of tag pointers to replace. - */ - virtual unsigned long *getNRepl(int n) = 0; - - /** * Update replacement data */ virtual void doAdvance(std::list &demoted) = 0;