58 [[nodiscard]] std::string_view
name() const noexcept override;
IExecutionEngine()=default
Abstract interface for linear addressable memory.
std::string_view name() const noexcept override
Returns the human-readable name of this engine.
std::unique_ptr< Impl > impl_
void halt(ProcessId pid) override
Forcibly halts execution of the given process.
InterpreterEngine & operator=(const InterpreterEngine &)=delete
ExecutionResult execute(ProcessImage &process, std::size_t tickBudget) override
Executes the given process for up to tickBudget ticks.
InterpreterEngine(ICPU &cpu, IMemory &memory)
Constructs an InterpreterEngine.
InterpreterEngine(InterpreterEngine &&) noexcept
InterpreterEngine(const InterpreterEngine &)=delete
~InterpreterEngine() override
Full in-memory representation of a process.
IExecutionEngine — abstract interface for process execution engines.
std::uint32_t ProcessId
Unique identifier for a process.
Result of an execution burst returned by IExecutionEngine::execute().