summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2012-06-04 10:43:08 -0700
committerGabe Black <gblack@eecs.umich.edu>2012-06-04 10:43:08 -0700
commit7b73c36f5d52073025223dcdaca749758d274d52 (patch)
tree29df9a23dbdce330f2bc53eecd3f8907258906b7 /src/arch
parent0d329407116921cd9aed6f02da551cc5a8ec5131 (diff)
downloadgem5-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.hh1
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;