...at��http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.

CogVM binaries as per VMMaker.oscog-eem.842/r3058

Spur:
Provide unpinObject: for InterpreterProxy.

Fix initialization of the heap-resident remembered set added by
VMMaker.oscog-eem.827. ��It must be created /after/ old space is initialized.

Fix two become bugs surfaced when adding/removing inst vars to/from Association,
Binding et al. ��First, the class table must be scanned to ensure there are no
forwarders to classes (much cheaper than the full hierarchy walk to follow
method dictionaries etc that was done). ��Second, machine code methods that gain
a new reference through become must get added to the youngReferrers. ��Add a new
become effect flag, OldBecameNew that captures this and respond to it in
CoInterpreter>>postBecomeAction: by adding all methods to youngReferrers so
that on the next scavenge all will be made right.

Fix GC of machine code, which must follow forwarders when doing
markAndTraceLiteral: and again add to youngReferrers if following
gains a new ref. ��Refactoring of markAndTraceLiteral: into
markAndTraceLiteral:in:at: et al required.

Fix assert in addFreeSubTree:.

General:
Support the alternate bytecode set header in all VMs to ease testing of
multiple bytecode sets. ��This means methods with the sign bit set have
no primitive field and a larger num literals field, but no more.

Fix longPrintOop: (actually printOopShortInner:) for
global variable printing in face of new Environments.

Cogit:
Clean up adding to the youngReferrers by providing ensureInYoungReferrers:.
Since there always is room on youngReferrers, nuke roomOnYoungReferrersList,
canLinkToYoungClasses and caller code, simplifying ceSend:super:to:numArgs: etc.

Fix assert in followForwardedLiteralsIn:

General:
Change the scanning for initial nils scheme in the StackToRegisterMappingCogit
to answer the number of push nils in a bytecode, instead of whether the
bytecode is a push nil. ��Refactor genReturnTopFromBlock into genBlockReturn.
These changes accomodate Sista.

Rationalize the length functions, deleting byteLengthOf:, fetchLong32LengthOf:
& fetchWordLengthOf: and providing numBytesOf:, num16BitUnitsOf:,
num32BitUnitsOf:, num64BitUnitsOf: and numBytesOf:.

Provide fetch/storeShort16:ofObject:[withValue:] and
fetch/storeLong64:ofObject:[withValue:].

--
best,
Eliot