mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-10-01 18:31:21 -04:00
Feature/agressive recompiler (#146)
* feat: added guestBranchKind enum to categorize branch types feat: added missingFunctionPolicy enum to define behaviors for missing function scenarios refactor: added handle guest branches and report missing functions feat lookupFunction to utilize new dispatch logic and improve error handling for unregistered functions * fix: fix test conflict * feat: added debug sound driver logs * feat: emmiter for return * feat: added recompiler reporter feat: added strict diagnostics flag for heavy debug calls * feat: staticc table insted of hashmap for runtime * feat: back file to ignore * feat: explode code across helpers and classes * feat: update codegen test feat: better guest nop check * feat: fix link problem on linux * feat: fix Segmentation fault * feat: added recompile replace for DMA and MMIO feat: added a clean memory helpers feat: use memory helpers across the project feat: fix ucrt on msvc * feat: undo messup merge
This commit is contained in:
@@ -14,6 +14,7 @@ namespace ps2recomp
|
||||
struct JumpTableEntry;
|
||||
struct JumpTable;
|
||||
struct Instruction;
|
||||
struct MemoryAccessHint;
|
||||
struct Function;
|
||||
struct Symbol;
|
||||
struct Section;
|
||||
@@ -43,6 +44,9 @@ namespace ps2recomp
|
||||
std::string generateFunctionRegistration(const std::vector<Function> &functions, const std::map<uint32_t, std::string> &stubs);
|
||||
std::string handleBranchDelaySlots(const Instruction &branchInst, const Instruction &delaySlot,
|
||||
const Function &function, const AnalysisResult &analysisResult);
|
||||
std::string handleBranchDelaySlots(const Instruction &branchInst, const Instruction &delaySlot,
|
||||
const Function &function, const AnalysisResult &analysisResult,
|
||||
std::string delaySlotOverride);
|
||||
|
||||
void setRenamedFunctions(const std::unordered_map<uint32_t, std::string> &renames);
|
||||
void setBootstrapInfo(const BootstrapInfo &info);
|
||||
@@ -69,6 +73,7 @@ namespace ps2recomp
|
||||
std::string m_currentFunctionName;
|
||||
|
||||
std::string translateInstruction(const Instruction &inst);
|
||||
std::string translateInstruction(const Instruction &inst, const MemoryAccessHint &memoryHint);
|
||||
std::string emitUnhandledInstruction(const Instruction &inst, const std::string &message);
|
||||
std::string translateMMIInstruction(const Instruction &inst);
|
||||
std::string translateVUInstruction(const Instruction &inst);
|
||||
|
||||
Reference in New Issue
Block a user