[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