I was running regressions after removing FastAlloc and getting some very odd behavior. It seems as though FastAlloc was either masking some use of uninitialized values and the x86 decoder seems to have some issues. I don't know if this is related to Gabe's recent restructuring, but I'm not seeing the same issue on other architectures.
Gabe, could you take a look? Thanks, Ali ==24715== Use of uninitialised value of size 8 ==24715== at 0x600738: X86ISA::Decoder::decode(X86ISA::ExtMachInst, unsigned long) (hashtable.h:695) ==24715== by 0x462555: BaseSimpleCPU::preExecute() (decoder.hh:240) ==24715== by 0x456C0C: TimingSimpleCPU::completeIfetch(Packet*) (timing.cc:661) ==24715== by 0x45A49B: TimingSimpleCPU::IcachePort::recvTimingResp(Packet*) (timing.cc:726) ==24715== by 0xF307DC: PacketQueue::trySendTiming() (packet_queue.cc:147) ==24715== by 0xF308CA: PacketQueue::sendDeferredPacket() (packet_queue.cc:183) ==24715== by 0xC24CE3: EventQueue::serviceOne() (eventq.cc:204) ==24715== by 0xC66301: simulate(long) (simulate.cc:73) ==24715== by 0xD35C88: _wrap_simulate (event_wrap.cc:4491) ==24715== by 0x55540B0: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) ==24715== by 0x555627C: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) ==24715== by 0x555428C: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) ==24715== ==24715== Use of uninitialised value of size 8 ==24715== at 0x601B4C: std::tr1::__detail::_Map_base<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, true, std::tr1::_Hashtable<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::allocator<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::equal_to<X86ISA::ExtMachInst>, std::tr1::hash<X86ISA::ExtMachInst>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >::operator[](X86ISA::ExtMachInst const&) (hashtable_policy.h:525) ==24715== by 0x600AA0: X86ISA::Decoder::decode(X86ISA::ExtMachInst, unsigned long) (decoder.cc:428) ==24715== by 0x462555: BaseSimpleCPU::preExecute() (decoder.hh:240) ==24715== by 0x456C0C: TimingSimpleCPU::completeIfetch(Packet*) (timing.cc:661) ==24715== by 0x45A49B: TimingSimpleCPU::IcachePort::recvTimingResp(Packet*) (timing.cc:726) ==24715== by 0xF307DC: PacketQueue::trySendTiming() (packet_queue.cc:147) ==24715== by 0xF308CA: PacketQueue::sendDeferredPacket() (packet_queue.cc:183) ==24715== by 0xC24CE3: EventQueue::serviceOne() (eventq.cc:204) ==24715== by 0xC66301: simulate(long) (simulate.cc:73) ==24715== by 0xD35C88: _wrap_simulate (event_wrap.cc:4491) ==24715== by 0x55540B0: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) ==24715== by 0x555627C: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) ==24715== ==24715== Use of uninitialised value of size 8 ==24715== at 0x60191E: std::tr1::_Hashtable<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::allocator<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::equal_to<X86ISA::ExtMachInst>, std::tr1::hash<X86ISA::ExtMachInst>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>::_M_insert_bucket(std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > const&, unsigned long, unsigned long) (hashtable.h:862) ==24715== by 0x601C26: std::tr1::__detail::_Map_base<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, true, std::tr1::_Hashtable<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::allocator<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::equal_to<X86ISA::ExtMachInst>, std::tr1::hash<X86ISA::ExtMachInst>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >::operator[](X86ISA::ExtMachInst const&) (hashtable_policy.h:528) ==24715== by 0x600AA0: X86ISA::Decoder::decode(X86ISA::ExtMachInst, unsigned long) (decoder.cc:428) ==24715== by 0x462555: BaseSimpleCPU::preExecute() (decoder.hh:240) ==24715== by 0x456C0C: TimingSimpleCPU::completeIfetch(Packet*) (timing.cc:661) ==24715== by 0x45A49B: TimingSimpleCPU::IcachePort::recvTimingResp(Packet*) (timing.cc:726) ==24715== by 0xF307DC: PacketQueue::trySendTiming() (packet_queue.cc:147) ==24715== by 0xF308CA: PacketQueue::sendDeferredPacket() (packet_queue.cc:183) ==24715== by 0xC24CE3: EventQueue::serviceOne() (eventq.cc:204) ==24715== by 0xC66301: simulate(long) (simulate.cc:73) ==24715== by 0xD35C88: _wrap_simulate (event_wrap.cc:4491) ==24715== by 0x55540B0: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) ==24715== ==24715== Use of uninitialised value of size 8 ==24715== at 0x60192A: std::tr1::_Hashtable<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::allocator<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::equal_to<X86ISA::ExtMachInst>, std::tr1::hash<X86ISA::ExtMachInst>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>::_M_insert_bucket(std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > const&, unsigned long, unsigned long) (hashtable.h:864) ==24715== by 0x601C26: std::tr1::__detail::_Map_base<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, true, std::tr1::_Hashtable<X86ISA::ExtMachInst, std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> >, std::allocator<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::_Select1st<std::pair<X86ISA::ExtMachInst const, RefCountingPtr<StaticInst> > >, std::equal_to<X86ISA::ExtMachInst>, std::tr1::hash<X86ISA::ExtMachInst>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >::operator[](X86ISA::ExtMachInst const&) (hashtable_policy.h:528) ==24715== by 0x600AA0: X86ISA::Decoder::decode(X86ISA::ExtMachInst, unsigned long) (decoder.cc:428) ==24715== by 0x462555: BaseSimpleCPU::preExecute() (decoder.hh:240) ==24715== by 0x456C0C: TimingSimpleCPU::completeIfetch(Packet*) (timing.cc:661) ==24715== by 0x45A49B: TimingSimpleCPU::IcachePort::recvTimingResp(Packet*) (timing.cc:726) ==24715== by 0xF307DC: PacketQueue::trySendTiming() (packet_queue.cc:147) ==24715== by 0xF308CA: PacketQueue::sendDeferredPacket() (packet_queue.cc:183) ==24715== by 0xC24CE3: EventQueue::serviceOne() (eventq.cc:204) ==24715== by 0xC66301: simulate(long) (simulate.cc:73) ==24715== by 0xD35C88: _wrap_simulate (event_wrap.cc:4491) ==24715== by 0x55540B0: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) ==24715== _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
