<!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"><<a moz-do-not-send="true"
href="mailto:nicolas.cellier.aka.nice@gmail.com"
target="_blank">nicolas.cellier.aka.nice@gmail.com</a>></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"><<a
moz-do-not-send="true"
href="mailto:JuanVuletich@zoho.com"
target="_blank">JuanVuletich@zoho.com</a>></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>>#=
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>
<primitive: 110><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>