Skip to main content

Calling JIT-compiled Roto scripts from Rust

UB2.252A (Lameere) | Day 2 | 11:30 - 11:55 | Speakers: Terts Diepraam

Calling JIT-compiled Roto scripts from Rust
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

Roto is a statically-typed and compiled scripting language for Rust applications that integrates very tightly with Rust. To achieve that integration, it needs to interface directly with Rust types and functions. Implementing that boundary turned out to be quite tricky! We had many obstacles to overcome, such as Rust providing very few mechanisms for reflection and not providing a stable ABI by default. This talk will explain how Rust-Roto boundary works and the tricks we have to pull along the way. You can expect lots of unsafe code, deep dives into the Rust Reference and coercions from slices to function pointers.

Attachments


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.