rusty_v8:Rust 的 V8 javascript 绑定

时间:2024-08-12 16:14:57
【文件属性】:

文件名称:rusty_v8:Rust 的 V8 javascript 绑定

文件大小:205KB

文件格式:ZIP

更新时间:2024-08-12 16:14:57

Rust

生锈的 V8 绑定 V8 版本:9.3.345.3 目标 为提供高质量的 Rust 绑定。 API 应尽可能匹配原始 API。 不要引入额外的呼叫开销。 (例如,之前对 Rust V8 绑定的尝试强制使用持久句柄。) 不要依赖于在货物之外构建的二进制libv8.a 。 V8 是一个非常大的项目(超过 600,000 行 C++),通常需要 30 分钟来编译。 此外,V8 依赖于 Chromium 的定制构建系统(gn + ninja),该系统在 Chromium 之外不易使用。 出于这个原因,许多绑定到 V8 的尝试依赖于与绑定本身分开构建的预构建二进制文件。 虽然这很简单,但它使升级 V8 变得困难,使 CI 变得困难,使生成具有不同配置的构建变得困难,并且由于二进制 blob 可以隐藏恶意代码,因此存在安全问题。 出于这个原因,我们认为必须在“货物构建”期间从源代码构建 V8。


【文件预览】:
rusty_v8-main
----.rustfmt.toml(104B)
----Cargo.toml(2KB)
----.github()
--------workflows()
----.gitmodules(1KB)
----Cargo.lock(5KB)
----v8()
----src()
--------context.rs(2KB)
--------array_buffer_view.rs(1KB)
--------bigint.rs(4KB)
--------external_references.rs(1KB)
--------icu.rs(2KB)
--------exception.rs(11KB)
--------platform.rs(6KB)
--------object.rs(16KB)
--------handle.rs(13KB)
--------isolate_create_params.rs(9KB)
--------unbound_script.rs(1KB)
--------symbol.rs(3KB)
--------shared_array_buffer.rs(4KB)
--------private.rs(2KB)
--------name.rs(454B)
--------property_attribute.rs(2KB)
--------function.rs(14KB)
--------snapshot.rs(5KB)
--------module.rs(15KB)
--------support.rs(23KB)
--------script_compiler.rs(7KB)
--------script.rs(3KB)
--------value.rs(18KB)
--------support.h(5KB)
--------string.rs(10KB)
--------value_serializer.rs(13KB)
--------wasm.rs(4KB)
--------unbound_module_script.rs(645B)
--------fixed_array.rs(822B)
--------scope.rs(70KB)
--------binding.cc(97KB)
--------inspector.rs(24KB)
--------external.rs(682B)
--------script_or_module.rs(1KB)
--------value_deserializer.rs(12KB)
--------primitive_array.rs(2KB)
--------promise.rs(6KB)
--------lib.rs(4KB)
--------data.rs(60KB)
--------typed_array.rs(1KB)
--------array_buffer.rs(13KB)
--------number.rs(2KB)
--------proxy.rs(1KB)
--------template.rs(9KB)
--------primitives.rs(876B)
--------V8.rs(7KB)
--------isolate.rs(33KB)
--------date.rs(772B)
--------json.rs(1KB)
----.clang-format(21B)
----base()
--------trace_event()
----.prettierrc.json(28B)
----build.rs(20KB)
----examples()
--------count-hosts.js(2KB)
--------process.rs(10KB)
--------shell.rs(6KB)
--------hello_world.rs(2KB)
----LICENSE(1KB)
----tools()
--------clang()
--------upgrade_v8.sh(1KB)
--------ninja_gn_binaries.py(3KB)
--------auto_update_v8.ts(3KB)
--------download_file.py(2KB)
----build()
----README.md(6KB)
----BUILD.gn(1008B)
----.gn(1KB)
----buildtools()
----tests()
--------test_api_entropy_source.rs(2KB)
--------test_platform_atomics_pump_message_loop.rs(2KB)
--------test_api_flags.rs(845B)
--------test_ui.rs(267B)
--------compile_fail()
--------test_single_threaded_default_platform.rs(767B)
--------test_api.rs(173KB)
--------slots.rs(4KB)
----.gitignore(49B)
----third_party()
--------markupsafe()
--------zlib()
--------icu()
--------googletest()
--------jinja2()

网友评论