Template Class Cpu

Nested Relationships

Nested Types

Class Documentation

template<typename Spec>
class sgpl::Cpu

Public Functions

Cpu() noexcept

Default constructor.

Cpu(const Cpu &other) noexcept

Copy constructor.

Cpu(Cpu &&other) noexcept

Move constructor.

Cpu &operator=(const Cpu &other) noexcept

Copy assignment operator.

Cpu &operator=(Cpu &&other) noexcept

Move assignment operator.

void ActivateNextCore() noexcept
bool TryActivateNextCore() noexcept
void ActivatePrevCore() noexcept
bool TryActivatePrevCore() noexcept
__attribute__((hot)) core_t &GetActiveCore() noexcept
core_t &GetFreshestCore() noexcept
void KillActiveCore() noexcept
void KillStaleCore() noexcept
void DoLaunchCore() noexcept
bool TryLaunchCore() noexcept
void ForceLaunchCore() noexcept
void DoLaunchCore(const tag_t &tag, const size_t jt_idx = 0) noexcept
bool TryLaunchCore(const tag_t &tag, const size_t jt_idx = 0) noexcept
void ForceLaunchCore(const tag_t &tag, const size_t jt_idx = 0) noexcept
size_t GetNumBusyCores() const noexcept
size_t GetNumFreeCores() const noexcept
size_t GetMaxCores() const noexcept
__attribute__((hot)) bool HasActiveCore() const noexcept
__attribute__((hot)) bool HasFreeCore() const noexcept
void Reset() noexcept
void InitializeAnchors(const sgpl::Program<Spec> &program) noexcept
const core_t &GetCore(const size_t idx) const noexcept
const global_jump_table_t &GetGlobalJumpTable(const size_t idx = 0) const noexcept
void DecayGlobalRegulators() noexcept
void AdvanceCycleClock(const size_t amt) noexcept
size_t GetCyclesSinceConstruction() const noexcept