mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
new block cache and much more...
- more reliable code invalidation detection - blocks aren't stopped at any branch, but are being followed if possible to get larger blocks - idle loop recognition - optimised literal loads, load/store cycle counting and loads/stores from constant addresses
This commit is contained in:
@ -226,18 +226,27 @@ enum
|
||||
flag_V = 1 << 0,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
special_NotSpecialAtAll = 0,
|
||||
special_WriteMem,
|
||||
special_WaitForInterrupt
|
||||
};
|
||||
|
||||
struct Info
|
||||
{
|
||||
u16 DstRegs, SrcRegs;
|
||||
u16 Kind;
|
||||
|
||||
u8 SpecialKind;
|
||||
|
||||
u8 ReadFlags;
|
||||
// lower 4 bits - set always
|
||||
// upper 4 bits - might set flag
|
||||
u8 WriteFlags;
|
||||
|
||||
bool EndBlock;
|
||||
bool Branches()
|
||||
bool Branches() const
|
||||
{
|
||||
return DstRegs & (1 << 15);
|
||||
}
|
||||
|
Reference in New Issue
Block a user