New Cog VMs available

23 views
Skip to first unread message

Eliot Miranda

unread,
Feb 23, 2016, 9:44:26 PM2/23/16
to Squeak Virtual Machine Development Discussion, The general-purpose Squeak developers list, Discusses Development of Pharo, newspeak...@googlegroups.com

Noe tat there is a JIT bug in the 64-bit VMs which I shall look at this week.

CogVM binaries as per VMMaker.oscog-eem.1697/r3630

General:
Fix serious bug in jitted perform: primitive.  Thanks to Stephane Ducasse for
finding and to Levente Uzoni for diagnosing the bug.  If the argument count
is one greater than the max number of register arguments (2 in Spur, hence
perform:with:with:) then the code to remove the receiver and arguments from
the stack neglects to remove the receiver and selector.

Spur:
Fix bug in markAndTraceWeaklingsFrom:.  Fields of weaklings may be immediate
so must use followOopField:ofObject: not followObjField:ofObject:.


When weaklings (and when ephemerons) are scan-marked forwarders must be coped
with.

64-bit VMs:
Fix a bug in printHex: for 64-bits (faulty arithmetic).

ThreadedFFIPlugin:
Fix the remaining 64-bit issues in the ThreadedFFIPlugin.  The X64SysVFFIPlugin
now passes the test suite.  Hence include the FFI plugin in 64-bit VMs.

Mac VMs:
Have the Mac OS X build install Localizable.strings.  Add versions for
Newspeak, Pharo and Squeak.  Rename the key to SelectImagePanePrompt.
Temporarily disable the Serial plugin in the Pharo Mac VM until we can track
down the relevant platforms/iOS support for the Pharo extensions.

Fix argument access on the iOS platform (Mac OS VMs).

_,,,^..^,,,_
best, Eliot

Eliot Miranda

unread,
Feb 25, 2016, 12:29:10 PM2/25/16
to Squeak Virtual Machine Development Discussion, The general-purpose Squeak developers list, Discusses Development of Pharo, newspeak...@googlegroups.com
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3632.

These include 64-bit VMs whose Smalltalk execution and FFI are functional.  However, their SocketPlugin is more than somewhat broken.  Executing the SocketPlugin tests results in a hard lockup, at least on Mac OS X.  This is my next focus for 64-bits.

------------------------------------------------------------------------
CogVM binaries as per VMMaker.oscog-eem.1700/r3632

General:
Fix serious bug in jitted perform: primitive.  Thanks to Stephane Rollandin
for finding and to Levente Uzoni for diagnosing the bug.  If the argument
count is one greater than the max number of register arguments (2 in Spur,
hence perform:with:with:) then the code to remove the receiver and arguments
from the stack neglects to remove the receiver and selector.

Spur:
Fix special selector arithmetic and comparison in the 64-bit Cogit.  My original
code for genJumpNotSmallIntegersIn:andScratchReg: merely jumped if the tags
differed, hence not jumping if both arguments were SmallFloat64s (or both
Characters).  The new code requires an additional scratch register;
hence add genJumpNotSmallIntegersIn:andScratch:scratch:.

Fix bug in markAndTraceWeaklingsFrom:.  Fields of weaklings may be immediate
so must use followOopField:ofObject: not followObjField:ofObject:.


When weaklings (and when ephemerons) are scan-marked forwarders must be coped
with.

64-bit VMs:
Fix a bug in printHex: for 64-bits (faulty arithmetic).

ThreadedFFIPlugin:
Fix the remaining 64-bit issues in the ThreadedFFIPlugin.  The X64SysVFFIPlugin
now passes the test suite.  Hence include the FFI plugin in 64-bit VMs.

Make the SqueakFFIPrims plugin internal in the Mac pharo builds.

Eliot Miranda

unread,
Feb 25, 2016, 3:46:06 PM2/25/16
to Squeak Virtual Machine Development Discussion, The general-purpose Squeak developers list, Discusses Development of Pharo, newspeak...@googlegroups.com
On Thu, Feb 25, 2016 at 9:29 AM, Eliot Miranda <eliot....@gmail.com> wrote:
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3632.

These include 64-bit VMs whose Smalltalk execution and FFI are functional.  However, their SocketPlugin is more than somewhat broken.  Executing the SocketPlugin tests results in a hard lockup, at least on Mac OS X.  This is my next focus for 64-bits.

It turns out that the 64-bit socket issues are Mac OS only.  The linux 64-bit VMs seem to be fine.  The problems are to do with socket reuse and/or broadcast (SO_REUSEADDR, SO_REUSEPORT & SO_BROADCAST).



--
_,,,^..^,,,_
best, Eliot
Reply all
Reply to author
Forward
0 new messages