[Vm-dev] Re: New CogVMs available
eliot.miranda at gmail.com
Fri Jul 25 16:27:17 UTC 2014
On Thu, Jul 24, 2014 at 8:13 PM, Paul DeBruicker <pdebruic at gmail.com> wrote:
> Hi Eliot,
> When you publish these are there things the general community can do to
> you out with testing? Things you're interested in knowing/learning?
Yes. I'd love to know if the VMs are good or bad. For example, if you
have substantial benchmarks (perhaps a build script you often run) I'd love
to know whether builds have any marked impact on performance, or whether
Right now there are two CI jobs that test the VMs, one by Frank Shearer
that runs the trunk Squeak test suite, and a series of substantial tests at
Cadence that bootstrap Newspeak, build our Glue environment and run lots of
tests and some benchmarks. So the VMs do get some coverage. But with VM
performance and reliability more is always better (at least I'm not at the
stage where I'm overwhelmed with data).
And of course at the moment I'm very interested in any v3 vs Spur
Thanks for whatever guidance you care to provide
Thanks very very much for asking!
> 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
> > 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
> > 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:
> Sent from the Squeak VM mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev