3 个版本
| 0.0.3-alpha | 2022年11月10日 |
|---|---|
| 0.0.2-alpha | 2022年11月10日 |
| 0.0.1-alpha | 2022年11月7日 |
#8 in #smart-contract
在 2 crates 中使用
145KB
4K SLoC
Sonatina
Sonatina 是一个针对智能合约优化的编译器后端。
Sonatina 目前处于开发初期阶段,因此请不要在生产环境中使用它!
项目布局
sonatina 由几个 crate 组成。
codegen:sonatina的主要 crate,提供 IR 模块和函数构建器、优化流程、指令选择 DAG 和二进制代码输出。filecheck: 为filecheck提供测试运行器和测试固件。parser:sonatinaIR 的解析器,主要用于filecheck测试。object: 为链接器提供抽象的目标文件格式。triple: 为智能合约提供目标三元组。
待办事项
- IR 验证器
- ISel DAG
- 为 EVM 的全局堆分配
- 内联函数
- 对象
- 链接器
测试
运行 test_all.sh。
依赖项
~1.6–2.3MB
~44K SLoC