Integrate the MicroProfile profiling library

This brings goodies such as a configurable user interface and
multi-threaded timeline view.
This commit is contained in:
Yuri Kunde Schlesner 2015-08-17 18:25:21 -03:00
parent c7745408f7
commit 0fcabd2b11
24 changed files with 11142 additions and 0 deletions

View file

@ -9,6 +9,7 @@
#include "common/common_types.h"
#include "common/logging/log.h"
#include "common/microprofile.h"
#include "common/profiler.h"
#include "core/memory.h"
@ -3522,8 +3523,11 @@ enum {
FETCH_EXCEPTION
};
MICROPROFILE_DEFINE(DynCom_Decode, "DynCom", "Decode", MP_RGB(255, 64, 64));
static int InterpreterTranslate(ARMul_State* cpu, int& bb_start, u32 addr) {
Common::Profiling::ScopeTimer timer_decode(profile_decode);
MICROPROFILE_SCOPE(DynCom_Decode);
// Decode instruction, get index
// Allocate memory and init InsCream
@ -3588,8 +3592,11 @@ static int clz(unsigned int x) {
return n;
}
MICROPROFILE_DEFINE(DynCom_Execute, "DynCom", "Execute", MP_RGB(255, 0, 0));
unsigned InterpreterMainLoop(ARMul_State* cpu) {
Common::Profiling::ScopeTimer timer_execute(profile_execute);
MICROPROFILE_SCOPE(DynCom_Execute);
#undef RM
#undef RS