rusty_v8
rusty_v8 copied to clipboard
Rust bindings for the V8 JavaScript engine
`v8::Integer::try_from(value)` currently checks that `value.is_int32() || value.is_uint32()`, meaning the range is restricted to a subset of `v8::Integer::value()`. That's confusing/misleading/arguably wrong so I suggest we fix that.
This function takes a [`HostImportModuleDynamicallyWithImportAssertionsCallback`](https://docs.rs/rusty_v8/0.30.0/rusty_v8/type.HostImportModuleDynamicallyWithImportAssertionsCallback.html). It's a callback that is called to resolve `import()`s, and should return a *raw* pointer to a `v8::Promise`. Its safety invariants are (sort of) mentioned...
In denoland/deno#12505 it came up that trying to run Javascript code from [`v8::ValueDeserializerImpl::read_host_object`](https://docs.rs/v8/0.34.0/v8/trait.ValueDeserializerImpl.html#method.read_host_object) resulted in a crash because apparently that method is invoked from V8 inside a `DisallowJavascriptExecutionScope`. Implementing structured...
This was found in Deno in denoland/deno#12658. I suspect this is a V8 bug, as opposed to a rusty_v8 bug, but filing it here first just in case. ```rust use...
Using 9.2-lkgr (specifically https://github.com/v8/v8/commit/84e9cc869c13a28dec61aea4dcac427f0e940e6c), we get an error during `gn gen` ``` ERROR at //gni/v8.gni:89:25: Duplicate build argument declaration. cppgc_is_standalone = false ^---- Here you're declaring an argument that was...
In the C++ v8 API, `BackingStore` simply exposes a pointer to the chunk of memory that belongs to the backing store and leaves it to the user to use it...
`SharedRef` implements `Send` if `T` implements `Sync`, so `BackingStore` implementing `Sync` means the following is possible: ```rust let buffer: v8::Local = run_script( scope, r#" let arrayBuffer = new ArrayBuffer(1024); globalThis.buffer...
Would enable the size optimization in https://github.com/denoland/deno/pull/9713
[As of v7.8](https://v8.dev/blog/v8-release-78#webassembly-c%2Fc%2B%2B-api) V8 implements the [Wasm C/C++ API proposal](https://github.com/WebAssembly/wasm-c-api/). This API is implemented as a separate V8 build target producing a library called libwee8. This library supports only WebAssembly,...
Hello! Why bindings are not implemented for indexed property interceptor in rusty_v8? Great job, thank you!