diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2022-08-17 12:59:08 -0400 |
|---|---|---|
| committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-29 08:47:11 -0700 |
| commit | d57a9f61a065418ef99fcbbb65eca4f34f33f1c8 (patch) | |
| tree | 85744ad4c76c082169681c86de195514df9780e7 /spec | |
| parent | b735eb5ef39e73e2a0ea6bbdb6ff7ce41a998d63 (diff) | |
Build output operands explicitly (https://github.com/Shopify/ruby/pull/411)
When we're pushing instructions onto the assembler, we previously
would iterate through the instruction's operands and then assign
the output operand to it through the push_insn function. This is
easy when all instructions have a vector of operands, but is much
more difficult when the shape differs in an enum.
This commit changes it so that we explicitly define the output
operand for each instruction before it gets pushed onto the
assembler. This has the added benefit of changing the definition
of push_insn to no longer require a mutable instruction.
This paves the way to make the out field on the instructions an
Option<Opnd> instead which is going to more accurately reflect
the behavior we're going to have once we switch the instructions
over to an enum instead of a struct.
Diffstat (limited to 'spec')
0 files changed, 0 insertions, 0 deletions
