Building 64-bit pharo VM

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

Building 64-bit pharo VM

Evan Donahue
Hello,

I am working on building a 64-bit pharo vm to open large files, as per a previous question to the list. I have gone down a few roads from different dates and with different basic strategies and met with little success so far. Could someone recommend the best place to look for the vm build instructions that would be the closest fit to building a current pharo vm for pharo4 in 64 bits on a 64 bit arch linux os?

Thanks,
Evan
Reply | Threaded
Open this post in threaded view
|

Re: Building 64-bit pharo VM

Clément Béra
Hello,

What you want to do is difficult because the vm internals rely on the word size.

There are two solutions: 
1) editing the VM (JIT native code back end + memory manager) to support 64 bits. That's a work in progress. You can discuss about it on the Squeak vm-dev mailing list.
2) compiling the current VM for 64bits whereas internally it runs in 32bits. Reportedly, it works for the interpreter based VM but not everything is working (like no FFI I think). Again discuss that on the squeak vm-dev mailing list.

Right now in 32bits it is ok to open image up to 2Gb. You have to be careful with GC though so there are not too many user pauses.

On Pharo 4, you will also very soon be able to use Spur the new memory manager. An image is working using it but it's not a 100% stable right now. With spur you can open image up to 3Gb in 32bits. The GC is better so you'll have less user pauses in large images.

Regards,

2014-11-19 1:07 GMT+01:00 Evan Donahue <[hidden email]>:
Hello,

I am working on building a 64-bit pharo vm to open large files, as per a previous question to the list. I have gone down a few roads from different dates and with different basic strategies and met with little success so far. Could someone recommend the best place to look for the vm build instructions that would be the closest fit to building a current pharo vm for pharo4 in 64 bits on a 64 bit arch linux os?

Thanks,
Evan

Reply | Threaded
Open this post in threaded view
|

Re: Building 64-bit pharo VM

Peter Uhnak
Hi Evan,

if the sole purpose of building it yourself is large file support you don't need 64-bit build. There is an open issue for LFS https://pharo.fogbugz.com/f/cases/14250/Enable-large-file-support-on-linux however you can simply add the flag to the cmake file and build it as 32bit. There is a guide here https://github.com/pharo-project/pharo-vm how to build it. Although it's for ubuntu, as long as you have the requirement libs it should (in theory) work. Or you can create virtual machine with 32bit ubuntu and build it there. (That's what I've done since I had trouble with building it on 64bit debian).

Peter

On Wed, Nov 19, 2014 at 7:09 AM, Clément Bera <[hidden email]> wrote:
Hello,

What you want to do is difficult because the vm internals rely on the word size.

There are two solutions: 
1) editing the VM (JIT native code back end + memory manager) to support 64 bits. That's a work in progress. You can discuss about it on the Squeak vm-dev mailing list.
2) compiling the current VM for 64bits whereas internally it runs in 32bits. Reportedly, it works for the interpreter based VM but not everything is working (like no FFI I think). Again discuss that on the squeak vm-dev mailing list.

Right now in 32bits it is ok to open image up to 2Gb. You have to be careful with GC though so there are not too many user pauses.

On Pharo 4, you will also very soon be able to use Spur the new memory manager. An image is working using it but it's not a 100% stable right now. With spur you can open image up to 3Gb in 32bits. The GC is better so you'll have less user pauses in large images.

Regards,

2014-11-19 1:07 GMT+01:00 Evan Donahue <[hidden email]>:
Hello,

I am working on building a 64-bit pharo vm to open large files, as per a previous question to the list. I have gone down a few roads from different dates and with different basic strategies and met with little success so far. Could someone recommend the best place to look for the vm build instructions that would be the closest fit to building a current pharo vm for pharo4 in 64 bits on a 64 bit arch linux os?

Thanks,
Evan