Still Failing: OpenSmalltalk/opensmalltalk-vm#2206 (Cog - 0e41737)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Still Failing: OpenSmalltalk/opensmalltalk-vm#2206 (Cog - 0e41737)

Travis CI
 

OpenSmalltalk

/

opensmalltalk-vm

branch iconCog

arrow to build time
clock icon8 mins and 44 secs

Eliot Miranda avatarEliot Miranda

CogVM source as per VMMaker.oscog-eem.2823

Spur:
Use bridges to use a single loop for allObjectsDo: et al. Hence save lots of
space by avoiding three copies of the inner loop for several object enumeration
operations. e.g. on MacOS X x86_64 saves over 1% of the VM executable.

Install a bridge from freeStart (end of eden) to newSpaceStart and from
pastSpaceStart (end of past space) to start of eden as required. Either or
both of partSpace and eden may be empty. pastSpace may be completely full, or
just one 64-bit word shy of eden. If one word shy use a "slim bridge", a bridge
that fits in a single word. Slim bridge is a pun, a return to my youth:
https://www.wwt.org.uk/wetland-centres/slimbridge#

Note that slim bridges (shums would be a better name) could be the solution to
object alignment; by preceding objects with suitable shims, the shims could both
record what an object's alignment is, and be used to pad old space to bring an
object into alignment.

Allow sufficientSpaceAfterGC: (invoked from checkForEventsMayContextSwitch:) to
attempt to shrink if there is lots of free space. sufficientSpaceAfterGC:
invokes fullGC only if the heap has grown by the growth rarion since the last
fullGC, and (before this change) only fullGC would attempt to shrink. So memory
would never shrink if some large amout of space became available, since the heap
would not grow again, and fullGC would never be called. Hence the free space
would remain in the system. So this is needed to shrink when possible.

Have growOldSpaceByAtLeast: set the needGC flag if growth is either disallowed
or fails. This will cause the VM to invoke sufficientSpaceAfterGC: in a context
of continuous growth that halts before, say, the growth ratio is reached.

SocketPlugin:
Make sure that all senders of socketValueOf: check for failure (e.g.
primitiveSocketReceiveDataAvailable: primitiveSocketRemotePort:
primitiveSocketSendDone: did not).

Make the four send/receive primitives that take bits array arguments accept
any of Spur's native bits types, byte, double byte, quad byte or octa byte.

Add the bytesPerElement: function to InterpreterProxy/sqVirtualMachine to allow
these primitives to determine the element size.

Slang: Have the SmartSyntaxPlugins use the methodReturnFoo: protocol
where they can.

Want to know about upcoming build environment updates?

Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you!

SIGN UP HERE
book icon

Documentation about Travis CI

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "EmailMessage", "action": { "@type": "ViewAction", "url": "https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730393009?utm_medium=notification&amp;utm_source=email", "name": "View Build" }, "description": "View Build #2206 on Travis CI" } </script>