raku - 如何转储 MoarVM 字节码
问题描述
我想知道如何调试 Moarvm 字节码。是否有文档描述例如如何将 raku 转换为 moarvm 以及如何转储生成的字节码。如果我尝试运行:
rakudo-m --target=mbc c.p6
===SORRY!===
Cannot dump this object; no dump method
我在某处读到了“--dump”开关,但这似乎不可用。我从 github 自定义编译 rakudo/nqp/moarvm。
解决方案
rakudo 编译器的target
参数需要--output=filename
一些值。parse
, ast
, 并且optimize
都会很高兴地输出到控制台。
moar
二进制是有标志的--dump
,但我可能会建议使用 moarvm 的spesh子系统的调试输出,它是动态字节码专用器和 jit。
您可以通过将环境变量设置MVM_SPESH_LOG
为文件名来获得它。如果有问题的代码没有足够频繁地运行以出现在spesh 日志中,您可以设置MVM_SPESH_NODELAY
以便moar
更早地考虑例程“热”。优化器可以使用的信息会更少,但如果您只看到编译结果,那应该没问题。
推荐阅读
- javascript - 需要帮助在 BIRT 报表设计器中索引列表
- java - How can I make the user not able to enter anything, but the user can press enter to go to the next step of the program?
- java - Why do jdk need to use "final" to create object of "Semaphore"?
- ios - CSS transform and z-index bug on hover in macOS Safari and iOS browsers
- c++ - 不同类型的模板非类型参数
- react-native - "Enable Live Reload" and Enable Hot Reloading" options missing from action sheet after Shake Gesture
- typescript - How to make grid dynamically by clicking a button
- angular - Angular main.js 文件大
- java - 在 Java 中对 UTF-16 字符串中的字符进行排序
- javascript - Extra operations being done in JavaScript