alexcrichton transferred Issue #595:
The
arguments
function for instructions returns a slice of the operands of an instruction, so it's called a lot. It's generated bygen_arguments_method
here:https://github.com/CraneStation/cranelift/blob/master/lib/codegen/meta-python/gen_instr.py#L60
Currently, there are several possible formats for instructions, so it does a
match
to determine how to retrieve the arguments slice. In practice, it's compiled to an indirect jump with a table.It would be interesting to experiment with making all instructions use a
ValueList
, rather than just usingValueList
for variable-length argument lists. That might use a little more memory, but it might speed uparguments
by making it avoid the jump table.
Last updated: Dec 23 2024 at 13:07 UTC