New Cog VMs available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 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
Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

abergel
Hi Eliot,

Since I cannot compile the VM on my own, I tried yours (compilation error as I mentioned in one of my previous emails). I tried yours, but I am not sure which VM to try. I downloaded CogPharoSpur64.app-16.08.3632.tar but I cannot open an image. Any reason why?

Alexandre


> On Feb 25, 2016, at 9:46 PM, Eliot Miranda <[hidden email]> wrote:
>
>
>
> 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:.
>
> Fix https://pharo.fogbugz.com/f/cases/17536/VM-Crash-when-adding-an-iVar-to-a-subclass-of-SystemAnnouncement.
>
> 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

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Stephan Eggermont-3
On 01-03-16 13:15, Alexandre Bergel wrote:
> Since I cannot compile the VM on my own, I tried yours (compilation error as I mentioned in one of my previous emails). I tried yours, but I am not sure which VM to try.
 >I downloaded CogPharoSpur64.app-16.08.3632.tar but I cannot open an
image. Any reason why?

You need a 64 bit pharo image for that.

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

abergel
I am a bit lost. Do we have a 64bits support? If yes, then why do we still have some 32 bits images?

Alexandre

> On Mar 1, 2016, at 1:19 PM, Stephan Eggermont <[hidden email]> wrote:
>
> On 01-03-16 13:15, Alexandre Bergel wrote:
>> Since I cannot compile the VM on my own, I tried yours (compilation error as I mentioned in one of my previous emails). I tried yours, but I am not sure which VM to try.
> >I downloaded CogPharoSpur64.app-16.08.3632.tar but I cannot open an image. Any reason why?
>
> You need a 64 bit pharo image for that.
>
> Stephan
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

EstebanLM

> On 01 Mar 2016, at 13:43, Alexandre Bergel <[hidden email]> wrote:
>
> I am a bit lost. Do we have a 64bits support? If yes, then why do we still have some 32 bits images?

we don't

>
> Alexandre
>
>> On Mar 1, 2016, at 1:19 PM, Stephan Eggermont <[hidden email]> wrote:
>>
>> On 01-03-16 13:15, Alexandre Bergel wrote:
>>> Since I cannot compile the VM on my own, I tried yours (compilation error as I mentioned in one of my previous emails). I tried yours, but I am not sure which VM to try.
>>> I downloaded CogPharoSpur64.app-16.08.3632.tar but I cannot open an image. Any reason why?
>>
>> You need a 64 bit pharo image for that.
>>
>> Stephan
>>
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Clément Béra
In reply to this post by abergel

2016-03-01 13:15 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Eliot,

Since I cannot compile the VM on my own, I tried yours (compilation error as I mentioned in one of my previous emails). I tried yours, but I am not sure which VM to try. I downloaded CogPharoSpur64.app-16.08.3632.tar but I cannot open an image. Any reason why?

Hi Alex,

I am pretty sure Eliot will answer when he gets up, I answer now so you have a quicker answer.

Let me explain what the file name CogPharoSpur64.app-16.08.3632.tar means:
'Cog' => VM with the jit (not interpreter only VM or Sista VM)
'Pharo' => for Pharo (not for Newspeak or Squeak)
'Spur' => Spur memory manager (not the SqueakV3 memory manager)
'64' => 64 bits VM (not a 32 bits VM)
'.app -16.08.3632.tar' => suffix and version number

So my guess is that you are trying to run a 32 bits image with a 64 bits VM. 64 bits VM run only 64 bits images such as the ones available here.

Assuming you want to open a 32 bits image, you can try:
CogPharoSpur.app-16.08.3632.tgz
(It does not have '64' in its name so it's 32 bits)

Now you might miss some libraries that might not be present in this build. Tell us if you can successfully run Roassal.

If one wants to know more about the internal names, one can read the HowToBuild file from the build repository which explains that very well.

Clement 


Alexandre


> On Feb 25, 2016, at 9:46 PM, Eliot Miranda <[hidden email]> wrote:
>
>
>
> 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:.
>
> Fix https://pharo.fogbugz.com/f/cases/17536/VM-Crash-when-adding-an-iVar-to-a-subclass-of-SystemAnnouncement.
>
> 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

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.