32a33,35
> #include "arch/alpha/tlb.hh"
>
> #include <algorithm>
39d41
< #include "arch/alpha/tlb.hh"
65c67
< : BaseTLB(p), size(p->size), nlu(0)
---
> : BaseTLB(p), table(p->size), nlu(0)
67,68d68
< table = new TlbEntry[size];
< memset(table, 0, sizeof(TlbEntry) * size);
74,75d73
< if (table)
< delete [] table;
286c284
< memset(table, 0, sizeof(TlbEntry) * size);
---
> std::fill(table.begin(), table.end(), TlbEntry());
348c346
< TLB::serialize(ostream &os)
---
> TLB::serialize(CheckpointOut &cp) const
349a348
> const unsigned size(table.size());
353,356c352,353
< for (int i = 0; i < size; i++) {
< nameOut(os, csprintf("%s.Entry%d", name(), i));
< table[i].serialize(os);
< }
---
> for (int i = 0; i < size; i++)
> table[i].serializeSection(cp, csprintf("Entry%d", i));
360c357
< TLB::unserialize(Checkpoint *cp, const string &section)
---
> TLB::unserialize(CheckpointIn &cp)
361a359
> unsigned size(0);
364a363
> table.resize(size);
366c365
< table[i].unserialize(cp, csprintf("%s.Entry%d", section, i));
---
> table[i].unserializeSection(cp, csprintf("Entry%d", i));