Nw Cog VMs available

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

Nw Cog VMs available

Eliot Miranda-2
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3120/.  These contain a few important bug fixes to Spur which will increase stability.

CogVM binaries as per VMMaker.oscog-eem.916

Spur:
Reimplement deriving the accessorDepth and retrying primitives on primitive
failure machinery.  Always take the primitive index from newMethod (setting
newMethod to a SmallInteger for primitiveDoPrimitiveWithArgs.

Have the Cogit always set primitiveFunctionPointer and newMethod for the retry.

Add isNonInteger(Non)Immediate: and use it in several of
the integer conversion routines that were missing code
to exclude Character immediates, with fatal consequences.

With these changes the Pharo 4 test suite runs without
crashing on the latest Pharo Spur boot image.

Fix processWeakSurvivor: so that it answers whether a weak object refers
to a young object.  The old version only scanned weak fields, ignoring refs to
young objs from strong fields.

Move check for valid classes from findClassOfMethod: forReceiver: into
findClassContainingMethod:startingAt:, hence making
findClassOfMethod:forReceiver: et al more robust.

Implement safe access to contexts and methods when creating image segments
(since internally married contexts and jitted methods have hidden state encoded
in odd ways).

As a result:
Fix baaad bug in SpurMemoryManager>>lastPointerOf: for contexts, caused by
transcription from (New)ObjectMemory where the method works on a wing and a
prayer because BaseHeaderSize = BytesPerOop.  And I can't be arsed to fix it.

Fix baaad bug in accessibleObjectAfter: and add an assert to primitiveNextObject
to catch similar bugs.  Can now enumerate objects in new space, which will
sort-of work, but code should really use allObjects.  Will fix at the image
level as time allows.

Eliminate isInSurvivorSpace: in favour of the identical isInPastSpace:.

All:
Refactor decoding of context instruction pointers so
there is only one copy of the code.
--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: Nw Cog VMs available

Frank Shearar-3
On 31 October 2014 21:29, Eliot Miranda <[hidden email]> wrote:
> ...at http://www.mirandabanda.org/files/Cog/VM/VM.r3120/.  These contain a
> few important bug fixes to Spur which will increase stability.

Build scripts duly updated!

frank