diff --git a/src/asmjit/core/radefs_p.h b/src/asmjit/core/radefs_p.h index e17805b..484bb7a 100644 --- a/src/asmjit/core/radefs_p.h +++ b/src/asmjit/core/radefs_p.h @@ -462,7 +462,10 @@ public: //! \name Overloaded Operators //! \{ - inline RALiveSpan& operator=(const RALiveSpan& other) = default; + inline RALiveSpan& operator=(const RALiveSpan& other) { + init(other); + return *this; + } //! \} }; diff --git a/src/asmjit/core/ralocal.cpp b/src/asmjit/core/ralocal.cpp index 1d3a6cf..b803148 100644 --- a/src/asmjit/core/ralocal.cpp +++ b/src/asmjit/core/ralocal.cpp @@ -831,6 +831,9 @@ Error RALocalAllocator::spillAfterAllocation(InstNode* node) noexcept { } Error RALocalAllocator::allocBranch(InstNode* node, RABlock* target, RABlock* cont) noexcept { + // TODO: This should be used to make the branch allocation better. + ASMJIT_UNUSED(cont); + // The cursor must point to the previous instruction for a possible instruction insertion. _cc->_setCursor(node->prev()); diff --git a/src/asmjit/x86/x86internal.cpp b/src/asmjit/x86/x86internal.cpp index 2e3f631..1361782 100644 --- a/src/asmjit/x86/x86internal.cpp +++ b/src/asmjit/x86/x86internal.cpp @@ -15,6 +15,9 @@ #include "../core/type.h" #include "../x86/x86internal_p.h" +// Can be used for debugging... +// #define ASMJIT_DUMP_ARGS_ASSIGNMENT + ASMJIT_BEGIN_SUB_NAMESPACE(x86) // ============================================================================ @@ -1319,7 +1322,7 @@ ASMJIT_FAVOR_SIZE Error X86Internal::emitEpilog(Emitter* emitter, const FuncFram // [asmjit::X86Internal - Emit Arguments Assignment] // ============================================================================ -#ifndef ASMJIT_NO_LOGGING +#ifdef ASMJIT_DUMP_ARGS_ASSIGNMENT static void dumpFuncValue(String& sb, uint32_t archId, const FuncValue& value) noexcept { Logging::formatTypeId(sb, value.typeId()); sb.appendChar('@'); @@ -1372,13 +1375,13 @@ ASMJIT_FAVOR_SIZE Error X86Internal::emitArgsAssignment(Emitter* emitter, const X86FuncArgsContext ctx; ASMJIT_PROPAGATE(ctx.initWorkData(frame, args)); - /* + #ifdef ASMJIT_DUMP_ARGS_ASSIGNMENT { String sb; dumpAssignment(sb, ctx); printf("%s\n", sb.data()); } - */ + #endif uint32_t archId = ctx.archId(); uint32_t varCount = ctx._varCount;