Skip to content

Commit

Permalink
Update symbol list of disassembly window when loadexec.
Browse files Browse the repository at this point in the history
  • Loading branch information
shenweip committed Sep 12, 2020
1 parent 6c9b9b5 commit fbea8f4
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Core/HLE/sceKernelModule.cpp
Expand Up @@ -1743,6 +1743,8 @@ bool __KernelLoadExec(const char *filename, u32 paramPtr, std::string *error_str
return false;
}

host->NotifySymbolMapUpdated();

mipsr4k.pc = module->nm.entry_addr;

INFO_LOG(LOADER, "Module entry: %08x", mipsr4k.pc);
Expand Down
1 change: 1 addition & 0 deletions Core/Host.h
Expand Up @@ -48,6 +48,7 @@ class Host {
virtual bool IsDebuggingEnabled() {return true;}
virtual bool AttemptLoadSymbolMap();
virtual void SaveSymbolMap() {}
virtual void NotifySymbolMapUpdated() {}
virtual void SetWindowTitle(const char *message) {}

virtual bool CanCreateShortcut() {return false;}
Expand Down
3 changes: 3 additions & 0 deletions Qt/QtHost.h
Expand Up @@ -67,6 +67,9 @@ class QtHost : public Host {
auto fn = SymbolMapFilename(PSP_CoreParameter().fileToStart);
return g_symbolMap->LoadSymbolMap(fn.c_str());
}

virtual void NotifySymbolMapUpdated() override { g_symbolMap->SortSymbols(); }

void PrepareShutdown() {
auto fn = SymbolMapFilename(PSP_CoreParameter().fileToStart);
g_symbolMap->SaveSymbolMap(fn.c_str());
Expand Down
1 change: 1 addition & 0 deletions UI/HostTypes.h
Expand Up @@ -43,6 +43,7 @@ class NativeHost : public Host {

bool IsDebuggingEnabled() override {return false;}
bool AttemptLoadSymbolMap() override {return false;}
void NotifySymbolMapUpdated() override {}
void SetWindowTitle(const char *message) override {}

void NotifyUserMessage(const std::string &message, float duration = 1.0f, u32 color = 0x00FFFFFF, const char *id = nullptr) override {
Expand Down
4 changes: 4 additions & 0 deletions UWP/UWPHost.cpp
Expand Up @@ -158,6 +158,10 @@ void UWPHost::SaveSymbolMap() {
g_symbolMap->SaveSymbolMap(SymbolMapFilename(PSP_CoreParameter().fileToStart.c_str(), ".ppmap").c_str());
}

void UWPHost::NotifySymbolMapUpdated() {
g_symbolMap->SortSymbols();
}

bool UWPHost::IsDebuggingEnabled() {
return false;
}
Expand Down
1 change: 1 addition & 0 deletions UWP/UWPHost.h
Expand Up @@ -30,6 +30,7 @@ class UWPHost : public Host {
void BootDone() override;
bool AttemptLoadSymbolMap() override;
void SaveSymbolMap() override;
void NotifySymbolMapUpdated() override;
void SetWindowTitle(const char *message) override;

void ToggleDebugConsoleVisibility() override;
Expand Down
5 changes: 5 additions & 0 deletions Windows/WindowsHost.cpp
Expand Up @@ -312,6 +312,11 @@ void WindowsHost::SaveSymbolMap() {
g_symbolMap->SaveSymbolMap(SymbolMapFilename(PSP_CoreParameter().fileToStart.c_str(),".ppmap").c_str());
}

void WindowsHost::NotifySymbolMapUpdated() {
g_symbolMap->SortSymbols();
PostMessage(mainWindow_, WM_USER + 1, 0, 0);
}

bool WindowsHost::IsDebuggingEnabled() {
#ifdef _DEBUG
return true;
Expand Down
1 change: 1 addition & 0 deletions Windows/WindowsHost.h
Expand Up @@ -52,6 +52,7 @@ class WindowsHost : public Host {
void BootDone() override;
bool AttemptLoadSymbolMap() override;
void SaveSymbolMap() override;
void NotifySymbolMapUpdated() override;
void SetWindowTitle(const char *message) override;

void ToggleDebugConsoleVisibility() override;
Expand Down
1 change: 1 addition & 0 deletions headless/StubHost.h
Expand Up @@ -44,6 +44,7 @@ class HeadlessHost : public Host {

bool IsDebuggingEnabled() override { return false; }
bool AttemptLoadSymbolMap() override { g_symbolMap->Clear(); return false; }
void NotifySymbolMapUpdated() override {}

bool ShouldSkipUI() override { return true; }

Expand Down

0 comments on commit fbea8f4

Please sign in to comment.