[squeak-dev] Nw Cog VMs available
Eliot Miranda
eliot.miranda at gmail.com
Fri Oct 31 21:29:08 UTC 2014
...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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20141031/121bdf9a/attachment.htm
More information about the Squeak-dev
mailing list
|