summaryrefslogtreecommitdiff
path: root/src/arch/x86/predecoder.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/predecoder.hh')
-rw-r--r--src/arch/x86/predecoder.hh11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/arch/x86/predecoder.hh b/src/arch/x86/predecoder.hh
index f34b66364..450ebd79b 100644
--- a/src/arch/x86/predecoder.hh
+++ b/src/arch/x86/predecoder.hh
@@ -106,13 +106,13 @@ namespace X86ISA
toGet = toGet > remaining ? remaining : toGet;
//Shift the bytes we want to be all the way to the right
- uint64_t partialDisp = fetchChunk >> (offset * 8);
+ uint64_t partialImm = fetchChunk >> (offset * 8);
//Mask off what we don't want
- partialDisp &= mask(toGet * 8);
+ partialImm &= mask(toGet * 8);
//Shift it over to overlay with our displacement.
- partialDisp <<= (displacementCollected * 8);
+ partialImm <<= (immediateCollected * 8);
//Put it into our displacement
- current |= partialDisp;
+ current |= partialImm;
//Update how many bytes we've collected.
collected += toGet;
consumeBytes(toGet);
@@ -144,9 +144,10 @@ namespace X86ISA
bool emiIsReady;
//The size of the displacement value
int displacementSize;
- int displacementCollected;
//The size of the immediate value
int immediateSize;
+ //This is how much of any immediate value we've gotten. This is used
+ //for both the actual immediate and the displacement.
int immediateCollected;
enum State {