SearcharxivSearch

arXiv subjects

Jacob Hughes

Publications and source records attributed to Jacob Hughes.

2 recordsLinked to original sources

Garbage Collection for Rust: The Finalizer Frontier

Rust is a non-Garbage Collected (GCed) language, but the lack of GC makes expressing data-structures that require shared ownership awkward, inefficient, or both. In this paper we explore a new design for, and implementation of, GC in Rust, called Alloy. Unlike previous approaches to GC in Rust, Alloy allows existing Rust destructors to be automatically used as GC finalizers: this makes Alloy integrate better with existing Rust code than previous solutions but introduces surprising soundness and performance problems. Alloy provides novel solutions for the core problems: finalizer safety analysis rejects unsound destructors from automatically being reused as finalizers; finalizer elision optimises away unnecessary finalizers; and premature finalizer prevention ensures that finalizers are only run when it is provably safe to do so.

cs.PL

Centralizers in R. Thompson's group V_n

Let n be bigger than 1 and let A be an element in the Higman-Thompson group V_n. We study the structure of the centralizer of a in V_n through a careful analysis of the action of the group generated by A on the Cantor set C. We make use of revealing tree pairs as developed by Brin and Salazar from which we derive discrete train tracks to assist us in our analysis. A consequence of our structure theorem is that centralizers are finitely generated. Along the way we give a short argument using revealing tree pairs which shows that cyclic groups are undistorted in V_n.

math.GR