[Cuis-dev] [Vm-dev] Cuis now runs with latest Cog, but I don't understand the problem we had

Juan Vuletich JuanVuletich at zoho.com
Mon May 2 15:22:05 UTC 2016


Thanks you all Folks.

Cheers,
Juan Vuletich

On 4/30/2016 1:51 PM, Eliot Miranda wrote:
>   
>
>
> Um, ignore that last message.  I see the problem staring me in the 
> face.  Thanks for the fix, Nicolas.
>
> On Sat, Apr 30, 2016 at 9:49 AM, Eliot Miranda 
> <eliot.miranda at gmail.com <mailto:eliot.miranda at gmail.com>> wrote:
>
>     Juan, Nicolas,
>
>         which versions are broken?  I want to see the source for the
>     broken version, and so I'd like to know the svn revision number
>     for a broken version.  I'll take them off my site.  I'll build new
>     VMs and upload some time this weekend.
>
>     On Thu, Apr 28, 2016 at 12:46 PM, Juan Vuletich
>     <JuanVuletich at zoho.com <mailto:JuanVuletich at zoho.com>> wrote:
>
>
>         On 4/28/2016 4:39 PM, Nicolas Cellier via Cuis-dev wrote:
>>         Moreover, as long as you write primitive: 110 in cog, you
>>         don't invoke primitive 110.
>>         You rather invoke genPrimitiveIdentical.
>>         Please try the snippet on a StackVM.
>>
>
>         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.
>
>         Thanks,
>         Juan Vuletich
>
>>         genPrimitiveIdentical has been slightly refactored, but I see
>>         no obvious problem by just reading code.
>>         Moreover, when you use Object = you'll also call same methods
>>         in the end...
>>         This would deserve experimenting VMSimulator... (I don't have
>>         the Bochs plugin working now)
>>
>>         2016-04-28 21:21 GMT+02:00 Nicolas Cellier
>>         <nicolas.cellier.aka.nice at gmail.com
>>         <mailto:nicolas.cellier.aka.nice at gmail.com>>:
>>
>>             Hi Juan, then how do you explain:
>>
>>             "Just to clarify: the issue was experienced only when
>>             running on Cog...
>>             current versions of the Stack VM performed as expected."
>>
>>
>>             2016-04-28 21:10 GMT+02:00 Juan Vuletich
>>             <JuanVuletich at zoho.com <mailto:JuanVuletich at zoho.com>>:
>>
>>
>>                 On 4/28/2016 2:13 PM, Phil (list) wrote:
>>
>>
>>                     On Thu, 2016-04-28 at 12:58 -0400, Phil (list) wrote:
>>
>>                         On Thu, 2016-04-28 at 16:43 +0200, Clément
>>                         Bera wrote:
>>
>>                               Have you tried on latest VM ? I
>>                             remembered fixing a bug on #==
>>                             primitive like a month ago. The problem
>>                             was when performing #==
>>                             primitive with the argument being a
>>                             forwarder to an immediate.
>>
>>                         The problem still existed as of Cog #3686
>>                         (Juan found the fix
>>                         yesterday.)  On my system, Cuis last worked
>>                         perfectly with 3370,
>>                         mostly
>>                         worked with 3390, somewhat worked with 3427
>>                         and did not work after
>>                         that
>>                         until we found the Character>>#= bug/fix.
>>
>>                     Just to clarify: the issue was experienced only
>>                     when running on Cog...
>>                     current versions of the Stack VM performed as
>>                     expected.
>>
>>
>>                 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:
>>
>>                 === aCharacter
>>                 <primitive: 110>
>>                     self halt
>>
>>                 Then the following snippet (in latest Cuis, #2744):
>>
>>                     0 to: 255 do: [ :i1 | 0 to: 255 do: [ :i2 | i1 =
>>                 i2 ifFalse: [(Character value: i1) === (Character
>>                 value: i2) ifTrue: [{i1.i2} print ]]]]
>>
>>                 prints nothing if run with Cog 3370, but prints a lot
>>                 of pairs in more recent Cog. So I think Gera is right.
>>
>>                 Thanks,
>>                 Juan Vuletich
>>
>>
>>
>>
>>         _______________________________________________
>>         Cuis-dev mailing list
>>         Cuis-dev at cuis-smalltalk.org  <mailto:Cuis-dev at cuis-smalltalk.org>
>>         http://cuis-smalltalk.org/mailman/listinfo/cuis-dev_cuis-smalltalk.org
>
>
>
>
>
>     -- 
>     _,,,^..^,,,_
>     best, Eliot
>
>
>
>
> -- 
> _,,,^..^,,,_
> best, Eliot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160502/74937972/attachment-0001.htm


More information about the Vm-dev mailing list