diff --git a/src/asmjit/x86/x86compiler.cpp b/src/asmjit/x86/x86compiler.cpp index 2d97e06..33377e9 100644 --- a/src/asmjit/x86/x86compiler.cpp +++ b/src/asmjit/x86/x86compiler.cpp @@ -40,6 +40,17 @@ Compiler::Compiler(CodeHolder* code) noexcept : BaseCompiler() { } Compiler::~Compiler() noexcept {} +// ============================================================================ +// [asmjit::x86::Compiler - Finalize] +// ============================================================================ + +Error Compiler::finalize() { + ASMJIT_PROPAGATE(runPasses()); + Assembler a(_code); + a.addEncodingOptions(encodingOptions()); + a.addValidationOptions(validationOptions()); + return serialize(&a); +} // ============================================================================ // [asmjit::x86::Compiler - Events] // ============================================================================ diff --git a/src/asmjit/x86/x86compiler.h b/src/asmjit/x86/x86compiler.h index 57598ef..4c64b3b 100644 --- a/src/asmjit/x86/x86compiler.h +++ b/src/asmjit/x86/x86compiler.h @@ -698,6 +698,13 @@ public: //! \} + //! \name Finalize + //! \{ + + ASMJIT_API Error finalize() override; + + //! \} + //! \name Events //! \{