[Vm-dev] New Cog VMs available

karl ramberg karlramberg at gmail.com
Tue Sep 30 12:42:26 UTC 2014

With latest windows SpurVm the test 1 to: 50 do:[: i | Browser open] runs
without any crash.

I have not tested the VM much othervice, but it looks much more stable.

Best regards,

On Tue, Sep 30, 2014 at 5:21 AM, Eliot Miranda <eliot.miranda at gmail.com>

> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3085/.
> CogVM binaries as per VMMaker.oscog-eem.887/r3085
> Spur:
> Change become to flush method caches for becommed classes.
> Changes are to
> - add a BecameActiveClassFlag to becomeEffectsFlags
> - refuse to do an in-place become on active classes.
> - flush the caches before the post-become scan of the class table so that
> forwarded classes can be spotted.  i.e. if a class index in a method cache
> is that of a forwarded class then it was becommed and the cache entry can
> be voided.
> Fix bug in sweepToFollowForwardersForPigCompact which failed to update and
> answer lowest forwarder.  Fixes numForwarders == 0 assert failures.
> Fix bug with become and class table not removing
> classes which become causes them to be unhashed.
> Fix bogus assert fail in synchronousSignal:. Refactor following code into
> ensureSemaphoreForwardedThroughContext: and fix the assert there-in.
> Use rawOverflowSlotsOf: in bytesInObject:.
> Cogit:
> Make sure voidImplicitReceiverCacheAt: sets codeModified if IRCs are
> inline.
> Make sure freeMethod: clears cmRefersToYoung
> Fix assert in cogitPostGCAction: that would fire erroneously in Spur
> become.
> Fix regression in V3 become youngReferrers management in
> VMMaker.oscog-eem.882.
> We /must/ prune young referrers if
> mapObjectReferencesInMachineCodeForBecome
> removes a cog method from youngReferrers because it may get added back and
> youngReferrers cannot contain duplicates.
> Fix potential bug in Spur become argument validation.  Check for immediates
> needs to come /after/ following forwarders since an object can
> become-forward
> to an immediate.
> Fix cPICHasForwardedClass:; this did /not/
> enumerate the classIndices in a Spur Closed PIC.
> Install the callPrimitiveBytecode in the Interpreter's
> bytecodeDispatchTable on Spur.
> Modify callPrimitiveBytecode to not invoke unknownBytecode processing if
> at the
> first bytecode of a primitive method.
> Correct sign comparison of instructionPointer in justActivateNewMethod.
> Relax the validInstructionPointer:inMethod:framePointer:
> assert to accept any pc in initialPC to self size range
> now that callPrimitiveBytecode is more forgiving.
> Speed up primitiveMarkUnwindMethod & primitiveMarkHandlerMethod in the
> StackInterpreter by setting them to 0 in the primitive table.
> --
> best,
> Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140930/f3ac56f9/attachment.htm

More information about the Vm-dev mailing list