New Cog VMs available

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

New Cog VMs available

Eliot Miranda-2
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

The Squeak Spur VMs will now run Pharo images that have been bootstrapped (SpurBootstrap bootstrapPharoImage: 'myimage'), but be aware that the bootstrap does not yet update the modified packages in a Pharo 4 image, and hence sources for the modified methods is unavailable.

CogVM binaries as per VMMaker.oscog-eem.812/r3039

Spur:
Fix bug in old space GC processing of weaklings.  Old code didn't trace strong
references in weaklings to weaklings in markWeaklingsAndMarkAndFireEphemerons.
Make sure nilUnmarkedWeaklingSlotsIn: can be inlined.  Bug shows up as crashes
in Pharo Spur, Pharo making much more use of weakness than Squeak or Newspeak. 

Fix bug in nilUnmarkedWeaklingSlotsIn: which was not guarding the
isForwarded: check with an isFreeObject: not check.

Move the scanning for young references in scavenger processing of weaklings
into processWeakSurvivor:.

Fix minor slips in allObjects & allInstancesOf: which should only empty
weaklingStack if marking.

Fix a couple of storePointer:ofObject:'s being applied to objStacks.

Rename isReallyForwarded: to isUnambiguouslyForwarder: and add an assert to
isForwarded: to catch accidental applications to free objects.

Fix longPrintOop: for free referents.

V3 Cogit: Fix bogus assert fail due to signedness.

Slang:
Assign complex expressions to loop variables in value: expansions.  Old code
would replace variable with expansion of actual parameter everywhere.
--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Tobias Pape
Dear Eliot
On 09.07.2014, at 23:01, Eliot Miranda <[hidden email]> wrote:

[…]
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

vs.

> CogVM binaries as per VMMaker.oscog-eem.812/r3039


I presume you meant 3039 in both cases/

Best
        -Tobias




signature.asc (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Eliot Miranda-2



On Wed, Jul 9, 2014 at 2:24 PM, Tobias Pape <[hidden email]> wrote:
Dear Eliot
On 09.07.2014, at 23:01, Eliot Miranda <[hidden email]> wrote:

[…]
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

vs.

> CogVM binaries as per VMMaker.oscog-eem.812/r3039


I presume you meant 3039 in both cases/

yes, oops.  Will repeat.

 

Best
        -Tobias







--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Eliot Miranda-2
In reply to this post by Eliot Miranda-2
Oops.  That should of course have read


On Wed, Jul 9, 2014 at 2:01 PM, Eliot Miranda <[hidden email]> wrote:
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

The Squeak Spur VMs will now run Pharo images that have been bootstrapped (SpurBootstrap bootstrapPharoImage: 'myimage'), but be aware that the bootstrap does not yet update the modified packages in a Pharo 4 image, and hence sources for the modified methods is unavailable.

CogVM binaries as per VMMaker.oscog-eem.812/r3039

Spur:
Fix bug in old space GC processing of weaklings.  Old code didn't trace strong
references in weaklings to weaklings in markWeaklingsAndMarkAndFireEphemerons.
Make sure nilUnmarkedWeaklingSlotsIn: can be inlined.  Bug shows up as crashes
in Pharo Spur, Pharo making much more use of weakness than Squeak or Newspeak. 

Fix bug in nilUnmarkedWeaklingSlotsIn: which was not guarding the
isForwarded: check with an isFreeObject: not check.

Move the scanning for young references in scavenger processing of weaklings
into processWeakSurvivor:.

Fix minor slips in allObjects & allInstancesOf: which should only empty
weaklingStack if marking.

Fix a couple of storePointer:ofObject:'s being applied to objStacks.

Rename isReallyForwarded: to isUnambiguouslyForwarder: and add an assert to
isForwarded: to catch accidental applications to free objects.

Fix longPrintOop: for free referents.

V3 Cogit: Fix bogus assert fail due to signedness.

Slang:
Assign complex expressions to loop variables in value: expansions.  Old code
would replace variable with expansion of actual parameter everywhere.
--
best,
Eliot



--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Frank Shearar-3
In reply to this post by Eliot Miranda-2
On 9 July 2014 22:01, Eliot Miranda <[hidden email]> wrote:
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

CI duly updated to 3039:
http://build.squeak.org/job/SqueakTrunkOnSpur/31/console

frank

Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] Re: New Cog VMs available

Chris Muller-3
In reply to this post by Eliot Miranda-2
Hi Eliot, it definitely seems better than 3018.  Magma's test suite is now getting about 2/3'rds the way through before the trolley leaves the tracks.  I guess you may have seen that with the image I sent you.

I spent some more time yesterday trying to narrow the problem down but, as before, the crash is not always in the same place.  One time it *didn't* crash but instead got a Smalltalk DNU error which I was able to look at in the debugger.  It was weird because one of the inst-var references of an object was pointing to a Block, which is impossible based on the code.  The block it referred to was in one of its own class' (or, related class') methods, and had a non-local return in it.  Oh, and this class has weak index references (and two, strong, named slots).

The issue is very remniscient of the early Cog's, deja vu..



On Wed, Jul 9, 2014 at 5:17 PM, Eliot Miranda <[hidden email]> wrote:
 
Oops.  That should of course have read


On Wed, Jul 9, 2014 at 2:01 PM, Eliot Miranda <[hidden email]> wrote:
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3034/.

The Squeak Spur VMs will now run Pharo images that have been bootstrapped (SpurBootstrap bootstrapPharoImage: 'myimage'), but be aware that the bootstrap does not yet update the modified packages in a Pharo 4 image, and hence sources for the modified methods is unavailable.

CogVM binaries as per VMMaker.oscog-eem.812/r3039

Spur:
Fix bug in old space GC processing of weaklings.  Old code didn't trace strong
references in weaklings to weaklings in markWeaklingsAndMarkAndFireEphemerons.
Make sure nilUnmarkedWeaklingSlotsIn: can be inlined.  Bug shows up as crashes
in Pharo Spur, Pharo making much more use of weakness than Squeak or Newspeak. 

Fix bug in nilUnmarkedWeaklingSlotsIn: which was not guarding the
isForwarded: check with an isFreeObject: not check.

Move the scanning for young references in scavenger processing of weaklings
into processWeakSurvivor:.

Fix minor slips in allObjects & allInstancesOf: which should only empty
weaklingStack if marking.

Fix a couple of storePointer:ofObject:'s being applied to objStacks.

Rename isReallyForwarded: to isUnambiguouslyForwarder: and add an assert to
isForwarded: to catch accidental applications to free objects.

Fix longPrintOop: for free referents.

V3 Cogit: Fix bogus assert fail due to signedness.

Slang:
Assign complex expressions to loop variables in value: expansions.  Old code
would replace variable with expansion of actual parameter everywhere.
--
best,
Eliot



--
best,
Eliot