Teleplace Cog VMs are now available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: First try - BOOM! (Re: [Vm-dev] Re: [squeak-dev] Teleplace Cog VMs are now available)

Eliot Miranda-2
 


On Mon, Jun 21, 2010 at 12:27 PM, stephane ducasse <[hidden email]> wrote:

> There are a few other things also.  Please file-in NecessaryImageChangesForCogToWork.1.cs from the image directory in the tarball or upgrade to the latest in trunk (i.e. Andreas added the changes from NecessaryImageChangesForCogToWork.1.cs to trunk over the weekend).

eliot
do you know whether these changes can be integrated and the images will work on the different Cog and nonCog

These are "carefully crafted" to be backward-compatible.  They will /not/ break an image for older VMs.  There are three sets of changes:

1. remove primitives in LargePositiveInteger.  These will make images slightly slower for certain benchmarks but won't break anything.
2. add special primitives for Float>>basicAt: at: basicAt:put: & at:put: that call super if they fail.  They will fail on older VMs, hence these will make images slightly slower for certain benchmarks but won't break anything.
3. a new version of recreateSpecialObjectsArray that does not recreate the Character table.  This will have no effect except for Cog, where it allows the VM to inline Character table access in the at: primitive.



Stef

>
>
> Cheers,
> Henry
>
> On Jun 21, 2010, at 1:39 51PM, Göran Krampe wrote:
>
> > Howdy!
> >
> > First: Super fun and cool! I am of course *very* happy to see Cog released.
> >
> > Now, over to some "testing"...
> >
> > SIDENOTE: First btw I ran pystone.py with regular Python 2.6.5 on my Lucid Lynx, then in the latest "regular" VM from Squeakvm.org. Result:
> >
> > Python: 36k pystones
> > Squeak: 45k pystones
> >
> > So... the good ole VM is still a tad faster than CPython in that bench. :)
> >
> > Now, I wanted to try it out with Cogit. Trouble begins! :)
> >
> > I am using the tar ball on a Lucid laptop.
> >
> > 1. vm-sound-NAS does not compile! Lots of compile errors, probably due to a new upstream NAS. So try to get rid of that plugin... is harder than I thought! I finally ended up hacking the configure script to "fail" on the compile check by trying to compile rubbish. ;)
> >
> > 2. For some odd reason this will still create duplicate lines about NAS in disabledPlugins.c, just manually remove one of them, fine. Tada! Got a VM binary.
> >
> > 3. Fire it up on a *vanilla* Squeak4.1.1.image. BOOM, segfault. This is a "full debug VM" per instructions in HowToBuild. Anyway, see all info below, and tell me if there is more you want. :)
> >
> > Btw, is there some nice existing script to run to "collect data about the box" that does uname etc?
> >
> > regards, Göran
> > ------------------
> > gokr@yoda:~/squeak$ cat /proc/cpuinfo
> > processor     : 0
> > vendor_id     : GenuineIntel
> > cpu family    : 6
> > model         : 14
> > model name    : Genuine Intel(R) CPU           U2500  @ 1.20GHz
> > stepping      : 8
> > cpu MHz               : 800.000
> > cache size    : 2048 KB
> > physical id   : 0
> > siblings      : 2
> > core id               : 0
> > cpu cores     : 2
> > apicid                : 0
> > initial apicid        : 0
> > fdiv_bug      : no
> > hlt_bug               : no
> > f00f_bug      : no
> > coma_bug      : no
> > fpu           : yes
> > fpu_exception : yes
> > cpuid level   : 10
> > wp            : yes
> > flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm
> > bogomips      : 2393.82
> > clflush size  : 64
> > cache_alignment       : 64
> > address sizes : 32 bits physical, 32 bits virtual
> > power management:
> >
> > gokr@yoda:~/squeak$ gcc --version
> > gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
> > Copyright (C) 2009 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions.  There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> >
> > gokr@yoda:~/squeak$ uname -a
> > Linux yoda 2.6.32-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux
> >
> > gokr@yoda:~/squeak$ squeak -version
> > 3.9-7 #1 Mon Jun 21 13:20:28 CEST 2010 gcc 4.4.3
> > Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.11]
> > Linux yoda 2.6.32-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux
> > plugin path: /usr/local/lib/squeak/3.9-7/ [default: /usr/local/lib/squeak/3.9-7/]
> >
> > gokr@yoda:~/squeak$ squeak Squeak4.1.1.image
> >
> > ((rcvr & 1)) || (addressCouldBeObj(rcvr)) 11334
> >
> > Segmentation fault
> >
> >
> >
> > Smalltalk stack dump:
> > 0xbfc87e08 M GradientFillStyle>scaledAlphaMix:of:with: 2018669100: a(n) GradientFillStyle
> > 0xbfc87e5c M [] in GradientFillStyle>computePixelRampOfSize: 2018669100: a(n) GradientFillStyle
> > 0xbfc87e7c M SortedCollection(OrderedCollection)>do: 2018669424: a(n) SortedCollection
> > 0xbfc87eb4 I GradientFillStyle>computePixelRampOfSize: 2018669100: a(n) GradientFillStyle
> > 0xbfc87ed8 I [] in GradientFillStyle class>initPixelRampCache 2007164144: a(n) GradientFillStyle class
> > 0xbfc87f10 I LRUCache>at: 2012963616: a(n) LRUCache
> > 0xbfc87f2c M GradientFillStyle>pixelRamp 2018529312: a(n) GradientFillStyle
> > 0xbfc87f4c M BalloonEngine>registerFill: 2018659444: a(n) BalloonEngine
> > 0xbfc87f74 M BalloonEngine>registerFills: 2018659444: a(n) BalloonEngine
> > 0xbfc87f90 M BalloonEngine>registerFill:and: 2018659444: a(n) BalloonEngine
> > 0xbfc87fb4 M BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform: 2018659444: a(n) BalloonEngine
> > 0xbfc87fe8 M BalloonCanvas>drawRectangle:color:borderWidth:borderColor: 2018659252: a(n) BalloonCanvas
> > 0xbfc88010 M BalloonCanvas>fillRectangle:fillStyle: 2018659252: a(n) BalloonCanvas
> > 0xbfc88030 M FormCanvas>balloonFillRectangle:fillStyle: 2018611404: a(n) FormCanvas
> > 0xbfc88054 M FormCanvas>fillRectangle:fillStyle: 2018611404: a(n) FormCanvas
> > 0xbfc88074 M FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle: 2018611404: a(n) FormCanvas
> > 0xbfc88098 M SystemWindow(Morph)>drawOn: 2014426088: a(n) SystemWindow
> > 0xbfc880b4 M FormCanvas(Canvas)>draw: 2018611404: a(n) FormCanvas
> > 0xbfc880d0 M FormCanvas(Canvas)>drawMorph: 2018611404: a(n) FormCanvas
> > 0xbfc880f0 M [] in SystemWindow(Morph)>fullDrawOn: 2014426088: a(n) SystemWindow
> > 0xbfc8810c M CornerRounder class>roundCornersOf:on:in:displayBlock:borderWidth:corners: 2007442196: a(n) CornerRounder class
> > 0xbfc8813c M FormCanvas>roundCornersOf:in:during: 2018611404: a(n) FormCanvas
> > 0xbfc88160 M FormCanvas(Canvas)>roundCornersOf:during: 2018611404: a(n) FormCanvas
> > 0xbfc88180 M SystemWindow(Morph)>fullDrawOn: 2014426088: a(n) SystemWindow
> > 0xbfc8819c M FormCanvas(Canvas)>fullDraw: 2018611404: a(n) FormCanvas
> > 0xbfc881b8 M FormCanvas(Canvas)>fullDrawMorph: 2018611404: a(n) FormCanvas
> > 0xbfc88208 M [] in WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > 0xbfc88240 I Rectangle>allAreasOutsideList:startingAt:do: 2017358104: a(n) Rectangle
> > 0xbfc8826c I Rectangle>allAreasOutsideList:do: 2017358104: a(n) Rectangle
> > 0xbfc882a8 M [] in WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > 0xbfc882cc M Array(SequenceableCollection)>do: 2018529764: a(n) Array
> > 0xbfc882fc M WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > 0xbfc88334 M [] in WorldState>displayWorld:submorphs: 2001318316: a(n) WorldState
> > 0xbfc8834c M FormCanvas>roundCornersOf:in:during: 2017358448: a(n) FormCanvas
> > 0xbfc88370 M FormCanvas(Canvas)>roundCornersOf:during: 2017358448: a(n) FormCanvas
> > 0xbfc88398 M WorldState>displayWorld:submorphs: 2001318316: a(n) WorldState
> > 0xbfc883c0 I PasteUpMorph>privateOuterDisplayWorld 2001318568: a(n) PasteUpMorph
> > 0xbfc883e0 I PasteUpMorph>displayWorld 2001318568: a(n) PasteUpMorph
> > 0xbfc88404 I [] in WorldState>displayWorldSafely: 2001318316: a(n) WorldState
> > 0xbfc88420 M BlockClosure>on:do: 2018529472: a(n) BlockClosure
> > 0xbfc88440 M BlockClosure>ifError: 2018529472: a(n) BlockClosure
> > 0xbfc88464 I WorldState>displayWorldSafely: 2001318316: a(n) WorldState
> > 0xbfc88480 M PasteUpMorph>displayWorldSafely 2001318568: a(n) PasteUpMorph
> > 0xbfc88498 M PasteUpMorph>install 2001318568: a(n) PasteUpMorph
> > 0xbfc884c0 I AutoStart class>checkForPluginUpdate 2008299932: a(n) AutoStart class
> > 0xbfc884e0 M AutoStart class>startUp: 2008299932: a(n) AutoStart class
> > 0xbfc8850c M [] in SmalltalkImage>send:toClassesNamedIn:with: 2009624740: a(n) SmalltalkImage
> > 0xbfc88534 I OrderedCollection>do: 2009661056: a(n) OrderedCollection
> > 0xbfc8855c I SmalltalkImage>send:toClassesNamedIn:with: 2009624740: a(n) SmalltalkImage
> > 0xbfc88588 I SmalltalkImage>processStartUpList: 2009624740: a(n) SmalltalkImage
> > 0xbfc885b4 I SmalltalkImage>snapshot:andQuit:embedded: 2009624740: a(n) SmalltalkImage
> > 2014606248 s SmalltalkImage>snapshot:andQuit:
> > 2014606132 s TheWorldMainDockingBar>saveAndQuitSqueak
> > 2014606040 s [] in MenuItemMorph>invokeWithEvent:
> > 2014605924 s BlockClosure>ensure:
> > 2014605832 s CursorWithMask(Cursor)>showWhile:
> > 2014605632 s MenuItemMorph>invokeWithEvent:
> > 2014605540 s MenuItemMorph>mouseUp:
> > 2014605448 s MenuItemMorph>handleMouseUp:
> > 2014605316 s MouseButtonEvent>sentTo:
> > 2014605224 s MenuItemMorph(Morph)>handleEvent:
> > 2014605132 s MorphicEventDispatcher>dispatchDefault:with:
> > 2014605040 s MorphicEventDispatcher>dispatchEvent:with:
> > 2014604948 s MenuItemMorph(Morph)>processEvent:using:
> > 2014604856 s MorphicEventDispatcher>dispatchDefault:with:
> > 2014604748 s MorphicEventDispatcher>dispatchEvent:with:
> > 2014604616 s DockingBarMenuMorph(Morph)>processEvent:using:
> > 2014604524 s DockingBarMenuMorph(Morph)>processEvent:
> > 2014604432 s DockingBarMenuMorph(MenuMorph)>handleFocusEvent:
> > 2014604340 s [] in HandMorph>sendFocusEvent:to:clear:
> > 2014604248 s [] in PasteUpMorph>becomeActiveDuring:
> > 2014604068 s BlockClosure>on:do:
> > 2014603976 s PasteUpMorph>becomeActiveDuring:
> > 2014603856 s HandMorph>sendFocusEvent:to:clear:
> > 2014603764 s HandMorph>sendEvent:focus:clear:
> > 2014603672 s HandMorph>sendMouseEvent:
> > 2014603528 s HandMorph>handleEvent:
> > 2014603180 s HandMorph>processEvents
> > 2014603064 s [] in WorldState>doOneCycleNowFor:
> > 2014602972 s Array(SequenceableCollection)>do:
> > 2014602872 s WorldState>handsDo:
> > 2014602780 s WorldState>doOneCycleNowFor:
> > 2014602688 s WorldState>doOneCycleFor:
> > 2014602596 s PasteUpMorph>doOneCycle
> > 2010011832 s [] in Project class>spawnNewProcess
> > 2010011700 s [] in BlockClosure>newProcess
> >
> > Most recent primitives
> > basicNew
> > copyBits
> > @
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > copyBits
> > @
> > @
> > @
> > basicNew
> > @
> > copyBits
> > @
> > @
> > @
> > basicNew
> > basicNew:
> > at:put:
> > @
> > copyBits
> > @
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > shallowCopy
> > new:
> > @
> > @
> > new:
> > at:put:
> > at:put:
> > at:put:
> > at:put:
> > @
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > basicNew:
> > basicNew
> > @
> > @
> > basicNew
> > copyBits
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > basicNew:
> > at:put:
> > at:put:
> > @
> > basicNew
> > copyBits
> > at:put:
> > @
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > basicNew:
> > basicNew
> > @
> > @
> > basicNew
> > copyBits
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > basicNew:
> > at:put:
> > at:put:
> > @
> > basicNew
> > copyBits
> > at:put:
> > @
> > @
> > @
> > @
> > basicNew@
> > @
> > basicNew
> > basicNew:
> > basicNew
> > @
> > @
> > basicNew
> > copyBits
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > basicNew:
> > at:put:
> > at:put:
> > @
> > basicNew
> > copyBits
> > at:put:
> > @
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > basicNew:
> > basicNew
> > @
> > @
> > basicNew
> > copyBits
> > @
> > @
> > basicNew
> > @
> > @
> > @
> > basicNew
> > basicNew:
> > at:put:
> > at:put:
> > @
> > basicNew
> > copyBits
> > at:put:
> > @
> > perform:with:
> > @
> > @
> > perform:with:
> > @
> > basicNew
> > basicNew
> > @
> > @
> > @
> > basicNew
> > basicNew
> > basicNew
> > basicNew
> > new:
> > basicNew:
> > basicNew
> > primitiveSetBitBltPlugin:
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > @
> > primitiveSetBitBltPlugin:
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > @
> > @
> > basicNew
> > @
> > @
> > wait
> > at:put:
> > signal
> > primInitializeBuffer:
> > primSetAALevel:
> > primSetOffset:
> > primSetClipRect:
> > primSetEdgeTransform:
> > primSetColorTransform:
> > primSetEdgeTransform:
> > primSetColorTransform:
> > primGetDepth
> > primSetDepth:
> > new:
> > at:put:
> > at:put:
> > basicNew:
> > species
> > stringHash:initialHash:
> > fractionPart
> > truncated
> > fractionPart
> > fractionPart
> > truncated
> > basicNew
> > basicNew
> > new:
> > value:
> > at:put:
> > value:
> > at:put:
> > at:put:
> > value:value:
> > value:value:
> > basicNew:
> > basicNew:
> > at:put:
> > at:put:
> > at:put:
> > at:put:
> > fractionPart
> > truncated
> > basicNew:
> > at:put:
> > at:put:
> > at:put:
> > at:put:
> > fractionPart
> > truncated
> > basicNew:
> > at:put:
> > at:put:
> > at:put:
> > at:put:
> > truncated
> > truncated
> > truncated
> > truncated
> > at:put:
> > perform:with:
> > truncated
> > Aborted
> > gokr@yoda:~/squeak$
> >
> >
>
>


