interpret: refactor projection handling code

Moves our projection handling code into a common file, and avoids the use of a
general mplace-based fallback function by have more specialized implementations.

mplace_index (and the other slice-related functions) could be more efficient by
copy-pasting the body of operand_index. Or we could do some trait magic to share
the code between them. But for now this is probably fine.
This commit is contained in:
Ralf Jung
2022-07-04 08:48:05 -04:00
parent f893495e3d
commit ab225ade1e
7 changed files with 531 additions and 421 deletions

View File

@@ -9,6 +9,7 @@ mod memory;
mod operand;
mod operator;
mod place;
mod projection;
mod step;
mod terminator;
mod traits;