Idź do kodu źródłowego tego pliku.
Przestrzenie nazw | |
namespace | Arch |
namespace | Arch::x86 |
namespace | Arch::x86::RTC |
namespace | Debug |
namespace | Debug::Profiler |
Komponenty | |
struct | Debug::Profiler::profiling_s |
Definicje | |
#define | MAX_PROFILER 200 |
#define | PROFILER_ENABLE |
#define | _Pf(n) |
#define | _PF _Pf(__func__) |
#define | _PFEnd |
#define | Preturn(r) do { _PFEnd; return r; } while(0) |
#define | preturn(r) do { _PFEnd; return r; } while(0) |
Funkcje | |
void * | memset (void *buffer, int c, uint32 num) |
uint64 | Debug::Profiler::rdtsc () |
void | Debug::Profiler::stats (bool SortBySlowest) |
int | Debug::Profiler::ProfilingCompar (const void *A, const void *B) |
uint64 | rdtsc () |
read the intel time-stamp counter; this does not check for it being availlable; cpuid.cpp contains a check for the stamp(it should) |
#define _PF _Pf(__func__) |
Definicja w linii 65 pliku profiler.hpp.
Odwołania w Memory::Heap::heapbox::malloc() i Thread::wake_threads().
#define _Pf | ( | n | ) |
Wartość:
static uint32 __Zx3Ed8_ = 0xffff; \ uint64 __ZxCOMPS; \ do { \ if (__Zx3Ed8_ == 0xffff) { __Zx3Ed8_= Debug::Profiler::ProfilerCount++; \ if (Debug::Profiler::ProfilerCount >= MAX_PROFILER) \ {cout((char*)n); \ sysfail("profiler: buffer too small!"); }\ memset(&Debug::Profiler::ProfilerBuf[__Zx3Ed8_],0,sizeof(Debug::Profiler::profiling_s)); \ Debug::Profiler::ProfilerBuf[__Zx3Ed8_].Name=(char*)n; } \ __ZxCOMPS=/*Arch::x86::RTC::up_time;*/Debug::Profiler::rdtsc(); \ Debug::Profiler::ProfilerBuf[__Zx3Ed8_].Active++; \ \ } while(0)
Definicja w linii 50 pliku profiler.hpp.
Odwołania w Memory::Pager::allocate_memtree(), Thread::awake(), Memory::Pager::cpypage(), Memory::Pager::FrameAssign(), Syms::init(), Memory::Pager::init(), Memory::Pager::init_pf(), Memory::Pager::lazy_paging_pfh(), memmove(), Memory::Pager::memmove2(), memset(), Memory::Pager::PageFaultHandler(), Memory::Pager::memtree::pte_map(), Memory::Pager::memtree::pte_val(), sem_destroy(), sem_getvalue(), sem_init(), sem_post(), sem_trywait(), sem_wait(), Thread::sleep(), Thread::sleepcompar(), Debug::Profiler::stats(), Syms::symscompar(), Thread::thread_load(), Thread::unqueue_thread() i Debug::Profiler::voidnull().
#define _PFEnd |
Wartość:
do { \ Debug::Profiler::ProfilerBuf[__Zx3Ed8_].Time+=Debug::Profiler::rdtsc()/*Arch::x86::RTC::up_time*/-__ZxCOMPS;\ Debug::Profiler::ProfilerBuf[__Zx3Ed8_].Active--; \ Debug::Profiler::ProfilerBuf[__Zx3Ed8_].Calls++;\ } while (0)
Definicja w linii 68 pliku profiler.hpp.
#define MAX_PROFILER 200 |
Definicja w linii 42 pliku profiler.hpp.
#define preturn | ( | r | ) | do { _PFEnd; return r; } while(0) |
Definicja w linii 76 pliku profiler.hpp.
Odwołania w Memory::Pager::allocate_memtree(), Thread::awake(), Memory::Pager::cpypage(), Memory::Pager::FrameAssign(), Memory::Pager::init(), Memory::Pager::init_pf(), Memory::Pager::lazy_paging_pfh(), memmove(), Memory::Pager::memmove2(), memset(), Memory::Pager::PageFaultHandler(), Memory::Pager::memtree::pte_map(), Memory::Pager::memtree::pte_val(), sem_destroy(), sem_getvalue(), sem_init(), sem_post(), sem_trywait(), sem_wait(), Thread::sleep(), Thread::sleepcompar(), Syms::symscompar(), Thread::thread_load(), Thread::unqueue_thread() i Debug::Profiler::voidnull().
#define Preturn | ( | r | ) | do { _PFEnd; return r; } while(0) |
Definicja w linii 75 pliku profiler.hpp.
Odwołania w Syms::init(), Memory::Heap::heapbox::malloc(), Debug::Profiler::stats() i Thread::wake_threads().
#define PROFILER_ENABLE |
Definicja w linii 47 pliku profiler.hpp.
void * memset | ( | void * | buffer, | |
int | c, | |||
uint32 | num | |||
) |
Definicja w linii 38 pliku memset.cpp.
Odwołania w blist_t::add(), Memory::Physical::alloc4kDirty_high(), Memory::Physical::alloc4kDirty_low(), Thread::allocate_context(), Memory::Heap::allocate_heapbox(), IPC::Message::allocate_mailbox(), Memory::Pager::allocate_memtree(), Thread::process_t::create_thread(), debug_dump_call_trace(), Syms::Mangle::Cxx::demangle(), elf_t::done(), mmap_t::done(), blist_t::done(), EnvGet(), Thread::process_t::init(), mmap_t::init(), Memory::Heap::heapbox::init(), IPC::Lock::lock_t::init(), Arch::x86::RTC::init(), Thread::process_t::InitKeepHeap(), IPC::Lock::lock_t::lock_t(), mmap_t::madd(), Memory::Heap::heapbox::morecor(), blist_t::ptr(), Memory::Heap::heapbox::resize_used_blocks_table(), sem_destroy(), sem_init(), elf_t::set_ehdr(), Memory::Shmem::shmem_attach() i Memory::Shmem::shmem_create().
uint64 rdtsc | ( | ) | [inline] |
read the intel time-stamp counter; this does not check for it being availlable; cpuid.cpp contains a check for the stamp(it should)
Definicja w linii 97 pliku profiler.hpp.
Odwołuje się do Debug::Profiler::rdtsc().
Odwołania w PRNG::rdtsc_runner() i VarieteThread().