<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Nicolas,<br>
    <br>
    On 4/28/2016 4:21 PM, Nicolas Cellier wrote:
    <blockquote
cite="mid:CAKnRiT7D=v9Qnr=JcLtxQ9D2Y_cLcvS7OaVfGsFtBc3g6qKbJA@mail.gmail.com"
      type="cite"><br>
      <div dir="ltr">Hi Juan, then how do you explain:<br>
        <br>
        "Just to clarify: the issue was experienced only when running on
        Cog...<br>
        current versions of the Stack VM performed as expected."<br>
        <br>
      </div>
    </blockquote>
    <br>
    More precisely, we never experienced such problems with
    InterpreterVMs built from VMMaker (for example
    <a class="moz-txt-link-freetext" href="http://www.squeakvm.org/win32/release/Squeak4.10.2-2612.win32-i386.zip">http://www.squeakvm.org/win32/release/Squeak4.10.2-2612.win32-i386.zip</a>
    ), and we experienced them with Cog newer than #3370, built from
    VMMaker-oscog, from Eliot's site. I guess code for prim 110 has
    diverged between both branches.<br>
    <br>
    Thanks,<br>
    Juan Vuletich<br>
    <br>
    <blockquote
cite="mid:CAKnRiT7D=v9Qnr=JcLtxQ9D2Y_cLcvS7OaVfGsFtBc3g6qKbJA@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2016-04-28 21:10 GMT+02:00 Juan
          Vuletich <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:JuanVuletich@zoho.com" target="_blank">JuanVuletich@zoho.com</a>&gt;</span>:<br>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;"><br>
            On 4/28/2016 2:13 PM, Phil (list) wrote:<br>
            <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
              0.8ex; border-left: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">
              <br>
              On Thu, 2016-04-28 at 12:58 -0400, Phil (list) wrote:<br>
              <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
                0.8ex; border-left: 1px solid rgb(204, 204, 204);
                padding-left: 1ex;">
                On Thu, 2016-04-28 at 16:43 +0200, Clément Bera wrote:<br>
                <blockquote class="gmail_quote" style="margin: 0pt 0pt
                  0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);
                  padding-left: 1ex;">
                    Have you tried on latest VM ? I remembered fixing a
                  bug on #==<br>
                  primitive like a month ago. The problem was when
                  performing #==<br>
                  primitive with the argument being a forwarder to an
                  immediate.<br>
                  <br>
                </blockquote>
                The problem still existed as of Cog #3686 (Juan found
                the fix<br>
                yesterday.)  On my system, Cuis last worked perfectly
                with 3370,<br>
                mostly<br>
                worked with 3390, somewhat worked with 3427 and did not
                work after<br>
                that<br>
                until we found the Character&gt;&gt;#= bug/fix.<br>
              </blockquote>
              Just to clarify: the issue was experienced only when
              running on Cog...<br>
              current versions of the Stack VM performed as expected.<br>
            </blockquote>
            <br>
            Fortunately I work with Gera Richarte @ Satellogic, and it
            didn't take long for him to suggest an explanation: Maybe
            prim 110 is broken in recent Cog VMs, but nobody notices it
            because the only sender is #== that is already optimized by
            the jitter, so prim 110 is never really called. And I
            realized we can test that theory. First, we add this method
            to Character:<br>
            <br>
            === aCharacter<br>
            &lt;primitive: 110&gt;<br>
                self halt<br>
            <br>
            Then the following snippet (in latest Cuis, #2744):<br>
            <br>
                0 to: 255 do: [ :i1 | 0 to: 255 do: [ :i2 | i1 = i2
            ifFalse: [(Character value: i1) === (Character value: i2)
            ifTrue: [{i1.i2} print ]]]]<br>
            <br>
            prints nothing if run with Cog 3370, but prints a lot of
            pairs in more recent Cog. So I think Gera is right.<br>
            <br>
            Thanks,<br>
            Juan Vuletich<br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>