CogVM source as per VMMaker.oscog-eem.886/r3083
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.
Spur:
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:.
Make a little more progress on Spur image segment support.�� Provide a
classTableEntriesDo: and use it to compute an arrayOfUnmarkedClasses.
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.
Move evaluation of Cogit primitive desacriptor enabled function from
initialization to just-in-time, and add enablers on SmallInteger primitives
to ensure they are applied only to SmallInteger receivers (falling back to
interpreter prims if not).�� Hence fix Cog for 4.1 (e.g. MuO) images.
Back out of saneMethodClassAssociation assert in
initialPCForHeader:method:.�� Newspeak falls foul of this.
Make sure that the method is set on returning from a callback.
Fixes MNUs of atAddress: in exampleCqsort in the stack VMs.
Fix bugs in scripts and Windows manifests.
--
best,Eliot