diff options
| author | LPFaint99 <lpfaint99@gmail.com> | 2009-07-06 02:10:26 +0000 |
|---|---|---|
| committer | LPFaint99 <lpfaint99@gmail.com> | 2009-07-06 02:10:26 +0000 |
| commit | a41c1b2d0a9fab51f8a75ccdb7dba0890f766820 (patch) | |
| tree | 5cc47f2330d83ece993db6443e944c103235821b /Source/Core/Common | |
| parent | 23f3e327e2f96843b0deebafddef12d195d73381 (diff) | |
add *.user, Win32, and x64 build dir to ignore list for DebuggerUICommon and Unit Tests
add *.aps to ignore list for DolphinWX dir
add eol-style native to 120 or so files
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3689 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/Common')
| -rw-r--r-- | Source/Core/Common/Src/SymbolDB.cpp | 118 | ||||
| -rw-r--r-- | Source/Core/Common/Src/SymbolDB.h | 244 |
2 files changed, 181 insertions, 181 deletions
diff --git a/Source/Core/Common/Src/SymbolDB.cpp b/Source/Core/Common/Src/SymbolDB.cpp index 86161b6b9c..7752b484e2 100644 --- a/Source/Core/Common/Src/SymbolDB.cpp +++ b/Source/Core/Common/Src/SymbolDB.cpp @@ -1,59 +1,59 @@ -// Copyright (C) 2003-2008 Dolphin Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official SVN repository and contact information can be found at
-// http://code.google.com/p/dolphin-emu/
-
-#include "SymbolDB.h"
-
-
-void SymbolDB::List()
-{
- for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
- {
- DEBUG_LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls", iter->second.name.c_str(), iter->second.address, iter->second.size, iter->second.hash,iter->second.numCalls);
- }
- INFO_LOG(HLE,"%i functions known in this program above.", functions.size());
-}
-
-void SymbolDB::Clear(const char *prefix)
-{
- // TODO: honor prefix
- functions.clear();
- checksumToFunction.clear();
-}
-
-void SymbolDB::Index()
-{
- int i = 0;
- for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
- {
- iter->second.index = i++;
- }
-}
-
-Symbol *SymbolDB::GetSymbolFromName(const char *name)
-{
- for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
- {
- if (!strcmp(iter->second.name.c_str(), name))
- return &iter->second;
- }
- return 0;
-}
-
-void SymbolDB::AddCompleteSymbol(const Symbol &symbol)
-{
- functions.insert(std::pair<u32, Symbol>(symbol.address, symbol));
-}
+// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "SymbolDB.h" + + +void SymbolDB::List() +{ + for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++) + { + DEBUG_LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls", iter->second.name.c_str(), iter->second.address, iter->second.size, iter->second.hash,iter->second.numCalls); + } + INFO_LOG(HLE,"%i functions known in this program above.", functions.size()); +} + +void SymbolDB::Clear(const char *prefix) +{ + // TODO: honor prefix + functions.clear(); + checksumToFunction.clear(); +} + +void SymbolDB::Index() +{ + int i = 0; + for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++) + { + iter->second.index = i++; + } +} + +Symbol *SymbolDB::GetSymbolFromName(const char *name) +{ + for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++) + { + if (!strcmp(iter->second.name.c_str(), name)) + return &iter->second; + } + return 0; +} + +void SymbolDB::AddCompleteSymbol(const Symbol &symbol) +{ + functions.insert(std::pair<u32, Symbol>(symbol.address, symbol)); +} diff --git a/Source/Core/Common/Src/SymbolDB.h b/Source/Core/Common/Src/SymbolDB.h index dc6ba56f23..41d22a0b44 100644 --- a/Source/Core/Common/Src/SymbolDB.h +++ b/Source/Core/Common/Src/SymbolDB.h @@ -1,122 +1,122 @@ -// Copyright (C) 2003-2008 Dolphin Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official SVN repository and contact information can be found at
-// http://code.google.com/p/dolphin-emu/
-
-
-// This file contains a generic symbol map implementation. For CPU-specific
-// magic, derive and extend.
-
-#ifndef _SYMBOL_DB_H
-#define _SYMBOL_DB_H
-
-#include <string>
-#include <map>
-
-#include "Common.h"
-
-struct SCall
-{
- SCall(u32 a, u32 b) :
- function(a),
- callAddress(b)
- {}
- u32 function;
- u32 callAddress;
-};
-
-struct Symbol
-{
- enum {
- SYMBOL_FUNCTION = 0,
- SYMBOL_DATA = 1,
- };
-
- Symbol() :
- hash(0),
- address(0),
- flags(0),
- size(0),
- numCalls(0),
- type(SYMBOL_FUNCTION),
- analyzed(0)
- {}
-
- std::string name;
- std::vector<SCall> callers; //addresses of functions that call this function
- std::vector<SCall> calls; //addresses of functions that are called by this function
- u32 hash; //use for HLE function finding
- u32 address;
- u32 flags;
- int size;
- int numCalls;
- int type;
- int index; // only used for coloring the disasm view
- int analyzed;
-};
-
-enum
-{
- FFLAG_TIMERINSTRUCTIONS=(1<<0),
- FFLAG_LEAF=(1<<1),
- FFLAG_ONLYCALLSNICELEAFS=(1<<2),
- FFLAG_EVIL=(1<<3),
- FFLAG_RFI=(1<<4),
- FFLAG_STRAIGHT=(1<<5)
-};
-
-
-
-class SymbolDB
-{
-public:
- typedef std::map<u32, Symbol> XFuncMap;
- typedef std::map<u32, Symbol*> XFuncPtrMap;
-
-protected:
- XFuncMap functions;
- XFuncPtrMap checksumToFunction;
-
-public:
- SymbolDB() {}
- virtual ~SymbolDB() {}
- virtual Symbol *GetSymbolFromAddr(u32 addr) { return 0; }
- virtual Symbol *AddFunction(u32 startAddr) { return 0;}
-
- void AddCompleteSymbol(const Symbol &symbol);
-
- Symbol *GetSymbolFromName(const char *name);
- Symbol *GetSymbolFromHash(u32 hash) {
- XFuncPtrMap::iterator iter = checksumToFunction.find(hash);
- if (iter != checksumToFunction.end())
- return iter->second;
- else
- return 0;
- }
-
- const XFuncMap &Symbols() const {return functions;}
- XFuncMap &AccessSymbols() {return functions;}
-
- // deprecated
- XFuncMap::iterator GetIterator() { return functions.begin(); }
- XFuncMap::const_iterator GetConstIterator() { return functions.begin(); }
- XFuncMap::iterator End() { return functions.end(); }
-
- void Clear(const char *prefix = "");
- void List();
- void Index();
-};
-
-#endif
+// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + + +// This file contains a generic symbol map implementation. For CPU-specific +// magic, derive and extend. + +#ifndef _SYMBOL_DB_H +#define _SYMBOL_DB_H + +#include <string> +#include <map> + +#include "Common.h" + +struct SCall +{ + SCall(u32 a, u32 b) : + function(a), + callAddress(b) + {} + u32 function; + u32 callAddress; +}; + +struct Symbol +{ + enum { + SYMBOL_FUNCTION = 0, + SYMBOL_DATA = 1, + }; + + Symbol() : + hash(0), + address(0), + flags(0), + size(0), + numCalls(0), + type(SYMBOL_FUNCTION), + analyzed(0) + {} + + std::string name; + std::vector<SCall> callers; //addresses of functions that call this function + std::vector<SCall> calls; //addresses of functions that are called by this function + u32 hash; //use for HLE function finding + u32 address; + u32 flags; + int size; + int numCalls; + int type; + int index; // only used for coloring the disasm view + int analyzed; +}; + +enum +{ + FFLAG_TIMERINSTRUCTIONS=(1<<0), + FFLAG_LEAF=(1<<1), + FFLAG_ONLYCALLSNICELEAFS=(1<<2), + FFLAG_EVIL=(1<<3), + FFLAG_RFI=(1<<4), + FFLAG_STRAIGHT=(1<<5) +}; + + + +class SymbolDB +{ +public: + typedef std::map<u32, Symbol> XFuncMap; + typedef std::map<u32, Symbol*> XFuncPtrMap; + +protected: + XFuncMap functions; + XFuncPtrMap checksumToFunction; + +public: + SymbolDB() {} + virtual ~SymbolDB() {} + virtual Symbol *GetSymbolFromAddr(u32 addr) { return 0; } + virtual Symbol *AddFunction(u32 startAddr) { return 0;} + + void AddCompleteSymbol(const Symbol &symbol); + + Symbol *GetSymbolFromName(const char *name); + Symbol *GetSymbolFromHash(u32 hash) { + XFuncPtrMap::iterator iter = checksumToFunction.find(hash); + if (iter != checksumToFunction.end()) + return iter->second; + else + return 0; + } + + const XFuncMap &Symbols() const {return functions;} + XFuncMap &AccessSymbols() {return functions;} + + // deprecated + XFuncMap::iterator GetIterator() { return functions.begin(); } + XFuncMap::const_iterator GetConstIterator() { return functions.begin(); } + XFuncMap::iterator End() { return functions.end(); } + + void Clear(const char *prefix = ""); + void List(); + void Index(); +}; + +#endif |
