SimEng icon indicating copy to clipboard operation
SimEng copied to clipboard

Reduce inter-class dependancies throughout SimEng project

Open FinnWilkinson opened this issue 2 years ago • 0 comments

Many of the #include's used throughout the project are creating dependancies between classes which are not accurately representative of the relationship between classes. That it, many of these includes are being added for simple structs contained in the header of a class, rather than for using the class itself.

The whole project needs combing through to eliminate these un-necessary dependancies, with structs etc. being moved into their own header file (or grouping related structs etc. into larger header files) if they are used by multiple classes.

Additionally, InstructionMetadata.hh should be moved from src to include, and each class should have its own .hh file (i.e. the ExceptionHandler base class is defined in Architecture.hh`). This will facilitate the addition of unit tests for the Instruction classes (i.e. one test file per ISA).

FinnWilkinson avatar Nov 10 '23 10:11 FinnWilkinson