[Vm-dev] New Cog VMs available
asqueaker at gmail.com
Fri Jan 30 03:53:36 UTC 2015
Congratulations Eliot! This is a major milestone for Spur's stability
and robustness. With this release, I am comfortable to move the rest
of my production to Spur. This is so great!
On Thu, Jan 29, 2015 at 7:26 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> at http://www.mirandabanda.org/files/Cog/VM/VM.r3236/
> CogVM binaries as per VMMaker.oscog-eem.1029/r3236
> Fix stupid, stupid bug in copying vm profile samples between buffers when the
> circular buffer index has wrapped.
> Fix monumental blunder in jitted store-check code. The saved registers mask
> needs to be the *or* of the value reg and the caller-saved registers, not the
> Make the pin primitives Spur-only.
> Never inline mapStackPages, for debugging.
> Reduce the max num literals in the alternate header format to 15, and steal
> the bit for the Sista optimized method flag.
> Make postBecomeAction's stack sweep only occur in Spur (fix regression).
> Refactor so that the scan is not inlined. Don't assume newMethod is
> non-immediate in post-become actions.
> Fix stack adjust slip in primitiveSmallFloatTimesTwoPower
> Make ensureBehaviorHash: fail for uninitialized
> behaviours and hence fix the Behavior basicNew basicNew hang.
> Optionalize some api methods the Spur Cogit doesn't use.
> Rename and correct ensureSemaphoreForwardedThroughContext: to
> ensureSemaphoreUnforwardedThroughContext:, its intended function.
> Make shouldRemapObj: filter-out objects already in newSpace
> since mapStackPages, via mapInterpreterOops, can visit objects
> twice in a scavenge, GC, compact sequence.
> Make sure the caller (& saved) context(s) in base frames stack page are
> followed post-become in followForwardingPointersInStackZone:.
> Fix bad bug introduced in become changes in VMMaker.oscog-eem.841 through 844.
> The class table contains puns, e.g. using Array and WeakArray. These class
> index puns must not mislead the allInstances primitive into concluding that
> the class in question is at multiple indices and wrongly purge it.
> Fix slip in primitivePin. Also be lenient w.r.t. unpinning married contexts.
> Move the check down into StackInterpreter's version. This allows e.g.
> self allObjectsDo: [:o| o unpin]
> Bow to the inevitable and add a manual override for primitive accessor depth.
> Use it in at: & at:put:. If manual override is not used then the automatically
> computed depth is too deep because of context access.
> Integrate Ryan's newer absent receiver sends, which first apeared in
> VMMaker.oscog-eem.919, abandoned because of Glue issues now resolved. Includes
> nice refactoring of absent send argument marshalling into its own routine.
> Remove/fix assumption of 32-bit digit length in normalization routines.
More information about the Vm-dev