Reply | Threaded
Open this post in threaded view
|

Re: First try - BOOM! (Re: [Vm-dev] Re: [squeak-dev] Teleplace Cog VMs are now available)

stephane ducasse-2

thanks for educating me :)


On Jun 21, 2010, at 9:34 PM, Eliot Miranda wrote:

>
>
> On Mon, Jun 21, 2010 at 12:27 PM, stephane ducasse <[hidden email]> wrote:
>
> > There are a few other things also.  Please file-in NecessaryImageChangesForCogToWork.1.cs from the image directory in the tarball or upgrade to the latest in trunk (i.e. Andreas added the changes from NecessaryImageChangesForCogToWork.1.cs to trunk over the weekend).
>
> eliot
> do you know whether these changes can be integrated and the images will work on the different Cog and nonCog
>
> These are "carefully crafted" to be backward-compatible.  They will /not/ break an image for older VMs.  There are three sets of changes:
>
> 1. remove primitives in LargePositiveInteger.  These will make images slightly slower for certain benchmarks but won't break anything.
> 2. add special primitives for Float>>basicAt: at: basicAt:put: & at:put: that call super if they fail.  They will fail on older VMs, hence these will make images slightly slower for certain benchmarks but won't break anything.
> 3. a new version of recreateSpecialObjectsArray that does not recreate the Character table.  This will have no effect except for Cog, where it allows the VM to inline Character table access in the at: primitive.
>
>
>
> Stef
>
> >
> >
> > Cheers,
> > Henry
> >
> > On Jun 21, 2010, at 1:39 51PM, Göran Krampe wrote:
> >
> > > Howdy!
> > >
> > > First: Super fun and cool! I am of course *very* happy to see Cog released.
> > >
> > > Now, over to some "testing"...
> > >
> > > SIDENOTE: First btw I ran pystone.py with regular Python 2.6.5 on my Lucid Lynx, then in the latest "regular" VM from Squeakvm.org. Result:
> > >
> > > Python: 36k pystones
> > > Squeak: 45k pystones
> > >
> > > So... the good ole VM is still a tad faster than CPython in that bench. :)
> > >
> > > Now, I wanted to try it out with Cogit. Trouble begins! :)
> > >
> > > I am using the tar ball on a Lucid laptop.
> > >
> > > 1. vm-sound-NAS does not compile! Lots of compile errors, probably due to a new upstream NAS. So try to get rid of that plugin... is harder than I thought! I finally ended up hacking the configure script to "fail" on the compile check by trying to compile rubbish. ;)
> > >
> > > 2. For some odd reason this will still create duplicate lines about NAS in disabledPlugins.c, just manually remove one of them, fine. Tada! Got a VM binary.
> > >
> > > 3. Fire it up on a *vanilla* Squeak4.1.1.image. BOOM, segfault. This is a "full debug VM" per instructions in HowToBuild. Anyway, see all info below, and tell me if there is more you want. :)
> > >
> > > Btw, is there some nice existing script to run to "collect data about the box" that does uname etc?
> > >
> > > regards, Göran
> > > ------------------
> > > gokr@yoda:~/squeak$ cat /proc/cpuinfo
> > > processor     : 0
> > > vendor_id     : GenuineIntel
> > > cpu family    : 6
> > > model         : 14
> > > model name    : Genuine Intel(R) CPU           U2500  @ 1.20GHz
> > > stepping      : 8
> > > cpu MHz               : 800.000
> > > cache size    : 2048 KB
> > > physical id   : 0
> > > siblings      : 2
> > > core id               : 0
> > > cpu cores     : 2
> > > apicid                : 0
> > > initial apicid        : 0
> > > fdiv_bug      : no
> > > hlt_bug               : no
> > > f00f_bug      : no
> > > coma_bug      : no
> > > fpu           : yes
> > > fpu_exception : yes
> > > cpuid level   : 10
> > > wp            : yes
> > > flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm
> > > bogomips      : 2393.82
> > > clflush size  : 64
> > > cache_alignment       : 64
> > > address sizes : 32 bits physical, 32 bits virtual
> > > power management:
> > >
> > > gokr@yoda:~/squeak$ gcc --version
> > > gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
> > > Copyright (C) 2009 Free Software Foundation, Inc.
> > > This is free software; see the source for copying conditions.  There is NO
> > > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> > >
> > > gokr@yoda:~/squeak$ uname -a
> > > Linux yoda 2.6.32-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux
> > >
> > > gokr@yoda:~/squeak$ squeak -version
> > > 3.9-7 #1 Mon Jun 21 13:20:28 CEST 2010 gcc 4.4.3
> > > Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.11]
> > > Linux yoda 2.6.32-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux
> > > plugin path: /usr/local/lib/squeak/3.9-7/ [default: /usr/local/lib/squeak/3.9-7/]
> > >
> > > gokr@yoda:~/squeak$ squeak Squeak4.1.1.image
> > >
> > > ((rcvr & 1)) || (addressCouldBeObj(rcvr)) 11334
> > >
> > > Segmentation fault
> > >
> > >
> > >
> > > Smalltalk stack dump:
> > > 0xbfc87e08 M GradientFillStyle>scaledAlphaMix:of:with: 2018669100: a(n) GradientFillStyle
> > > 0xbfc87e5c M [] in GradientFillStyle>computePixelRampOfSize: 2018669100: a(n) GradientFillStyle
> > > 0xbfc87e7c M SortedCollection(OrderedCollection)>do: 2018669424: a(n) SortedCollection
> > > 0xbfc87eb4 I GradientFillStyle>computePixelRampOfSize: 2018669100: a(n) GradientFillStyle
> > > 0xbfc87ed8 I [] in GradientFillStyle class>initPixelRampCache 2007164144: a(n) GradientFillStyle class
> > > 0xbfc87f10 I LRUCache>at: 2012963616: a(n) LRUCache
> > > 0xbfc87f2c M GradientFillStyle>pixelRamp 2018529312: a(n) GradientFillStyle
> > > 0xbfc87f4c M BalloonEngine>registerFill: 2018659444: a(n) BalloonEngine
> > > 0xbfc87f74 M BalloonEngine>registerFills: 2018659444: a(n) BalloonEngine
> > > 0xbfc87f90 M BalloonEngine>registerFill:and: 2018659444: a(n) BalloonEngine
> > > 0xbfc87fb4 M BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform: 2018659444: a(n) BalloonEngine
> > > 0xbfc87fe8 M BalloonCanvas>drawRectangle:color:borderWidth:borderColor: 2018659252: a(n) BalloonCanvas
> > > 0xbfc88010 M BalloonCanvas>fillRectangle:fillStyle: 2018659252: a(n) BalloonCanvas
> > > 0xbfc88030 M FormCanvas>balloonFillRectangle:fillStyle: 2018611404: a(n) FormCanvas
> > > 0xbfc88054 M FormCanvas>fillRectangle:fillStyle: 2018611404: a(n) FormCanvas
> > > 0xbfc88074 M FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle: 2018611404: a(n) FormCanvas
> > > 0xbfc88098 M SystemWindow(Morph)>drawOn: 2014426088: a(n) SystemWindow
> > > 0xbfc880b4 M FormCanvas(Canvas)>draw: 2018611404: a(n) FormCanvas
> > > 0xbfc880d0 M FormCanvas(Canvas)>drawMorph: 2018611404: a(n) FormCanvas
> > > 0xbfc880f0 M [] in SystemWindow(Morph)>fullDrawOn: 2014426088: a(n) SystemWindow
> > > 0xbfc8810c M CornerRounder class>roundCornersOf:on:in:displayBlock:borderWidth:corners: 2007442196: a(n) CornerRounder class
> > > 0xbfc8813c M FormCanvas>roundCornersOf:in:during: 2018611404: a(n) FormCanvas
> > > 0xbfc88160 M FormCanvas(Canvas)>roundCornersOf:during: 2018611404: a(n) FormCanvas
> > > 0xbfc88180 M SystemWindow(Morph)>fullDrawOn: 2014426088: a(n) SystemWindow
> > > 0xbfc8819c M FormCanvas(Canvas)>fullDraw: 2018611404: a(n) FormCanvas
> > > 0xbfc881b8 M FormCanvas(Canvas)>fullDrawMorph: 2018611404: a(n) FormCanvas
> > > 0xbfc88208 M [] in WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > > 0xbfc88240 I Rectangle>allAreasOutsideList:startingAt:do: 2017358104: a(n) Rectangle
> > > 0xbfc8826c I Rectangle>allAreasOutsideList:do: 2017358104: a(n) Rectangle
> > > 0xbfc882a8 M [] in WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > > 0xbfc882cc M Array(SequenceableCollection)>do: 2018529764: a(n) Array
> > > 0xbfc882fc M WorldState>drawWorld:submorphs:invalidAreasOn: 2001318316: a(n) WorldState
> > > 0xbfc88334 M [] in WorldState>displayWorld:submorphs: 2001318316: a(n) WorldState
> > > 0xbfc8834c M FormCanvas>roundCornersOf:in:during: 2017358448: a(n) FormCanvas
> > > 0xbfc88370 M FormCanvas(Canvas)>roundCornersOf:during: 2017358448: a(n) FormCanvas
> > > 0xbfc88398 M WorldState>displayWorld:submorphs: 2001318316: a(n) WorldState
> > > 0xbfc883c0 I PasteUpMorph>privateOuterDisplayWorld 2001318568: a(n) PasteUpMorph
> > > 0xbfc883e0 I PasteUpMorph>displayWorld 2001318568: a(n) PasteUpMorph
> > > 0xbfc88404 I [] in WorldState>displayWorldSafely: 2001318316: a(n) WorldState
> > > 0xbfc88420 M BlockClosure>on:do: 2018529472: a(n) BlockClosure
> > > 0xbfc88440 M BlockClosure>ifError: 2018529472: a(n) BlockClosure
> > > 0xbfc88464 I WorldState>displayWorldSafely: 2001318316: a(n) WorldState
> > > 0xbfc88480 M PasteUpMorph>displayWorldSafely 2001318568: a(n) PasteUpMorph
> > > 0xbfc88498 M PasteUpMorph>install 2001318568: a(n) PasteUpMorph
> > > 0xbfc884c0 I AutoStart class>checkForPluginUpdate 2008299932: a(n) AutoStart class
> > > 0xbfc884e0 M AutoStart class>startUp: 2008299932: a(n) AutoStart class
> > > 0xbfc8850c M [] in SmalltalkImage>send:toClassesNamedIn:with: 2009624740: a(n) SmalltalkImage
> > > 0xbfc88534 I OrderedCollection>do: 2009661056: a(n) OrderedCollection
> > > 0xbfc8855c I SmalltalkImage>send:toClassesNamedIn:with: 2009624740: a(n) SmalltalkImage
> > > 0xbfc88588 I SmalltalkImage>processStartUpList: 2009624740: a(n) SmalltalkImage
> > > 0xbfc885b4 I SmalltalkImage>snapshot:andQuit:embedded: 2009624740: a(n) SmalltalkImage
> > > 2014606248 s SmalltalkImage>snapshot:andQuit:
> > > 2014606132 s TheWorldMainDockingBar>saveAndQuitSqueak
> > > 2014606040 s [] in MenuItemMorph>invokeWithEvent:
> > > 2014605924 s BlockClosure>ensure:
> > > 2014605832 s CursorWithMask(Cursor)>showWhile:
> > > 2014605632 s MenuItemMorph>invokeWithEvent:
> > > 2014605540 s MenuItemMorph>mouseUp:
> > > 2014605448 s MenuItemMorph>handleMouseUp:
> > > 2014605316 s MouseButtonEvent>sentTo:
> > > 2014605224 s MenuItemMorph(Morph)>handleEvent:
> > > 2014605132 s MorphicEventDispatcher>dispatchDefault:with:
> > > 2014605040 s MorphicEventDispatcher>dispatchEvent:with:
> > > 2014604948 s MenuItemMorph(Morph)>processEvent:using:
> > > 2014604856 s MorphicEventDispatcher>dispatchDefault:with:
> > > 2014604748 s MorphicEventDispatcher>dispatchEvent:with:
> > > 2014604616 s DockingBarMenuMorph(Morph)>processEvent:using:
> > > 2014604524 s DockingBarMenuMorph(Morph)>processEvent:
> > > 2014604432 s DockingBarMenuMorph(MenuMorph)>handleFocusEvent:
> > > 2014604340 s [] in HandMorph>sendFocusEvent:to:clear:
> > > 2014604248 s [] in PasteUpMorph>becomeActiveDuring:
> > > 2014604068 s BlockClosure>on:do:
> > > 2014603976 s PasteUpMorph>becomeActiveDuring:
> > > 2014603856 s HandMorph>sendFocusEvent:to:clear:
> > > 2014603764 s HandMorph>sendEvent:focus:clear:
> > > 2014603672 s HandMorph>sendMouseEvent:
> > > 2014603528 s HandMorph>handleEvent:
> > > 2014603180 s HandMorph>processEvents
> > > 2014603064 s [] in WorldState>doOneCycleNowFor:
> > > 2014602972 s Array(SequenceableCollection)>do:
> > > 2014602872 s WorldState>handsDo:
> > > 2014602780 s WorldState>doOneCycleNowFor:
> > > 2014602688 s WorldState>doOneCycleFor:
> > > 2014602596 s PasteUpMorph>doOneCycle
> > > 2010011832 s [] in Project class>spawnNewProcess
> > > 2010011700 s [] in BlockClosure>newProcess
> > >
> > > Most recent primitives
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > copyBits
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > at:put:
> > > @
> > > copyBits
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > shallowCopy
> > > new:
> > > @
> > > @
> > > new:
> > > at:put:
> > > at:put:
> > > at:put:
> > > at:put:
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > at:put:
> > > at:put:
> > > @
> > > basicNew
> > > copyBits
> > > at:put:
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > at:put:
> > > at:put:
> > > @
> > > basicNew
> > > copyBits
> > > at:put:
> > > @
> > > @
> > > @
> > > @
> > > basicNew@
> > > @
> > > basicNew
> > > basicNew:
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > at:put:
> > > at:put:
> > > @
> > > basicNew
> > > copyBits
> > > at:put:
> > > @
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > copyBits
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew:
> > > at:put:
> > > at:put:
> > > @
> > > basicNew
> > > copyBits
> > > at:put:
> > > @
> > > perform:with:
> > > @
> > > @
> > > perform:with:
> > > @
> > > basicNew
> > > basicNew
> > > @
> > > @
> > > @
> > > basicNew
> > > basicNew
> > > basicNew
> > > basicNew
> > > new:
> > > basicNew:
> > > basicNew
> > > primitiveSetBitBltPlugin:
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > @
> > > primitiveSetBitBltPlugin:
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > basicNew
> > > @
> > > @
> > > wait
> > > at:put:
> > > signal
> > > primInitializeBuffer:
> > > primSetAALevel:
> > > primSetOffset:
> > > primSetClipRect:
> > > primSetEdgeTransform:
> > > primSetColorTransform:
> > > primSetEdgeTransform:
> > > primSetColorTransform:
> > > primGetDepth
> > > primSetDepth:
> > > new:
> > > at:put:
> > > at:put:
> > > basicNew:
> > > species
> > > stringHash:initialHash:
> > > fractionPart
> > > truncated
> > > fractionPart
> > > fractionPart
> > > truncated
> > > basicNew
> > > basicNew
> > > new:
> > > value:
> > > at:put:
> > > value:
> > > at:put:
> > > at:put:
> > > value:value:
> > > value:value:
> > > basicNew:
> > > basicNew:
> > > at:put:
> > > at:put:
> > > at:put:
> > > at:put:
> > > fractionPart
> > > truncated
> > > basicNew:
> > > at:put:
> > > at:put:
> > > at:put:
> > > at:put:
> > > fractionPart
> > > truncated
> > > basicNew:
> > > at:put:
> > > at:put:
> > > at:put:
> > > at:put:
> > > truncated
> > > truncated
> > > truncated
> > > truncated
> > > at:put:
> > > perform:with:
> > > truncated
> > > Aborted
> > > gokr@yoda:~/squeak$
> > >
> > >
> >
> >
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Teleplace Cog VMs are now available

