On Tue, 16 Nov 2010, Eliot Miranda wrote:
Um, on Cog it sends a message if the method containing the #= has been jitted. But the issue is /not/ whether there is a send or not. The issue
Does it mean, that #= can't be used in "atomic" code anymore?
Levente
is what the behaviour of the primitive code is. In the interpreter #= will short-circuit (avoid the send) if both the receiver and the argument are either a SmallInteger or a Float. In the JIT the primitive will not fail if the receiver and argument are both SmallIntegers or Floats or if the receiver is a Float and the argument is an Integer, but will fail if the receiver is a SmallInteger and the argument is a Float.
snip