New Cog VMs available

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

New Cog VMs available

Eliot Miranda-2
... 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.

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


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Eliot Miranda-2


On Thu, Feb 25, 2016 at 9:29 AM, Eliot Miranda <[hidden email]> 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).

------------------------------------------------------------------------
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.

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



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