gpt4 book ai didi

javascript - 有没有办法查看由任何 JavaScript jit(尤其是 V8)生成的代码的汇编代码?

转载 作者:行者123 更新时间:2023-12-03 21:21:20 25 4
gpt4 key购买 nike

专业 JavaScript网络浏览器引擎和nodeJS有过just-in-time编译器多年。

我只是在观看 Compiler Explorer 上的视频显示了许多编译器为各种 CPU 输出的汇编代码。

这让我想起了我一直对 JS 引擎的 jits 生成的代码感到好奇。

这些引擎是否有办法让我们看到低级生成的代码?

(如果这在 SO 上不合适,请随时将其迁移到正确的 SE 站点。)

最佳答案

对于 V8,有一个标志 --print-opt-code ,它为每个得到优化的函数打印生成的优化汇编代码。请注意,函数只有在“热”时才会得到优化,而不是立即进行优化,因此对于简短的“hello, world”样式程序,该标志不会打印任何内容。您可以通过大量调用函数来使函数“热”。

在旧版本中,有一个 --print-code未优化代码的标志,但由于基线(非优化)编译器已被解释器替换,因此不再有未优化代码。您可以使用 --print-bytecode 打印生成的字节码.

如果您使用的是 Chrome,您可以通过将它们包装在 --js-flags 中来指定要传递给 V8 的标志,例如--js-flags="--print-opt-code" .

关于javascript - 有没有办法查看由任何 JavaScript jit(尤其是 V8)生成的代码的汇编代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48007072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com