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 --- |