diff options
author | iximeow <me@iximeow.net> | 2020-08-09 00:32:49 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2020-08-09 01:39:01 -0700 |
commit | 2bf6df7ff4101b4e7cf14807b5e9def85d92e1cd (patch) | |
tree | e2555f6a9468582422baafe95aea243a2a05d7a1 /ffi/multiarch/src/lib.rs | |
parent | a3f848e3426175d9ac782c19de4855de260d76a9 (diff) |
display opt, aykm
the arms of the match in regspec_label referenced tables that were not
const. consequently, they would be rebuilt when reached, every time the
match is incanted. this holds through even when regspec_label is
inlined.
each arm could be a const array for a small and easy change, but to
avoid the indirect dispatch on spec.bank i've reorganized register names
into a single const array and selected values for `RegisterBank` such
that indices into that array can be formed.
for my next trick, i may make `REG_NAMES` a `*const u8`, with indices
picking offsets into the table - 8-byte offsets might do? this should
compact down size a little more by removing a pointer and size qword
for each string.
Diffstat (limited to 'ffi/multiarch/src/lib.rs')
0 files changed, 0 insertions, 0 deletions