diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2012-06-04 10:43:08 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2012-06-04 10:43:08 -0700 |
commit | 7b73c36f5d52073025223dcdaca749758d274d52 (patch) | |
tree | 29df9a23dbdce330f2bc53eecd3f8907258906b7 /src/arch | |
parent | 0d329407116921cd9aed6f02da551cc5a8ec5131 (diff) | |
download | gem5-7b73c36f5d52073025223dcdaca749758d274d52.tar.xz |
X86: Ensure that the decoder's internal ExtMachInst is completely initialized.
There are some bits of some fields of the ExtMachInst which are not actually
used for anything but are included in the hash of an ExtMachInst for
simplicity and efficiency. This change makes sure the decoder's internal
working ExtMachInst is completely initialized, even these unused bits, so that
there isn't any nondeterministic behavior, no valgrind messages about
uninitialized variables, and no potential false misses/redundant entries in
the decode cache.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/decoder.hh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/x86/decoder.hh b/src/arch/x86/decoder.hh index 725d443d6..24194d839 100644 --- a/src/arch/x86/decoder.hh +++ b/src/arch/x86/decoder.hh @@ -159,6 +159,7 @@ class Decoder outOfBytes(true), instDone(false), state(ResetState) { + memset(&emi, 0, sizeof(emi)); emi.mode.mode = LongMode; emi.mode.submode = SixtyFourBitMode; m5Reg = 0; |