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

Reply via email to