asmjit::Globals Namespace Reference

Contains typedefs, constants, and variables used globally by AsmJit.

Classes

Variables

Variable Documentation

uint32_t Globals::kAllocOverhead = uint32_t(sizeof(intptr_t)* 4)constexprstaticconstexpr◆ 

Host memory allocator overhead.

uint32_t Globals::kAllocAlignment = 8constexprstaticconstexpr◆ 

Host memory allocator alignment.

uint32_t Globals::kGrowThreshold = 1024* 1024* 16constexprstaticconstexpr◆ 

Aggressive growing strategy threshold.

uint32_t Globals::kMaxTreeHeight = (ASMJIT_ARCH_BITS == 32 ? 30 : 61) + 1constexprstaticconstexpr◆ 

Maximum depth of RB-Tree is:

2 * log2(n + 1)

Size of RB node is at least two pointers (without data), so a theoretical architecture limit would be:

2 * log2(addressableMemorySize / sizeof(Node) + 1)

Which yields 30 on 32-bit arch and 61 on 64-bit arch. The final value was adjusted by +1 for safety reasons.

uint32_t Globals::kMaxOpCount = 6constexprstaticconstexpr◆ 

Maximum number of operands per a single instruction.

uint32_t Globals::kMaxFuncArgs = 32constexprstaticconstexpr◆ 

Maximum arguments of a function supported by the Compiler / Function API.

uint32_t Globals::kMaxValuePack = 4constexprstaticconstexpr◆ 

The number of values that can be assigned to a single function argument or return value.

uint32_t Globals::kMaxPhysRegs = 32constexprstaticconstexpr◆ 

Maximum number of physical registers AsmJit can use per register group.

uint32_t Globals::kMaxAlignment = 64constexprstaticconstexpr◆ 

Maximum alignment.

uint32_t Globals::kMaxLabelNameSize = 2048constexprstaticconstexpr◆ 

Maximum label or symbol size in bytes.

uint32_t Globals::kMaxSectionNameSize = 35constexprstaticconstexpr◆ 

Maximum section name size.

uint32_t Globals::kMaxCommentSize = 1024constexprstaticconstexpr◆ 

Maximum size of comment.

uint32_t Globals::kInvalidId = 0xFFFFFFFFuconstexprstaticconstexpr◆ 

Invalid identifier.

uint32_t Globals::kNotFound = 0xFFFFFFFFuconstexprstaticconstexpr◆ 

Returned by indexOf() and similar when working with containers that use 32-bit index/size.

uint64_t Globals::kNoBaseAddress = ~uint64_t(0)constexprstaticconstexpr◆ 

Invalid base address.

uint32_t Globals::kNumVirtGroups = 4constexprstaticconstexpr◆ 

Number of virtual register groups.

const constexpr Init_ Globals::Init {}staticconstexpr◆ 

A decorator used to initialize.

const constexpr NoInit_ Globals::NoInit {}staticconstexpr◆ 

A decorator used to not initialize.