<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JIT on @higuoxing&#39;s site</title>
    <link>https://higuoxing.com/tags/jit/</link>
    <description>Recent content in JIT on @higuoxing&#39;s site</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 09 Oct 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://higuoxing.com/tags/jit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Implementing an alternative JIT provider for PostgreSQL</title>
      <link>https://higuoxing.com/archive/implementing-jit-provider-for-pgsql/</link>
      <pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://higuoxing.com/archive/implementing-jit-provider-for-pgsql/</guid>
      <description>&lt;p&gt;Just in time compilation is added to PostgreSQL since the version of 11. The default JIT provider for PostgreSQL is based on LLVM. PostgreSQL allows user to use an alternative JIT provider by setting the &lt;code&gt;jit_provider&lt;/code&gt; GUC parameter&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. The pluggable JIT interface is very easy to use and I&amp;rsquo;ve successfully built two prototypes, one emits C codes&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; and the other one emits assembly codes&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; using the AsmJit library&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;. In this post, I&amp;rsquo;ll give a brief introduction to the existing LLVM JIT provider and show you how to implement the prototype that emits C codes. It&amp;rsquo;s fun and easy.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
