You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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. I'm
not sure that's readily avoidable without changing the vtable format
(e.g., so that we can 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.
0 commit comments