Ruby: Correct DataBlock =operator
authorJason Power <power.jg@gmail.com>
Tue, 28 Aug 2012 22:57:51 +0000 (17:57 -0500)
committerJason Power <power.jg@gmail.com>
Tue, 28 Aug 2012 22:57:51 +0000 (17:57 -0500)
commit494f6a858e47db3e5352468f504e82af01b931f9
tree77d446867e1050b09f7aa251e64f150e7a856cf2
parent0cacf7e8178defce4063b7cfc8a592c595f56fa2
Ruby: Correct DataBlock =operator
The =operator for the DataBlock class was incorrectly interpreting the class
member m_alloc. This variable stands for whether the assigned memory for the
data block needs to be freed or not by the class itself. It seems that the
=operator interpreted the variable as whether the memory is assigned to the
data block. This wrong interpretation was causing values not to propagate
to RubySystem::m_mem_vec_ptr. This caused major issues with restoring from
checkpoints when using a protocol which verified that the cache data was
consistent with the backing store (i.e. MOESI-hammer).
src/mem/ruby/common/DataBlock.cc
src/mem/ruby/common/DataBlock.hh