asmjit::Globals Namespace Reference

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

Classes

Enumerations

Variables

Enumeration Type Documentation

Globals::ResetPolicy : uint32_tenum

Reset policy used by most reset() functions.

ConstantDescription
kResetSoft 

Soft reset, doesn't deallocate memory (default).

kResetHard 

Hard reset, releases all memory used, if any.

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 = (32 == 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 = 16constexprstaticconstexpr

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.