JavaScriptV8引擎1:v8引擎简介

这一系列的文章翻译自:https://v8.dev/docs
这是这一系列文档翻译的第一篇,之后会陆续翻译所有的文档,取决于个人的空余时间。

文档

V8是google开源的高性能JavaScript和WebAssembly引擎,使用c++编写。它被用于chrome和node.js,以及其他的浏览器。

这篇文档的目标读者是希望再他们的应用程序中使用V8引擎的C++开发者,以及其他对V8引擎的设计和性能感兴趣的人。这篇文档向你介绍了V8,该系列剩余的其他文档将会向你展示如何再你的代码中使用V8,同时会描述一些V8引擎的设计细节,以及提供了关于测试V8引擎性能的一系列JavaScript基准。

关于V8

V8实现了ECMAScript以及WebAssembly,可以运行在Window 7或者更高,MacOS 10.12+,以及使用x84,IA-32,ARM,或者MIPS处理器的Linux系统。V8可以单独启动,也可以嵌入到其他任何C++程序中。

V8编译和执行JavaScript源代码,处理对于对象的内存分配,以及当对象不再需要时的垃圾收集。精确的垃圾收集器时V8性能的关键之一。

JavaScript在浏览器的脚本编程中被广泛使用,例如用于操作DOM。DOM一般不是由JavaScript引擎提供的,而是由浏览器来实现的。在V8中也是这样,Google Chrome提供了DOM。然而,V8确实提供了所有ECMA标准定义的数据类型,操作符,对象和函数。

V8使得任何C++程序可以暴露它们自己的对象和函数与给JavaScript代码。由你来决定你想要将哪些对象和函数暴露给JavaScript。

文档概览

  • 从源代码构建V8
  • Contributing
    • V8’s public API and its stability
    • Becoming a V8 committer
    • Committer’s responsibility
    • Blink web tests (a.k.a. layout tests)
    • Evaluating code coverage
    • Release process
    • Implementing and shipping JavaScript/WebAssembly language features
    • Flake bisect
    • Handling of ports
    • Merging & patching
    • Node.js integration build
    • New Node.js integration build
    • Reporting security bugs
    • Running benchmarks locally
    • Testing
    • Triaging issues
  • Debugging
    ARM debugging with the simulator
    Cross-compiling and debugging for ARM/Android
    Debugging builtins with GDB
    Debugging over the V8 Inspector Protocol
    GDB JIT Compilation Interface integration
    Investigating memory leaks
    Stack trace API
    Using D8
  • Embedding V8
    Guide to embedding V8
    Version numbers
    Built-in functions
    i18n support
    Untrusted code mitigations
  • Under the hood
    Ignition
    TurboFan
    Torque user manual
    Writing Torque built-ins
    Writing CSA built-ins
  • Writing optimizable JavaScript
    Using V8’s sample-based profiler
    Profiling Chromium with V8
    Using Linux perf with V8
    Tracing V8
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章