Henrik Sperre Johansen
In reply to this post by Eliot Miranda-2
 
  On 20.06.2010 22:11, Eliot Miranda wrote:
> While the VMs convert float order automatically on load they do
> require special accessing primitives Float>>basicAt: &
> Float>>basicAt:put: that undo the reversal and answer Float contents
> in big-endian order so that e.g. Float>>hash is unchanged.  The
> methods assume these primitives can fail, allowing the code to be used
> on current Squeak VMs.
>
>
Should also note, Float divisions by zero now return + / - Infinity
rather than raising ZeroDivide errors.
15.0 / 0  Infinity
-15.0 / 0.0 -Infinity

Cheers,
Henry
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Teleplace Cog VMs are now available

Eliot Miranda-2
 


On Mon, Jun 21, 2010 at 5:16 PM, Henrik Sperre Johansen <[hidden email]> wrote:

 On 20.06.2010 22:11, Eliot Miranda wrote:
While the VMs convert float order automatically on load they do require special accessing primitives Float>>basicAt: & Float>>basicAt:put: that undo the reversal and answer Float contents in big-endian order so that e.g. Float>>hash is unchanged.  The methods assume these primitives can fail, allowing the code to be used on current Squeak VMs.


Should also note, Float divisions by zero now return + / - Infinity rather than raising ZeroDivide errors.
15.0 / 0  Infinity
-15.0 / 0.0 -Infinity

