Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Variables
profiler.hh File Reference
#include <stdint.h>
#include "common/hardware/pcsxprof.h"
#include "psyqo/shadow-stack.hh"
Include dependency graph for profiler.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  psyqo::Profiler
 Scoped profiler: timed scopes recorded into a ring buffer. More...
 
struct  psyqo::Profiler::Zone
 Static descriptor of one profiled scope. Its address is its identity. More...
 
struct  psyqo::Profiler::Buffer< Capacity >
 Storage for the ring buffer, with room for Capacity scopes. More...
 
class  psyqo::Profiler::Scope
 Times its own lifetime. Use PSYQO_PROFILE_SCOPE rather than declaring one directly. More...
 
struct  psyqo::Profiler::BenchResult
 

Namespaces

namespace  psyqo
 

Macros

#define PSYQO_PROFILE_CONCAT_(a, b)   a##b
 
#define PSYQO_PROFILE_CONCAT(a, b)   PSYQO_PROFILE_CONCAT_(a, b)
 
#define PSYQO_PROFILE_SCOPE(name)
 Profiles the rest of the enclosing block under name, a string literal.
 

Variables

uint32_t psyqoFrameCounter
 

Macro Definition Documentation

◆ PSYQO_PROFILE_CONCAT

#define PSYQO_PROFILE_CONCAT (   a,
  b 
)    PSYQO_PROFILE_CONCAT_(a, b)

◆ PSYQO_PROFILE_CONCAT_

#define PSYQO_PROFILE_CONCAT_ (   a,
  b 
)    a##b

◆ PSYQO_PROFILE_SCOPE

#define PSYQO_PROFILE_SCOPE (   name)
Value:
static constexpr psyqo::Profiler::Zone PSYQO_PROFILE_CONCAT(psyqoProfileZone_, __LINE__) = {name, __FILE__, \
__LINE__}; \
psyqo::Profiler::Scope PSYQO_PROFILE_CONCAT(psyqoProfileScope_, __LINE__) { \
PSYQO_PROFILE_CONCAT(psyqoProfileZone_, __LINE__) \
}
Times its own lifetime. Use PSYQO_PROFILE_SCOPE rather than declaring one directly.
Definition profiler.hh:142
#define PSYQO_PROFILE_CONCAT(a, b)
Definition profiler.hh:261
Static descriptor of one profiled scope. Its address is its identity.
Definition profiler.hh:82

Profiles the rest of the enclosing block under name, a string literal.

Variable Documentation

◆ psyqoFrameCounter

uint32_t psyqoFrameCounter