[Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2148 (Cog - 671bcff)

Travis CI builds at travis-ci.org
Sun Aug 30 02:52:21 UTC 2020


Build Update for OpenSmalltalk/opensmalltalk-vm
-------------------------------------

Build: #2148
Status: Still Failing

Duration: 20 mins and 20 secs
Commit: 671bcff (Cog)
Author: Eliot Miranda
Message: CogVM source as per VMMaker.oscog-eem.2796

Interpreter: Fix a few storePointer:...withValue: objectMemory nilObject's to
be storePointerUnchecked:.

ThreadedARM64Plugin: Implement support for Homogenous Float Arrays (HVAs,
structs with up to four float fields, or up to four double fields).  These are
passed and returned in floating-point argument registers, on call if sufficient
are available.  To implement this the ThreadedARM64Plugin uses a union of a
struct containing four doubles, and a struct containing eight floats.  All
float/double/HVA returns are handled by a call that expects a struct of four
doubles.  Hence Slang changes are needed (see below) to allow the struct to be
conveniently defined with local methods.

This fixes about five test cases in the FFI tests.

Mark all methods required to be inlined to be in the same function as the
alloca as inline: #always.  Hence their code will only occur inlined, not
a second time in an unused function.

Tidy up, pulling the unaligned accessor macros out of the preamble and
explicitly into methods, whether Slang has a chance to generate code
correctly given their presence.

Also make sure that all references to a type spec are typed as
unsigned int/unsigned int *, including the callout state's ffiArgSpec.

Fix a warning by typing InterpreterProxy>>characterObjectOf:'s argument
as int to agree with sqVirtualMachine.h.

Slang: Fix several issues with inlining and type inferrence to support the
above ThreadedARM64Plugin fixes.

Distinguish macros from struct accessors; previously isStructSend: could be confused.
Make sure that structTargetKindForDeclaration: answers #pointer only for types
endign with a *; previously it could be confused by e.g. a struct containing
pointers.
Make isTypePointerToStruct: more robust, answering false for anything that
isn't a string and then analysing the string.
emitCCodeAsFieldReferenceOn:level:generator: must also check for
shouldGenerateAsInterpreterProxySend:. tryToInlineMethodsIn: must push the
current method's declarations onto the scope stack to allow proper type
inferrence while inlining.  Since these changes now allow e.g. a structure
method to be inlined, extend node:typeCompatibleWith:inliningInto:in: to inline
such arguments; it needs to take the address of the argument to derive the
lined pointer to the actual argument.

View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/57d91d0d2f97...671bcff621d1

View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/722407430?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...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200830/c7fb46d7/attachment-0001.html>


More information about the Vm-dev mailing list