X86: Move address based decode caching in front of the predecoder.
Review Request #1220 - Created May 24, 2012 and submitted
| Information | |
|---|---|
| Gabe Black | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9025:bfe6203ca3d5 --------------------------- X86: Move address based decode caching in front of the predecoder. The predecoder in x86 does a lot of work, most of which can be skipped if the decoder cache is put in front of it.
Issue Summary
1
1
0
0
| Description | From | Last Updated | Status |
|---|---|---|---|
| I'm kind of confused by your data structure here... why have a separate 'chunks' variable instead of using bytes.size() (which ... | Steve Reinhardt | May 28, 2012, 1:05 p.m. | Open |
Posted (May 28, 2012, 6:14 a.m.)
bump
Posted (May 28, 2012, 1:05 p.m.)
-
src/arch/x86/decoder.hh (Diff revision 1) -
I'm kind of confused by your data structure here... why have a separate 'chunks' variable instead of using bytes.size() (which I think is what chunks is tracking, no?)? And does 'masks' ever represent anything other than a contiguous sequence of bytes? Intuitively I'd think the cache entry would be something like std::pair<StaticInstPtr, std::vector<uint8_t> >, and I'm not following why it's so much more than that.