which is clearly a bug in Cog.  But I'd like to provide a flag/image-header-bit to allow one to specify either behaviour.  i.e. fail float primitives that return NaNs or Infs, or return the relevant IEEE Inf/NaN.  Andreas and I have just discussed this and he points out that while under ieee Inf and non-NaN results are bit-identical across platforms, NaNs are  not.  So for Croquet one really needs the code generator to arrange that float primitives that do return NaNs normalise those NaNs to a small set (e.g. a pair of a single +ve NaN & a single -ve NaN).

cheers,
Eliot


Cheers,
Henry

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Teleplace Cog VMs are now available

Andreas.Raab
In reply to this post by Juan Vuletich-4
 
On 6/21/2010 11:29 AM, Juan Vuletich wrote:
> When starting, it does an invalid memory access, and terminates without
> any error message or log. I guess I'd need to setup a VM building and
> debugging environment, etc, and learn quite a bit to fix this myself. I
> guess it would take you minutes to spot this, compared with the days I'd
> need to spend... I'd very much appreciate your help.

I've seen that before :-) Cog requires LargeNegativeInteger to be
compact at 5 (previously PseudoContext). After installing and running
the attached code in addition to the other changes you're good to go.

Enjoy!
   - Andreas

Integer class-initialize.st (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Teleplace Cog VMs are now available

Juan Vuletich-4
 
Hi Andreas,

Andreas Raab wrote:

> On 6/21/2010 11:29 AM, Juan Vuletich wrote:
>> When starting, it does an invalid memory access, and terminates without
>> any error message or log. I guess I'd need to setup a VM building and
>> debugging environment, etc, and learn quite a bit to fix this myself. I
>> guess it would take you minutes to spot this, compared with the days I'd
>> need to spend... I'd very much appreciate your help.
>
> I've seen that before :-) Cog requires LargeNegativeInteger to be
> compact at 5 (previously PseudoContext). After installing and running
> the attached code in addition to the other changes you're good to go.
>
> Enjoy!
>   - Andreas

Yes. I yesterday downloaded XCode and built the Mac VM, only to find
that it throws a clear error (LargeNegativeInteger is not compact at 5,
can't continue) to the console. I told this to Eliot, but forgot to say
it in the lists. I apologize. Anyway, for some reason, the win vm you
posted, instead of giving the error and exiting cleanly, it does an
invalid access and is terminated. Maybe you want to check that.

BTW, most console messages (i.e. stdout) will be missed in these days of
graphical shells. An OS dialog would be better.

Thank Eliot, you and Teleplace for this great gift! This is a major
milestone in the history of Squeak.

Cheers,
Juan Vuletich
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Teleplace Cog VMs are now available

johnmci
In reply to this post by Eliot Miranda-2
 
Morning all, I've pushed a number of changes into the iOS platform tree to enable you to build a Macintosh Cocoa V5 Cog VM. Well at least one that runs a few million byte codes before crashing.  This also requires changes to the Cog branch, but that's part of the re-integration process. 

I have also built it as a Stack VM for the iPhone, that runs many more million bytecodes before tossing walkbacks on an unaltered image.   Just a bit of image tinkering I think is needed there, plus a change to let complex events flow up out of the VM into the image, but again part of the re-integration process.
 

On 2010-06-20, at 1:11 PM, Eliot Miranda wrote:

Hi All,

it gives me great pleasure to announce that the Teleplace Cog VMs are now available. ...
Eliot Miranda
June 2010



--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Teleplace Cog VMs are now available

Bert Freudenberg
 
Awesome! Thanks :)

- Bert -

On 08.07.2010, at 03:49, John M McIntosh wrote:

Morning all, I've pushed a number of changes into the iOS platform tree to enable you to build a Macintosh Cocoa V5 Cog VM. Well at least one that runs a few million byte codes before crashing.  This also requires changes to the Cog branch, but that's part of the re-integration process. 

I have also built it as a Stack VM for the iPhone, that runs many more million bytecodes before tossing walkbacks on an unaltered image.   Just a bit of image tinkering I think is needed there, plus a change to let complex events flow up out of the VM into the image, but again part of the re-integration process.
 

On 2010-06-20, at 1:11 PM, Eliot Miranda wrote:

Hi All,

it gives me great pleasure to announce that the Teleplace Cog VMs are now available. ...
Eliot Miranda
June 2010



--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================






12