This was being done in read(), but if readBytes was called directly it
wouldn't happen. Also, instead of setting the memory blob being read to -1
which would (I believe) require using memset with -1 as a parameter, this now
uses bzero. It's hoped that it's more specialized behavior will make it
slightly faster.
this->setExecuted();
}
+ if (fault != NoFault) {
+ // Return a fixed value to keep simulation deterministic even
+ // along misspeculated paths.
+ bzero(data, size);
+ }
+
if (traceData) {
traceData->setAddr(addr);
}
{
Fault fault = readBytes(addr, (uint8_t *)&data, sizeof(T), flags);
- if (fault != NoFault) {
- // Return a fixed value to keep simulation deterministic even
- // along misspeculated paths.
- data = (T)-1;
- }
data = TheISA::gtoh(data);
if (traceData) {