0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-11-21 15:04:33 -05:00
denoland-rusty-v8/tests
Aapo Alasuutari 308a113445
feat: Implement Rust-side const ExternalOneByteStringResource subclass (#1275)
MSVC and Itanium C++ ABIs agree that for simple inheritance the basic structure of a vtable contains metadata fields at a "negative offset" from the vtable pointer, and at zero or positive offsets come the virtual function pointers in the order of declaration. The only difference between the two is that MSVC only places the virtual deleting destructor in the vtable while Itanium ABI places both the deleting and the complete object destructors in it, leading to a vtable that is one pointer larger in Itanium / on Linux. Also MSVC only has a single metadata field instead of two for Itanium. Itanium inlines the base offset into the vtable while MSVC keeps it in what is essentially the entry point into the type info data.

Since the two are so similar, creating a custom vtable on Rust-side is pretty easy and can be done entirely at compile-time, meaning that instances of the class can also be created entirely at compile time. This leads to fully const external strings being possible.
2023-07-12 07:22:12 -06:00
..
compile_fail chore: update to Rust 1.70.0 (#1277) 2023-07-11 12:50:03 -06:00
slots.rs refactor: v8::Isolate::snapshot_creator instead of v8::SnapshotCreator (#1098) 2022-10-14 10:46:54 +02:00
test_api.rs feat: Implement Rust-side const ExternalOneByteStringResource subclass (#1275) 2023-07-12 07:22:12 -06:00
test_api_entropy_source.rs Rolling to V8 10.0.139.6 (#915) 2022-03-09 14:41:46 +01:00
test_api_flags.rs chore: rename rusty_v8 to v8 (#803) 2021-10-27 14:32:12 +02:00
test_concurrent_isolate_creation_and_disposal.rs Upgrade V8 to 10.3.174.3 (#969) 2022-05-18 10:53:34 +02:00
test_platform_atomics_pump_message_loop.rs test: don't use --harmony-top-level-await flag (#854) 2021-12-12 21:25:01 -08:00
test_single_threaded_default_platform.rs Rolling to V8 10.0.139.6 (#915) 2022-03-09 14:41:46 +01:00
test_ui.rs Fix unused import warning (#875) 2022-01-22 04:10:38 +01:00