// This file is part of AsmJit project // // See asmjit.h or LICENSE.md for license and copyright information // SPDX-License-Identifier: Zlib #ifndef ASMJITUTILS_H_INCLUDED #define ASMJITUTILS_H_INCLUDED #include namespace { ASMJIT_MAYBE_UNUSED static inline const char* asmjitArchAsString(asmjit::Arch arch) noexcept { switch (arch) { case asmjit::Arch::kX86 : return "X86"; case asmjit::Arch::kX64 : return "X64"; case asmjit::Arch::kRISCV32 : return "RISCV32"; case asmjit::Arch::kRISCV64 : return "RISCV64"; case asmjit::Arch::kARM : return "ARM"; case asmjit::Arch::kAArch64 : return "AArch64"; case asmjit::Arch::kThumb : return "Thumb"; case asmjit::Arch::kMIPS32_LE : return "MIPS_LE"; case asmjit::Arch::kMIPS64_LE : return "MIPS64_LE"; case asmjit::Arch::kARM_BE : return "ARM_BE"; case asmjit::Arch::kThumb_BE : return "Thumb_BE"; case asmjit::Arch::kAArch64_BE: return "AArch64_BE"; case asmjit::Arch::kMIPS32_BE : return "MIPS_BE"; case asmjit::Arch::kMIPS64_BE : return "MIPS64_BE"; default: return ""; } } ASMJIT_MAYBE_UNUSED static inline void printIndented(const char* str, size_t indent) noexcept { const char* start = str; while (*str) { if (*str == '\n') { size_t size = (size_t)(str - start); printf("%*s%.*s\n", size ? int(indent) : 0, "", int(size), start); start = str + 1; } str++; } size_t size = (size_t)(str - start); if (size) printf("%*s%.*s\n", int(indent), "", int(size), start); } } // {anonymous} #endif // ASMJITUTILS_H_INCLUDED