fix a minor "misfeature" in the symbol table code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1952 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
8c997e90d9
commit
d6443478b0
|
@ -93,11 +93,12 @@ void SymbolDB::AddKnownSymbol(u32 startAddr, u32 size, const char *name, int typ
|
|||
XFuncMap::iterator iter = functions.find(startAddr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
// already got it, let's just update name and checksum to be sure.
|
||||
// already got it, let's just update name, checksum & size to be sure.
|
||||
Symbol *tempfunc = &iter->second;
|
||||
tempfunc->name = name;
|
||||
tempfunc->hash = SignatureDB::ComputeCodeChecksum(startAddr, startAddr + size);
|
||||
tempfunc->type = type;
|
||||
tempfunc->size = size;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -110,6 +111,7 @@ void SymbolDB::AddKnownSymbol(u32 startAddr, u32 size, const char *name, int typ
|
|||
PPCAnalyst::AnalyzeFunction(startAddr, tf, size);
|
||||
checksumToFunction[tf.hash] = &(functions[startAddr]);
|
||||
}
|
||||
tf.size = size;
|
||||
functions[startAddr] = tf;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ enum
|
|||
IDM_RENAMESYMBOL,
|
||||
IDM_PATCHALERT,
|
||||
IDM_COPYFUNCTION,
|
||||
IDM_ADDFUNCTION,
|
||||
};
|
||||
|
||||
|
||||
|
@ -221,6 +222,8 @@ void CCodeView::OnPopupMenu(wxCommandEvent& event)
|
|||
wxTheClipboard->SetData(new wxTextDataObject(wxString::FromAscii(temp)));
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case IDM_COPYFUNCTION:
|
||||
{
|
||||
Symbol *symbol = g_symbolDB.GetSymbolFromAddr(selection);
|
||||
|
@ -289,6 +292,13 @@ void CCodeView::OnPopupMenu(wxCommandEvent& event)
|
|||
}
|
||||
break;
|
||||
|
||||
case IDM_ADDFUNCTION:
|
||||
{
|
||||
g_symbolDB.AddFunction(selection);
|
||||
Host_NotifyMapLoaded();
|
||||
}
|
||||
break;
|
||||
|
||||
case IDM_RENAMESYMBOL:
|
||||
{
|
||||
Symbol *symbol = g_symbolDB.GetSymbolFromAddr(selection);
|
||||
|
@ -336,6 +346,7 @@ void CCodeView::OnMouseUpR(wxMouseEvent& event)
|
|||
menu.Append(IDM_RENAMESYMBOL, wxString::FromAscii("Rename &symbol"))->Enable(isSymbol);
|
||||
menu.AppendSeparator();
|
||||
menu.Append(IDM_RUNTOHERE, _T("&Run To Here"));
|
||||
menu.Append(IDM_ADDFUNCTION, _T("&Add function"));
|
||||
menu.Append(IDM_JITRESULTS, wxString::FromAscii("PPC vs X86"));
|
||||
menu.Append(IDM_INSERTBLR, wxString::FromAscii("Insert &blr"));
|
||||
menu.Append(IDM_PATCHALERT, wxString::FromAscii("Patch alert"));
|
||||
|
|
|
@ -22,31 +22,28 @@
|
|||
|
||||
#include "Common.h"
|
||||
|
||||
class CRegTable
|
||||
: public wxGridTableBase
|
||||
class CRegTable : public wxGridTableBase
|
||||
{
|
||||
public:
|
||||
CRegTable(){;}
|
||||
int GetNumberCols(void){return 4;}
|
||||
int GetNumberRows(void){return 16;}
|
||||
bool IsEmptyCell(int, int){return false;}
|
||||
wxString GetValue(int, int);
|
||||
void SetValue(int, int, const wxString &);
|
||||
wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind);
|
||||
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(CRegTable);
|
||||
public:
|
||||
CRegTable() {}
|
||||
int GetNumberCols(void){return 4;}
|
||||
int GetNumberRows(void){return 16;}
|
||||
bool IsEmptyCell(int, int){return false;}
|
||||
wxString GetValue(int, int);
|
||||
void SetValue(int, int, const wxString &);
|
||||
wxGridCellAttr *GetAttr(int, int, wxGridCellAttr::wxAttrKind);
|
||||
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(CRegTable);
|
||||
};
|
||||
|
||||
class CRegisterView
|
||||
: public wxGrid
|
||||
class CRegisterView : public wxGrid
|
||||
{
|
||||
public:
|
||||
CRegisterView(wxWindow* parent, wxWindowID id);
|
||||
|
||||
void Update();
|
||||
|
||||
u32 m_CachedRegs[32];
|
||||
bool m_CachedRegHasChanged[32];
|
||||
public:
|
||||
CRegisterView(wxWindow* parent, wxWindowID id);
|
||||
void Update();
|
||||
u32 m_CachedRegs[32];
|
||||
bool m_CachedRegHasChanged[32];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue