[Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#1806 (Cog - f6d5541)
builds at travis-ci.org
Wed Sep 11 01:36:13 UTC 2019
Build Update for OpenSmalltalk/opensmalltalk-vm
Duration: 9 mins and 54 secs
Commit: f6d5541 (Cog)
Author: Eliot Miranda
Message: Cog VM Source VMMaker.oscog-eem.2558
Reimplement Spur JIT access to literals and literal variables in #==, #~~ and
push/pop/store literal variable. Instead of having a run-time read barrier in
JITTED code, add a flag to CogMethod recordiong if a method references a movable
(becommable) literal, and scanning all so flagged methods post-become to follow
becommed literals. Thank you Clément for a lovely day's programming!!
This reduces code size by about 2.2%. Performance increase yet to be assessed,
but it should be better than 2.2% (less code, but more compact code means more
methods in the method zone and a more compact working set). Doing so means we
don't have to add all methods to young referrers if OldBecameNew. Instead we
need add only those with movable literals which after scanning end up with a
new literal. This scheme works well for 64-bits where sdelecftors are not
directly referenced; instead ithe inline cache (because it is only 32-bits)
contains the literal index of the selector.
Add control of mixed mode arithmetic primitives, controlled by a VM flag
(vmParameterAt: 48 [put:]; and perhaps by vmParameterAt: 75 [put:]). If the
flag is set (unset by default), arithmetic primitives given both integral and
float primitives will fail instead of coercing and completing.
See Smallissimo blog post
Provide primitiveHighBit (number 575). In the JIT add a new RTL OpCode ClzRR
to allow very fast computation of high bit.
Fix an initialization bug for classes referred to in option: pragmas but not
included. Make sure that all such classes are included in
InitializationOptions as false before initializing.
Fix checkGenerateSurrogate:bytesPerWord: when checking for a new method.
The existing code assumed no new methods were being adeed and so errored
when the cmHasMovableLiteral accessors were generated and checked for.
View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d6238b29f217...f6d5541e6b37
View the full build log and details: https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/583441471?utm_medium=notification&utm_source=email
You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev