✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨
—— 专为开发者打造的宝藏基地,等你来探索!
这里有:
🔥 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
🎉 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
💎 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!
🚀 立即访问 → 盹猫猫的个人小站 ← 点击探索
🌟 说不定这里就有你寻找已久的技术秘籍哦~
文章目录
Welcome to Code Block's blog本篇文章主要介绍了
[rbpf虚拟机-即时编译器(JIT)]
❤博主广交技术好友,喜欢我的文章的可以关注一下❤
一、概述
该篇文章是记录rbpf虚拟机即时编译器(JIT)方法过程。
本文记录的是基于 x86-64 架构的 eBPF(Extended Berkeley Packet Filter)即时编译器(JIT)。
(学习该虚拟机的目的是为了搞懂solana合约的执行方式,solana使用的rbpf是在该虚拟机上进行扩展。)
二、主要功能
2.1 寄存器映射
eBPF 有 11 个通用寄存器,x86-64 有更多的寄存器。
- RAX 映射到 eBPF 的返回值寄存器。
- RDI、RSI、RDX 等寄存器用于传递参数。
2.2 指令发射
指令发射是 JIT 编译的核心部分(emit*),在本编译器中主要由下述指令完成:
emit_alu32和emit_alu64生成算术逻辑单元(

订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



