pgsql: jit: No backport::SectionMemoryManager for LLVM 22.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: jit: No backport::SectionMemoryManager for LLVM 22.
Date: 2026-04-03 02:15:45
Message-ID: E1w8U4X-002h2w-01@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

jit: No backport::SectionMemoryManager for LLVM 22.

LLVM 22 has the fix that we copied into our tree in commit 9044fc1d and
a new function to reach it[1][2], so we only need to use our copy for
Aarch64 + LLVM < 22. The only change to the final version that our copy
didn't get is a new LLVM_ABI macro, but that isn't appropriate for us.
Our copy is hopefully now frozen and would only need maintenance if bugs
are found in the upstream code.

Non-Aarch64 systems now also use the new API with LLVM 22. It allocates
all sections with one contiguous mmap() instead of one per
section. We could have done that earlier, but commit 9044fc1d wanted to
limit the blast radius to the affected systems. We might as well
benefit from that small improvement everywhere now that it is available
out of the box.

We can't delete our copy until LLVM 22 is our minimum supported version,
or we switch to the newer JITLink API for at least Aarch64.

[1] https://github.com/llvm/llvm-project/pull/71968
[2] https://github.com/llvm/llvm-project/pull/174307

Backpatch-through: 14
Discussion: https://postgr.es/m/CA%2BhUKGJTumad75o8Zao-LFseEbt%3DenbUFCM7LZVV%3Dc8yg2i7dg%40mail.gmail.com

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5c54e0f48fa2bc55080529179da9e49a22eeb0f4

Modified Files
--------------
src/backend/jit/llvm/SectionMemoryManager.cpp | 19 ++++++-------------
src/backend/jit/llvm/llvmjit.c | 5 ++++-
src/include/jit/SectionMemoryManager.h | 2 +-
src/include/jit/llvmjit_backport.h | 4 ++--
4 files changed, 13 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2026-04-03 02:16:09 pgsql: jit: No backport::SectionMemoryManager for LLVM 22.
Previous Message Thomas Munro 2026-04-03 02:15:26 pgsql: jit: No backport::SectionMemoryManager for LLVM 22.