mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-13 02:17:41 +00:00
![]() This replaces the drop_in_place reference with null in vtables. On librustc_driver.so, this drops about ~17k dynamic relocations from the output, since many vtables can now be placed in read-only memory, rather than having a relocated pointer included. This makes a tradeoff by adding a null check at vtable call sites. That's hard to avoid without changing the vtable format (e.g., to use a pc-relative relocation instead of an absolute address, and avoid the dynamic relocation that way). But it seems likely that the check is cheap at runtime. |
||
---|---|---|
.. | ||
back | ||
debuginfo | ||
mir | ||
traits | ||
assert_module_sources.rs | ||
base.rs | ||
codegen_attrs.rs | ||
common.rs | ||
errors.rs | ||
lib.rs | ||
meth.rs | ||
mono_item.rs | ||
size_of_val.rs | ||
target_features.rs |