<!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">
    On 4/28/2016 4:39 PM, Nicolas Cellier via Cuis-dev wrote:
    <blockquote
cite="mid:CAKnRiT5=U_MuZixs5p3yOmUmDD_jxzoDp2cQiwUzyjBV4hECXg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>Moreover, as long as you write primitive: 110 in cog, you
            don't invoke primitive 110.<br>
          </div>
          You rather invoke genPrimitiveIdentical.<br>
        </div>
        <div>Please try the snippet on a StackVM.<br>
        </div>
        <div><br>
        </div>
      </div>
    </blockquote>
    <br>
    Sure. Can you provide a link to such VM? It should be based on
    VMMaker.oscog-eem.1370/r3386 or later, as the problem doesn't happen
    with any Cog older than that.<br>
    <br>
    Thanks,<br>
    Juan Vuletich<br>
    <br>
    <blockquote
cite="mid:CAKnRiT5=U_MuZixs5p3yOmUmDD_jxzoDp2cQiwUzyjBV4hECXg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>genPrimitiveIdentical has been slightly refactored, but I
          see no obvious problem by just reading code.<br>
        </div>
        <div>Moreover, when you use Object = you'll also call same
          methods in the end...<br>
        </div>
        <div>This would deserve experimenting VMSimulator... (I don't
          have the Bochs plugin working now)<br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2016-04-28 21:21 GMT+02:00 Nicolas
          Cellier <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:nicolas.cellier.aka.nice@gmail.com"
              target="_blank">nicolas.cellier.aka.nice@gmail.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;">
            <div dir="ltr">Hi Juan, then how do you explain:<span
                class=""><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>
              </span></div>
            <div class="HOEnZb">
              <div class="h5">
                <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>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Cuis-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cuis-dev@cuis-smalltalk.org">Cuis-dev@cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="http://cuis-smalltalk.org/mailman/listinfo/cuis-dev_cuis-smalltalk.org">http://cuis-smalltalk.org/mailman/listinfo/cuis-dev_cuis-smalltalk.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>