class SyntaxTree::YARV::OptDiv


~~~
2 / 3
~~~ruby
### Usage
the receiver and the argument off the stack and pushes on the result.
both operands are integers, or if both operands are floats. It pops both
that occurs when the ‘/` operator is used. There are fast paths for if
`opt_div` is a specialization of the `opt_send_without_block` instruction
### Summary

def ==(other)

def ==(other)
  other.is_a?(OptDiv) && other.calldata == calldata
end

def call(vm)

def call(vm)
  canonical.call(vm)
end

def canonical

def canonical
  Send.new(calldata, nil)
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  { calldata: calldata }
end

def disasm(fmt)

def disasm(fmt)
  fmt.instruction("opt_div", [fmt.calldata(calldata)])
end

def initialize(calldata)

def initialize(calldata)
  @calldata = calldata
end

def length

def length
  2
end

def pops

def pops
  2
end

def pushes

def pushes
  1
end

def to_a(_iseq)

def to_a(_iseq)
  [:opt_div, calldata.to_h]
end