bytecodealliance / bytecodealliance/regalloc2

Replace manual use of index newtypes `bundles[bundle.index()]` with `Index` impls and typed `Vec` wrappers

Open
#62 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
265
Forks
53
PR merge metrics
No merged PRs in 30d

Description

Right now, regalloc2 uses an entity-component-system sort of pattern with toplevel `Vec`s of `LiveBundle`, `VRegData`, and the like, and newtype'd index wrappers like `LiveBundleIndex`, `VRegIndex`, etc. We have a whole bunch of instances of `self.bundles[bundle.index()]...`.

Ideally we would make `bundles` a `Vec`-wrapper type that has an `Index` implementation that natively takes `LiveBundleIndex`, and then we could make all of these sites slightly less verbose.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.