Previously, getting or setting a value in a frame of the Cranelift interpreter involved a hash table lookup. Since the interpreter statically knows the number of slots necessary for each called frame, we can use a vector instead and save time on the hash lookup. This also has the advantage that we have a more stable ABI for switching between interpreted and code.
This crate provides an interpreter for Cranelift IR. It is still a work in progress, as many instructions are unimplemented and various implementation gaps exist. Use at your own risk.