[Vm-dev] Re: New CogVMs available
Paul DeBruicker
pdebruic at gmail.com
Fri Jul 25 03:13:49 UTC 2014
Hi Eliot,
When you publish these are there things the general community can do to help
you out with testing? Things you're interested in knowing/learning?
Thanks for whatever guidance you care to provide
Paul
Eliot Miranda-2 wrote
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3056/.
>
> CogVM binaries as per VMMaker.oscog-eem.832/r3056
> Add the time zone to the version info on Mac OS X and Win32.
>
> Fix bug in assigning parameter 55 (growth ratio at which to do a global
> GC).
>
> Add vmParameter 52 to answer the capacity of the root table
> (in Spur a.k.a. the rememberedSet).
>
> In the wake of the inlining change below (see Slang:), split
> lookupInMethodCacheSel:classTag: into
> inlineLookupInMethodCacheSel:classTag:,
> and use the inline version in internalFindNewMethod.
>
> Fix printStringOf: (used in e.g. frame print) to not print crs
> that would cause previous info to be overwritten.
>
> Spur:
> Fix bug with class table management and two-way become. Because two-way
> become
> may do an in-place swap obj1 & obj2 in
> SpurMemoryManager>>doBecome:and:copyHash:
> may not be forwarded after the inner become. Hence they should not be
> followed
> if not forwarded. The bug manifested as Object's identityHash changing:
> superclass is the first slot in a class. Following an unforwarded subclass
> of
> object yields Object. Setting the hash bits of the followed object
> smashes
> Object's identityHash. Thanks to Stephane Rollandin for finding the bug.
>
> More rationalization of the class table management post become. Now no
> post
> become scan of the class table is necessary at all.
>
> Add vm parameter 53 to answer the number of segments.
>
> Move the rememberedSet into a pinned object in oldSpace. Allow it to grow
> on demand, starting at 1k entries, doubling on each grow. Make sure to
> abort
> if the attempt to grow the remembered set fails. Try to grow by another
> 1k
> slots if doubling fails, then abort.
>
> Revise markAndTrace: given that markAndShouldScan: is inlined within it
> (see
> Slang changes below). Move the ephemeron processing into
> markAndShouldScan:
> out of the now unused numStringSlotsOf:ephemeronInactiveIf:
> circumlocution.
> Add activeAndDeferredScan: and numStrongSlotsOfInephemeral: in place of
> the
> double negative inactiveOrFailedToDeferScan: and hence inline
> numStrongSlotsOfInephemeral:. Increase the traceImmediatelySlotLimit.
> These
> changes plus the 2 repeats for compaction speed up global GC by at least
> x2.
>
> Change the defaultEdenBytes to 4Mb.
>
> Allow the number of compaction passes to vary, 2 on GC, 3 on GC for
> snapshot.
>
> Slang:
> Add support for inlining into the condition of ifTrue:/ifFalse:
> when it is marked as inline. Transform
> expr1 ifTrue:/ifFalse: [^expr2]
> by inlining ^expr2 into expr1. Transform
> expr ifTrue:/ifFalse: [statements]
> by replacing ^boolean occurrences in expr with gotos.
> --
> Aloha,
> Eliot
--
View this message in context: http://forum.world.st/New-CogVMs-available-tp4769982p4770016.html
Sent from the Squeak VM mailing list archive at Nabble.com.
More information about the Vm-dev
mailing list