<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jit on zevorn.blog</title><link>https://zevorn.cn/tags/jit/</link><description>Recent content in Jit on zevorn.blog</description><image><title>zevorn.blog</title><url>https://zevorn.cn/avatar.webp</url><link>https://zevorn.cn/avatar.webp</link></image><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 08 Oct 2024 04:45:55 +0000</lastBuildDate><atom:link href="https://zevorn.cn/tags/jit/index.xml" rel="self" type="application/rss+xml"/><item><title>基于 Rust 编写最小 JIT</title><link>https://zevorn.cn/posts/19/</link><pubDate>Tue, 08 Oct 2024 04:39:47 +0000</pubDate><guid>https://zevorn.cn/posts/19/</guid><description>即时编译（Just In Time Compilation，简称 JIT 编译）是一种动态编译技术，在程序运行期间将高级语言的源代码或者中间表示形式（如字节码）转换为机器代码。与传统的静态编译不同，JIT 编译器在程序运行时选择性地编译代码片段，并且可以根据运行时的具体情况优化这些代码。 下面使用 Rust 构建一个最小 JIT 案例，参考 rustyjit</description></item><item><title>AsmJit 上手指南</title><link>https://zevorn.cn/posts/7/</link><pubDate>Mon, 27 May 2024 14:18:27 +0000</pubDate><guid>https://zevorn.cn/posts/7/</guid><description>一、基本介绍 AsmJit 是一个完整的 JIT ( just In Time, 运行时刻)的针对 C++ 语言的汇编器，可以生成兼容 x86 / x64 和 Aarch64 架构的原生代码，不仅支持整个x86/x64 的指令集（包括传统的 MMX 和最新的向量指令集），而且提供了一套可以在编译时刻进行语义检查的 API 。AsmJit 的使用也没有任何的限</description></item><item><title>LLVM3.0 JIT 处理代码块重定向阶段对外部符号解析的 Bug</title><link>https://zevorn.cn/posts/4/</link><pubDate>Wed, 22 May 2024 09:29:59 +0000</pubDate><guid>https://zevorn.cn/posts/4/</guid><description>LLVM3.0 的 JIT 在 MinGW64 / MSCV64 上，进行代码块重定向阶段，处理超过32位地址范围(前后跳转2GB地址空间)的外部符号地址时，会将其强转为32位： 这会导致生成的指令，在执行时崩溃，一般表现为段错误。 解决办法： PS：这个问题似乎在 LLVM 3.1 上面也存在。</description></item></channel></rss>