bytecodealliance/wasmtime

Eagerly cast pointers in aarch64 relocation code to `usize` to avoid `unsafe` blocks in cranelift-jit

Geschlossen

#7.588 geöffnet am 27.11.2023

 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Rust (1.531 Forks)batch import
good first issue

Repository-Metriken

Stars
 (17.002 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 23h 31m) (212 gemergte PRs in 30 T)

Beschreibung

When performing relocations in cranelift-jit, there are many introductions of a variable what that's defined as an unsafe pointer offset. These variables are almost always cast to usize or isize before they're used, so perhaps we should instead turn the base pointer into its target numeric type eagerly, to avoid needing the unsafe blocks for calling the offset method on the pointers.

https://github.com/bytecodealliance/wasmtime/blob/cd97c9f14713d81de5453fb9861319e78a761432/cranelift/jit/src/compiled_blob.rs#L55-L57

Contributor Guide