Skip to content

ZJIT: Merge Send and SendWithoutBlock #941

@tekknolagi

Description

@tekknolagi

We have a lot of duplicated code paths now that we optimize both sends with blocks and sends without blocks. Let's merge the HIR instructions SendWithBlock and Send. A PR will need to:

  • Merge both instructions into Send
  • Make sure all the SendWithoutBlock specializations appropriately check both VM_CALL_ARGS_BLOCKARG and blockiseq
  • Have the codegen call rb_vm_opt_send_without_block if we definitely don't have a block (see above) and rb_vm_send otherwise

This should de-dup type_specialize and optimize_c_calls.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions