asmjit::Globals Namespace Reference

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




Enumeration Type Documentation

Globals::ResetPolicy : uint32_tenum

Reset policy used by most reset() functions.


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


Hard reset, releases all memory used, if any.

Variable Documentation

uint32_t Globals::kAllocOverhead = uint32_t(sizeof(intptr_t)* 4)constexprconstexpr

Host memory allocator overhead.

uint32_t Globals::kAllocAlignment = 8constexprconstexpr

Host memory allocator alignment.

uint32_t Globals::kGrowThreshold = 1024* 1024* 16constexprconstexpr

Aggressive growing strategy threshold.

uint32_t Globals::kMaxTreeHeight = (32 == 32 ? 30 : 61) + 1constexprconstexpr

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 = 6constexprconstexpr

Maximum number of operands per a single instruction.

uint32_t Globals::kMaxFuncArgs = 16constexprconstexpr

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

uint32_t Globals::kMaxPhysRegs = 32constexprconstexpr

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

uint32_t Globals::kMaxAlignment = 64constexprconstexpr

Maximum alignment.

uint32_t Globals::kMaxLabelNameSize = 2048constexprconstexpr

Maximum label or symbol size in bytes.

uint32_t Globals::kMaxSectionNameSize = 35constexprconstexpr

Maximum section name size.

uint32_t Globals::kMaxCommentSize = 1024constexprconstexpr

Maximum size of comment.

uint32_t Globals::kInvalidId = 0xFFFFFFFFuconstexprconstexpr

Invalid identifier.

uint32_t Globals::kNotFound = 0xFFFFFFFFuconstexprconstexpr

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

uint64_t Globals::kNoBaseAddress = ~uint64_t(0)constexprconstexpr

Invalid base address.