That is indeed a great test case that might help narrow it down:

If you "debug into it" you should see that primitive 3 failed for SmallInteger, and it falls back to Integer's version of <. If it doesn't, then it's either the JIT incorrectly short-circuiting the comparison, or primitive 3 incorrectly succeeding.

If instead you do see the super send (as is the case on Intel), then it must be primitive primDigitCompare in LargeIntegers plugin.

Very much sounds like a signed/unsigned problem.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.