...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:].
vm-dev@lists.squeakfoundation.org