#include <Ark/VM/VM.hpp>
#include <utility>
#include <numeric>
#include <limits>
#include <ranges>
#include <fmt/core.h>
#include <fmt/color.h>
#include <Ark/Files.hpp>
#include <Ark/Utils.hpp>
#include <Ark/TypeChecker.hpp>
#include <Ark/Compiler/Instructions.hpp>
Go to the source code of this file.
◆ DISPATCH
◆ DISPATCH_GOTO
#define DISPATCH_GOTO |
( |
| ) |
|
◆ GOTO_HALT
◆ NEXTOPARG
Value: do \
{ \
inst = m_state.m_pages[context.pp][context.ip]; \
padding = m_state.m_pages[context.pp][context.ip + 1]; \
arg = static_cast<uint16_t>((m_state.m_pages[context.pp][context.ip + 2] << 8) + \
m_state.m_pages[context.pp][context.ip + 3]); \
context.ip += 4; \
} while (false)
◆ TARGET
◆ UNPACK_ARGS
Value: do \
{ \
secondary_arg = static_cast<uint16_t>((padding << 4) | (arg & 0xf000) >> 12); \
primary_arg = arg & 0x0fff; \
} while (false)
Referenced by Ark::VM::safeRun().