<br><br><div class="gmail_quote">On Tue, Dec 7, 2010 at 3:41 AM, Lukas Renggli <span dir="ltr"><<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> One change that I don't understand, although it probably is unrelated, is in [2]:<br>
><br>
> LargePositiveInteger removeSelector: #=!<br>
> LargePositiveInteger removeSelector: #bitAnd:!<br>
> LargePositiveInteger removeSelector: #bitOr:!<br>
> LargePositiveInteger removeSelector: #bitShift:!<br>
> LargePositiveInteger removeSelector: #bitXor:!<br>
> LargePositiveInteger removeSelector: #'~='!<br>
><br>
> Why would one want to remove these primitive calls from large integers?<br>
<br>
</div>AFAIK, Cog needs those.<br></blockquote><div><br></div><div>That's right. Those methods used SmallInteger primitives (7, 8, 14, 15, 16 & 17) and in Cog SmallInteger primitives only work on SmallIntegers, not on up to 64-bit LargeIntegers; i.e. they don't bother to test the receiver for being a SmallInteger and hence crash if installed on LargeInteger. I probably made a mistake in deciding to save a tag test, but I did. Instead these methods should use the relevant LargeInteger primitives. The issue is I think those are missing in the standard VM. See primitives 27 28 34 35 36 & 37 primitiveEqualLargeIntegers, primitiveNotEqualLargeIntegers, primitiveBitAndLargeIntegers, primitiveBitOrLargeIntegers, primitiveBitXorLargeIntegers, primitiveBitShiftLargeIntegers in the Cog VM and perhaps the standard VM. If they're missing in teh standard VM it should be fine to redefine those methods to include the 27 28 34 35 36 & 37 primitive numbers. If they're defined differently someone needs to check that using those numbers works in the standard VM.</div>
<div><br></div><div>HTH</div><div>Eliot</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Lukas<br>
<font color="#888888"><br>
--<br>
Lukas Renggli<br>
<a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
<br>
</font></blockquote></div><br>