gpt4 book ai didi

javascript - V8 中的数组方法是用 C++、Torque 编写的,还是 JS 在运行时转换为机器码?

转载 作者:行者123 更新时间:2023-12-05 00:37:46 26 4
gpt4 key购买 nike

我正在学习 V8 运行时,我想知道是否数组方法,例如 array.map ,V8里面是用C++写的吗?我在这里看到一些让我感到困惑的 Torque 文件,所以我想知道它们是否是用 Torque 而不是 C++ 编写的?

https://github.com/v8/v8/blob/master/src/builtins/array-map.tq

我的理解是 V8 使用即时 (JIT) 概念将 JavaScript 代码转换为机器代码。

所以我想我想知道是否有 array.map 的 C++ 或 Torque 等价物。 , 还是 C++ 或 Torque 模块仅用于转换 array.map 的 JS 版 native 器码?

谢谢!

最佳答案

V8 开发人员在这里。我们有几种不同的“内置”实现技术:有些是用 C++ 编写的,有些是用 Torque 编写的,有些是我们称之为 CodeStubAssembler 的,还有一些是直接在汇编中编写的。在 V8 的早期版本中,有些是用 JavaScript 实现的。这些策略中的每一个都有自己的优势(权衡代码复杂性、可调试性、各种情况下的性能、二进制大小和内存消耗);另外,代码随着时间的推移而演变总是有历史原因的。

关于javascript - V8 中的数组方法是用 C++、Torque 编写的,还是 JS 在运行时转换为机器码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56585898/

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