CogVM binaries as per VMMaker.oscog-eem.1029/r3236 Fix stupid, stupid bug in copying vm profile samples between buffers when the circular buffer index has wrapped. Fix monumental blunder in jitted store-check code. The saved registers mask needs to be the *or* of the value reg and the caller-saved registers, not the *and*!! Make the pin primitives Spur-only. Never inline mapStackPages, for debugging. Spur: Reduce the max num literals in the alternate header format to 15, and steal the bit for the Sista optimized method flag. Make postBecomeAction's stack sweep only occur in Spur (fix regression). Refactor so that the scan is not inlined. Don't assume newMethod is non-immediate in post-become actions. Fix stack adjust slip in primitiveSmallFloatTimesTwoPower Make ensureBehaviorHash: fail for uninitialized behaviours and hence fix the Behavior basicNew basicNew hang. Optionalize some api methods the Spur Cogit doesn't use. Rename and correct ensureSemaphoreForwardedThroughContext: to ensureSemaphoreUnforwardedThroughContext:, its intended function. Make shouldRemapObj: filter-out objects already in newSpace since mapStackPages, via mapInterpreterOops, can visit objects twice in a scavenge, GC, compact sequence. Make sure the caller (& saved) context(s) in base frames stack page are followed post-become in followForwardingPointersInStackZone:. Fix bad bug introduced in become changes in VMMaker.oscog-eem.841 through 844. The class table contains puns, e.g. using Array and WeakArray. These class index puns must not mislead the allInstances primitive into concluding that the class in question is at multiple indices and wrongly purge it. Fix slip in primitivePin. Also be lenient w.r.t. unpinning married contexts. Move the check down into StackInterpreter's version. This allows e.g. self allObjectsDo: [:o| o unpin] Bow to the inevitable and add a manual override for primitive accessor depth. Use it in at: & at:put:. If manual override is not used then the automatically computed depth is too deep because of context access. Newspeak: Integrate Ryan's newer absent receiver sends, which first apeared in VMMaker.oscog-eem.919, abandoned because of Glue issues now resolved. Includes nice refactoring of absent send argument marshalling into its own routine. LargeIntegersPlugin: Remove/fix assumption of 32-bit digit length in normalization routines. best,
Eliot |
Congratulations Eliot! This is a major milestone for Spur's stability
and robustness. With this release, I am comfortable to move the rest of my production to Spur. This is so great! On Thu, Jan 29, 2015 at 7:26 PM, Eliot Miranda <[hidden email]> wrote: > > at http://www.mirandabanda.org/files/Cog/VM/VM.r3236/ > > CogVM binaries as per VMMaker.oscog-eem.1029/r3236 > > Fix stupid, stupid bug in copying vm profile samples between buffers when the > circular buffer index has wrapped. > > Fix monumental blunder in jitted store-check code. The saved registers mask > needs to be the *or* of the value reg and the caller-saved registers, not the > *and*!! > > Make the pin primitives Spur-only. > > Never inline mapStackPages, for debugging. > > Spur: > Reduce the max num literals in the alternate header format to 15, and steal > the bit for the Sista optimized method flag. > > Make postBecomeAction's stack sweep only occur in Spur (fix regression). > Refactor so that the scan is not inlined. Don't assume newMethod is > non-immediate in post-become actions. > > Fix stack adjust slip in primitiveSmallFloatTimesTwoPower > > Make ensureBehaviorHash: fail for uninitialized > behaviours and hence fix the Behavior basicNew basicNew hang. > > Optionalize some api methods the Spur Cogit doesn't use. > > Rename and correct ensureSemaphoreForwardedThroughContext: to > ensureSemaphoreUnforwardedThroughContext:, its intended function. > > Make shouldRemapObj: filter-out objects already in newSpace > since mapStackPages, via mapInterpreterOops, can visit objects > twice in a scavenge, GC, compact sequence. > > Make sure the caller (& saved) context(s) in base frames stack page are > followed post-become in followForwardingPointersInStackZone:. > > Fix bad bug introduced in become changes in VMMaker.oscog-eem.841 through 844. > The class table contains puns, e.g. using Array and WeakArray. These class > index puns must not mislead the allInstances primitive into concluding that > the class in question is at multiple indices and wrongly purge it. > > Fix slip in primitivePin. Also be lenient w.r.t. unpinning married contexts. > Move the check down into StackInterpreter's version. This allows e.g. > self allObjectsDo: [:o| o unpin] > > Bow to the inevitable and add a manual override for primitive accessor depth. > Use it in at: & at:put:. If manual override is not used then the automatically > computed depth is too deep because of context access. > > Newspeak: > Integrate Ryan's newer absent receiver sends, which first apeared in > VMMaker.oscog-eem.919, abandoned because of Glue issues now resolved. Includes > nice refactoring of absent send argument marshalling into its own routine. > > LargeIntegersPlugin: > Remove/fix assumption of 32-bit digit length in normalization routines. > > -- > best, > Eliot > |
In reply to this post by Eliot Miranda-2
ARMv6 stack/v3 and stack/spur VMs updated accordingly. Doug
|
On 02-02-2015, at 9:24 AM, Douglas McPherson <[hidden email]> wrote: > ARMv6 stack/v3 and stack/spur VMs updated accordingly. We’ll soon be adding ARMv7 quadcore Pi support - http://www.raspberrypi.org/raspberry-pi-2-on-sale/ I’ve been using one for some time now and it is certainly nicely faster. The multiple cores make quite a difference to overall system performance even if Squeak can’t directly take advantage. The memory interface seems faster too. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: FD: Failsafe Disarmed |
---- tim Rowledge <[hidden email]> wrote: > > > On 02-02-2015, at 9:24 AM, Douglas McPherson <[hidden email]> wrote: > > > ARMv6 stack/v3 and stack/spur VMs updated accordingly. > > We’ll soon be adding ARMv7 quadcore Pi support - > http://www.raspberrypi.org/raspberry-pi-2-on-sale/ > > I’ve been using one for some time now and it is certainly nicely faster. The multiple cores make quite a difference to overall system performance even if Squeak can’t directly take advantage. The memory interface seems faster too. I was going to ask you about this as I saw the RPi 2 announcement today. I figured you probably already had one :) I haven’t been building the ARMv7 VMs recently since there is something broken in the ARM fast BitBlt enhancements for ARMv7, which I haven’t had time to look into. Have you been able to make any improvements to that? (There’s also some potential issues noted by Ken Dickey regarding atomic operations). Doug > > tim > -- > tim Rowledge; [hidden email]; http://www.rowledge.org/tim > Strange OpCodes: FD: Failsafe Disarmed > > |
In reply to this post by timrowledge
> > ARMv6 stack/v3 and stack/spur VMs updated accordingly. > > We’ll soon be adding ARMv7 quadcore Pi support - > http://www.raspberrypi.org/raspberry-pi-2-on-sale/ > > I’ve been using one for some time now and it is certainly nicely > faster. The multiple cores make quite a difference to overall system > performance even if Squeak can’t directly take advantage. The memory > interface seems faster too. Sweet! :) -C -- Craig Latta netjam.org +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS) |
In reply to this post by douglas mcpherson
On 02-02-2015, at 12:02 PM, Douglas McPherson <[hidden email]> wrote: > > ---- tim Rowledge <[hidden email]> wrote: >> >> >> On 02-02-2015, at 9:24 AM, Douglas McPherson <[hidden email]> wrote: >> >>> ARMv6 stack/v3 and stack/spur VMs updated accordingly. >> >> We’ll soon be adding ARMv7 quadcore Pi support - >> http://www.raspberrypi.org/raspberry-pi-2-on-sale/ >> >> I’ve been using one for some time now and it is certainly nicely faster. The multiple cores make quite a difference to overall system performance even if Squeak can’t directly take advantage. The memory interface seems faster too. > > I was going to ask you about this as I saw the RPi 2 announcement today. I figured you probably already had one :) VM building seems much faster if you add -j4 to the make line in the .mvm script. It’s quite impressive to see 99% cpu utilisation on a quadcore tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim "Bother" said Pooh, as the IRS kicked his door in. |
Free forum by Nabble | Edit this page |