decoder.hh (10924:d02e9c239892) decoder.hh (11165:d90aec9435bd)
1/*
2 * Copyright (c) 2012 Google
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 33 unchanged lines hidden (view full) ---

42#include "base/types.hh"
43#include "cpu/decode_cache.hh"
44#include "cpu/static_inst.hh"
45#include "debug/Decoder.hh"
46
47namespace X86ISA
48{
49
1/*
2 * Copyright (c) 2012 Google
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 33 unchanged lines hidden (view full) ---

42#include "base/types.hh"
43#include "cpu/decode_cache.hh"
44#include "cpu/static_inst.hh"
45#include "debug/Decoder.hh"
46
47namespace X86ISA
48{
49
50class ISA;
50class Decoder
51{
52 private:
53 //These are defined and documented in decoder_tables.cc
54 static const uint8_t SizeTypeToSize[3][10];
55 typedef const uint8_t ByteTable[256];
56 static ByteTable Prefixes;
57

--- 167 unchanged lines hidden (view full) ---

225 typedef m5::hash_map<CacheKey, DecodePages *> AddrCacheMap;
226 AddrCacheMap addrCacheMap;
227
228 DecodeCache::InstMap *instMap;
229 typedef m5::hash_map<CacheKey, DecodeCache::InstMap *> InstCacheMap;
230 static InstCacheMap instCacheMap;
231
232 public:
51class Decoder
52{
53 private:
54 //These are defined and documented in decoder_tables.cc
55 static const uint8_t SizeTypeToSize[3][10];
56 typedef const uint8_t ByteTable[256];
57 static ByteTable Prefixes;
58

--- 167 unchanged lines hidden (view full) ---

226 typedef m5::hash_map<CacheKey, DecodePages *> AddrCacheMap;
227 AddrCacheMap addrCacheMap;
228
229 DecodeCache::InstMap *instMap;
230 typedef m5::hash_map<CacheKey, DecodeCache::InstMap *> InstCacheMap;
231 static InstCacheMap instCacheMap;
232
233 public:
233 Decoder() : basePC(0), origPC(0), offset(0),
234 Decoder(ISA* isa = nullptr) : basePC(0), origPC(0), offset(0),
234 outOfBytes(true), instDone(false),
235 state(ResetState)
236 {
237 memset(&emi, 0, sizeof(emi));
238 mode = LongMode;
239 submode = SixtyFourBitMode;
240 emi.mode.mode = mode;
241 emi.mode.submode = submode;

--- 108 unchanged lines hidden ---
235 outOfBytes(true), instDone(false),
236 state(ResetState)
237 {
238 memset(&emi, 0, sizeof(emi));
239 mode = LongMode;
240 submode = SixtyFourBitMode;
241 emi.mode.mode = mode;
242 emi.mode.submode = submode;

--- 108 unchanged lines hidden ---