New Cog VMs available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 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.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


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Frank Shearar-3
On 30 September 2014 04:21, Eliot Miranda <[hidden email]> wrote:
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3085/.
>
> CogVM binaries as per VMMaker.oscog-eem.887/r3085

... and updated in CI.

frank