GSoC: ARM jitter for Squeak VM

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

GSoC: ARM jitter for Squeak VM

Nick
Here's hoping that in a similar way to Yanni and the ePUB proposal and someone will jump in and say that they are already working on this.

Quoting Eliot:

It's not overambitious for someone good.  And I'd love to see it happen.  But finding time to be a mentor has proven difficult for me in the past.  I'd happily be part-mentor, but I need someone to at least help in the GSoC process...


so if there is anyone out there that can help Eliot and Igor with mentoring or the GSoC process, jump in and offer support.

The proposal:

-----

Name: ARM jitter for Squeak VM
Level: Advanced
Possible mentor: Eliot Miranda
Possible second mentor:  Igor Stasenko

Description
The Squeak VM is the dynamic virtual machine used for many open-source software projects such as Scratch [1], eToys [2], Pharo [3], the Newspeak language [4], the innovative web framework Seaside [5] and many others. CogVM [6] is a development of the Squeak VM which adds a powerful Intel x86 JITer [7]. The CogVM JIT has significantly improved the performance of the open-source Smalltalk projects which have adapted to use it.
Increasingly low cost highly capable ARM hardware such as the Raspberry Pi [8] and the Beagle Board [9] have become widely available. In addition the new version of the one-laptop-per-child is based on the ARM platform [10]. The Squeak VM compiles for ARM platforms, but currently there is no JIT on ARM platforms, significantly decreasing the performance of popular software on ARM. The goal of this project is to add simple ARM JITTing capability to the CogVM.

[6] http://gitorious.org/cogvm
[10] http://one.laptop.org/about/xo-3

Technical Details
The work would require a interest in virtual machine optimisation, some knowledge of Intel x86 and ARM assembler and knowledge of C and dynamic languages.
The Squeak and Cog VM are written in a simplified subset of Smalltalk known as slang [11] - which then generates C output and forms the basis of the VM.
As the Squeak VM is a Smalltalk program, it is developed in Smalltalk, and the Cog JIT is no exception.  The VM, including the JIT, is written in Smalltalk and run in the context of the Smalltalk IDE, but the JIT still generates machine-code that must be evaluated within the Smalltalk environment.  On x86 is done by interfacing to an x86 simulator library derived from the Bochs x86/x86-64 PC simulator, written in C++.  Implementing the ARM port should be no different.  The first task will be to choose and interface to a suitable ARM simualtor/emulator.  Once this is working, the ARM code generator can be incrementally developed within Smalltalk.  Finally once the simulator is fully functional one can get down and dirty with an actual physical ARM machine - such as the Raspberry Pi or Beagle Board.
[11] http://wiki.squeak.org/squeak/2267


Benefits to the Student
The student will gain an in-depth knowledge of virtual machine optimisation, working in a productive innovative environment - it's 
great fun to be able to implement a JIT in a safe high-level dynamic language, instead of the traditional route of developing in C/C++ and debugging in GDB.
The student will have the satisfaction of seeing performance gains for a range of high-profile projects which use the Squeak VM on ARM. 

Benefits to the Community
The Smalltalk community will gain an initial implementation of an ARM Jitter which can then be further developed along-side the x86 dynamic translation work. An ARM Jitter for the CogVM will improve the performance of many notable open-source projects on low-cost ARM hardware, bringing innovative software and development environments to wider community.  

----

Cheers

Nick
Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

S Krish
Let me know if I can help in any way.. on this..


On 3/8/12, Nick Ager <[hidden email]> wrote:

> Here's hoping that in a similar way to Yanni and the ePUB proposal and
> someone will jump in and say that they are already working on this.
>
> Quoting Eliot:
>
> It's not overambitious for someone good.  And I'd love to see it happen.
>>  But finding time to be a mentor has proven difficult for me in the past.
>>  I'd happily be part-mentor, but I need someone to at least help in the
>> GSoC process...
>
>
>
> so if there is anyone out there that can help Eliot and Igor with mentoring
> or the GSoC process, jump in and offer support.
>
> The proposal:
>
> -----
>
> Name: ARM jitter for Squeak VM
> Level: Advanced
> Possible mentor: Eliot Miranda
> Possible second mentor:  Igor Stasenko
>
> Description
> The Squeak VM is the dynamic virtual machine used for many open-source
> software projects such as Scratch [1], eToys [2], Pharo [3], the Newspeak
> language [4], the innovative web framework Seaside [5] and many others.
> CogVM [6] is a development of the Squeak VM which adds a powerful Intel x86
> JITer [7]. The CogVM JIT has significantly improved the performance of the
> open-source Smalltalk projects which have adapted to use it.
> Increasingly low cost highly capable ARM hardware such as the Raspberry Pi
> [8] and the Beagle Board [9] have become widely available. In addition the
> new version of the one-laptop-per-child is based on the ARM platform [10].
> The Squeak VM compiles for ARM platforms, but currently there is no JIT on
> ARM platforms, significantly decreasing the performance of popular software
> on ARM. The goal of this project is to add simple ARM JITTing capability to
> the CogVM.
>
> [1] http://scratch.mit.edu/
> [2] http://www.squeakland.org/about/intro/
> [3] http://www.pharo-project.org
> [4] http://newspeaklanguage.org/
> [5] http://seaside.st/
> [6] http://gitorious.org/cogvm
> [7] http://en.wikipedia.org/wiki/Just-in-time_compilation
> [8] http://www.raspberrypi.org/
> [9] http://beagleboard.org/bone
> [10] http://one.laptop.org/about/xo-3
>
> Technical Details
> The work would require a interest in virtual machine optimisation, some
> knowledge of Intel x86 and ARM assembler and knowledge of C and dynamic
> languages.
> The Squeak and Cog VM are written in a simplified subset of Smalltalk known
> as slang [11] - which then generates C output and forms the basis of the VM.
> As the Squeak VM is a Smalltalk program, it is developed in Smalltalk, and
> the Cog JIT is no exception.  The VM, including the JIT, is written in
> Smalltalk and run in the context of the Smalltalk IDE, but the JIT still
> generates machine-code that must be evaluated within the Smalltalk
> environment.  On x86 is done by interfacing to an x86 simulator library
> derived from the Bochs x86/x86-64 PC simulator, written in C++.
>  Implementing the ARM port should be no different.  The first task will be
> to choose and interface to a suitable ARM simualtor/emulator.  Once this is
> working, the ARM code generator can be incrementally developed within
> Smalltalk.  Finally once the simulator is fully functional one can get down
> and dirty with an actual physical ARM machine - such as the Raspberry Pi or
> Beagle Board.
> [11] http://wiki.squeak.org/squeak/2267
>
>
> Benefits to the Student
> The student will gain an in-depth knowledge of virtual machine
> optimisation, working in a productive innovative environment - it's
> great fun to be able to implement a JIT in a safe high-level dynamic
> language, instead of the traditional route of developing in C/C++ and
> debugging in GDB.
> The student will have the satisfaction of seeing performance gains for a
> range of high-profile projects which use the Squeak VM on ARM.
>
> Benefits to the Community
> The Smalltalk community will gain an initial implementation of an ARM
> Jitter which can then be further developed along-side the x86 dynamic
> translation work. An ARM Jitter for the CogVM will improve the performance
> of many notable open-source projects on low-cost ARM hardware, bringing
> innovative software and development environments to wider community.
>
> ----
>
> Cheers
>
> Nick
>

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

EstebanLM
In reply to this post by Nick
I would really like to co-mentor something like this... but I presume I have more things to learn than to teach :)

anyway, if there is a place to help, count me in.

Esteban

El 08/03/2012, a las 8:07a.m., Nick Ager escribió:

Here's hoping that in a similar way to Yanni and the ePUB proposal and someone will jump in and say that they are already working on this.

Quoting Eliot:

It's not overambitious for someone good.  And I'd love to see it happen.  But finding time to be a mentor has proven difficult for me in the past.  I'd happily be part-mentor, but I need someone to at least help in the GSoC process...


so if there is anyone out there that can help Eliot and Igor with mentoring or the GSoC process, jump in and offer support.

The proposal:

-----

Name: ARM jitter for Squeak VM
Level: Advanced
Possible mentor: Eliot Miranda
Possible second mentor:  Igor Stasenko

Description
The Squeak VM is the dynamic virtual machine used for many open-source software projects such as Scratch [1], eToys [2], Pharo [3], the Newspeak language [4], the innovative web framework Seaside [5] and many others. CogVM [6] is a development of the Squeak VM which adds a powerful Intel x86 JITer [7]. The CogVM JIT has significantly improved the performance of the open-source Smalltalk projects which have adapted to use it.
Increasingly low cost highly capable ARM hardware such as the Raspberry Pi [8] and the Beagle Board [9] have become widely available. In addition the new version of the one-laptop-per-child is based on the ARM platform [10]. The Squeak VM compiles for ARM platforms, but currently there is no JIT on ARM platforms, significantly decreasing the performance of popular software on ARM. The goal of this project is to add simple ARM JITTing capability to the CogVM.

[6] http://gitorious.org/cogvm
[10] http://one.laptop.org/about/xo-3

Technical Details
The work would require a interest in virtual machine optimisation, some knowledge of Intel x86 and ARM assembler and knowledge of C and dynamic languages.
The Squeak and Cog VM are written in a simplified subset of Smalltalk known as slang [11] - which then generates C output and forms the basis of the VM.
As the Squeak VM is a Smalltalk program, it is developed in Smalltalk, and the Cog JIT is no exception.  The VM, including the JIT, is written in Smalltalk and run in the context of the Smalltalk IDE, but the JIT still generates machine-code that must be evaluated within the Smalltalk environment.  On x86 is done by interfacing to an x86 simulator library derived from the Bochs x86/x86-64 PC simulator, written in C++.  Implementing the ARM port should be no different.  The first task will be to choose and interface to a suitable ARM simualtor/emulator.  Once this is working, the ARM code generator can be incrementally developed within Smalltalk.  Finally once the simulator is fully functional one can get down and dirty with an actual physical ARM machine - such as the Raspberry Pi or Beagle Board.
[11] http://wiki.squeak.org/squeak/2267


Benefits to the Student
The student will gain an in-depth knowledge of virtual machine optimisation, working in a productive innovative environment - it's 
great fun to be able to implement a JIT in a safe high-level dynamic language, instead of the traditional route of developing in C/C++ and debugging in GDB.
The student will have the satisfaction of seeing performance gains for a range of high-profile projects which use the Squeak VM on ARM. 

Benefits to the Community
The Smalltalk community will gain an initial implementation of an ARM Jitter which can then be further developed along-side the x86 dynamic translation work. An ARM Jitter for the CogVM will improve the performance of many notable open-source projects on low-cost ARM hardware, bringing innovative software and development environments to wider community.  

----

Cheers

Nick

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Eliot Miranda-2
Hi Krish, Hi Esteban,

On Thu, Mar 8, 2012 at 9:17 AM, S Krish <[hidden email]> wrote:
Let me know if I can help in any way.. on this..

On Thu, Mar 8, 2012 at 9:22 AM, Esteban Lorenzano <[hidden email]> wrote:
I would really like to co-mentor something like this... but I presume I have more things to learn than to teach :)

anyway, if there is a place to help, count me in.

Esteban

you are both most welcome.  i will definitely involve you.

If you want something to do now, the first thing to do is to produce an ARM simulator plugin, analogous to the Bochs simulator.  The first thing to do is go out and find a suitable software simulator, written in either C or C++ (cuz these suit the plugin compilation system) and play with it, configuring an ARM and running some simple assembler on it.  Once that's working you can write a plugin, and an Alien interface a la BochsIA32Plugin and BochsIA32Alien.  You can find tests you could use as a model in source.squeak.org/VMMaker/Cog-Processors-Tests BochsIA32AlienTests.  e.g. testNFib16 runs machine code that implements NFib (same as benchFib).


this is exciting!

cheers!


El 08/03/2012, a las 8:07a.m., Nick Ager escribió:

Here's hoping that in a similar way to Yanni and the ePUB proposal and someone will jump in and say that they are already working on this.

Quoting Eliot:

It's not overambitious for someone good.  And I'd love to see it happen.  But finding time to be a mentor has proven difficult for me in the past.  I'd happily be part-mentor, but I need someone to at least help in the GSoC process...


so if there is anyone out there that can help Eliot and Igor with mentoring or the GSoC process, jump in and offer support.

The proposal:

-----

Name: ARM jitter for Squeak VM
Level: Advanced
Possible mentor: Eliot Miranda
Possible second mentor:  Igor Stasenko

Description
The Squeak VM is the dynamic virtual machine used for many open-source software projects such as Scratch [1], eToys [2], Pharo [3], the Newspeak language [4], the innovative web framework Seaside [5] and many others. CogVM [6] is a development of the Squeak VM which adds a powerful Intel x86 JITer [7]. The CogVM JIT has significantly improved the performance of the open-source Smalltalk projects which have adapted to use it.
Increasingly low cost highly capable ARM hardware such as the Raspberry Pi [8] and the Beagle Board [9] have become widely available. In addition the new version of the one-laptop-per-child is based on the ARM platform [10]. The Squeak VM compiles for ARM platforms, but currently there is no JIT on ARM platforms, significantly decreasing the performance of popular software on ARM. The goal of this project is to add simple ARM JITTing capability to the CogVM.

[6] http://gitorious.org/cogvm
[10] http://one.laptop.org/about/xo-3

Technical Details
The work would require a interest in virtual machine optimisation, some knowledge of Intel x86 and ARM assembler and knowledge of C and dynamic languages.
The Squeak and Cog VM are written in a simplified subset of Smalltalk known as slang [11] - which then generates C output and forms the basis of the VM.
As the Squeak VM is a Smalltalk program, it is developed in Smalltalk, and the Cog JIT is no exception.  The VM, including the JIT, is written in Smalltalk and run in the context of the Smalltalk IDE, but the JIT still generates machine-code that must be evaluated within the Smalltalk environment.  On x86 is done by interfacing to an x86 simulator library derived from the Bochs x86/x86-64 PC simulator, written in C++.  Implementing the ARM port should be no different.  The first task will be to choose and interface to a suitable ARM simualtor/emulator.  Once this is working, the ARM code generator can be incrementally developed within Smalltalk.  Finally once the simulator is fully functional one can get down and dirty with an actual physical ARM machine - such as the Raspberry Pi or Beagle Board.
[11] http://wiki.squeak.org/squeak/2267


Benefits to the Student
The student will gain an in-depth knowledge of virtual machine optimisation, working in a productive innovative environment - it's 
great fun to be able to implement a JIT in a safe high-level dynamic language, instead of the traditional route of developing in C/C++ and debugging in GDB.
The student will have the satisfaction of seeing performance gains for a range of high-profile projects which use the Squeak VM on ARM. 

Benefits to the Community
The Smalltalk community will gain an initial implementation of an ARM Jitter which can then be further developed along-side the x86 dynamic translation work. An ARM Jitter for the CogVM will improve the performance of many notable open-source projects on low-cost ARM hardware, bringing innovative software and development environments to wider community.  

----

Cheers

Nick




--
best,
Eliot

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Nick
Hi Elliot,

I'm probably the least qualified of the people who have responded so far - but if at all possible I'd love to try and help.

If you want something to do now, the first thing to do is to produce an ARM simulator plugin, analogous to the Bochs simulator.  The first thing to do is go out and find a suitable software simulator, written in either C or C++ (cuz these suit the plugin compilation system) and play with it, configuring an ARM and running some simple assembler on it. 

In terms of ARM emulators a popular one seems to be QEMU [1] - the Android simulator uses it.

Cheers

Nick

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Eliot Miranda-2


On Thu, Mar 8, 2012 at 1:20 PM, Nick Ager <[hidden email]> wrote:
Hi Elliot,

I'm probably the least qualified of the people who have responded so far - but if at all possible I'd love to try and help.

You're welcome too.
 
If you want something to do now, the first thing to do is to produce an ARM simulator plugin, analogous to the Bochs simulator.  The first thing to do is go out and find a suitable software simulator, written in either C or C++ (cuz these suit the plugin compilation system) and play with it, configuring an ARM and running some simple assembler on it. 

In terms of ARM emulators a popular one seems to be QEMU [1] - the Android simulator uses it.

Right, but this one is unsuitable because it does dynamic translation.  Because the Squeak VM has a moving garbage collector and because, when simulating, the entire Cog heap, including generated machine-code, lives in a single ByteArray, the machine code generated by Cog, when simulating, can move.  So the interface between the processor simulator and the generated machine code and memory must be based on virtual addresses.  I'm pretty certain that a JIT like QEMU will use real addresses and so its own code generation would get confused by any movements of the Cog heap ByteArray.  Hence it is I think better to stick with a simple interpretive simulator such as the Armulator, and of course Bochs.  BTW, the ARM is so simple that the core instruction set simulator in the ARM is only 1500 lines of C++ (including whitespace).  So another approach might be to implement ARM in Smalltalk, e.g. by back-porting the Armulator code, although I expect it'll be significantly slower than optimized C++.
 



--
best,
Eliot

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Alexis Parseghian
In case you'd rather work on real hardware instead of an emulator, I
can recommend Genesi machines (I am not affiliated with them) :
http://www.genesi-usa.com/products

It's well-designed, inexpensive and supports both armel and armhf ABIs
(one of the guys behind the debian armhf port works mostly on a
Smartbook). Besides, they take customer support very seriously.

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

S Krish
In reply to this post by Eliot Miranda-2
Thx,

 I hope I would do justice to this in terms of time...! .. Let me just
dive into this and look in..



PS: Wish a day had 48 hrs to it.. with rest 24 to your own pursuit..
not for work or home.


On 3/9/12, Eliot Miranda <[hidden email]> wrote:

> Hi Krish, Hi Esteban,
>
> On Thu, Mar 8, 2012 at 9:17 AM, S Krish <[hidden email]>
>  wrote:
>
>> Let me know if I can help in any way.. on this..
>
>
> On Thu, Mar 8, 2012 at 9:22 AM, Esteban Lorenzano
> <[hidden email]>wrote:
>
>> I would really like to co-mentor something like this... but I presume I
>> have more things to learn than to teach :)
>>
>> anyway, if there is a place to help, count me in.
>>
>> Esteban
>>
>
> you are both most welcome.  i will definitely involve you.
>
> If you want something to do now, the first thing to do is to produce an ARM
> simulator plugin, analogous to the Bochs simulator.  The first thing to do
> is go out and find a suitable software simulator, written in either C or
> C++ (cuz these suit the plugin compilation system) and play with it,
> configuring an ARM and running some simple assembler on it.  Once that's
> working you can write a plugin, and an Alien interface a la BochsIA32Plugin
> and BochsIA32Alien.  You can find tests you could use as a model in
> source.squeak.org/VMMaker/Cog-Processors-Tests BochsIA32AlienTests.  e.g.
> testNFib16 runs machine code that implements NFib (same as benchFib).
>
>
> this is exciting!
>
> cheers!
>
>
>> El 08/03/2012, a las 8:07a.m., Nick Ager escribió:
>>
>> Here's hoping that in a similar way to Yanni and the ePUB proposal and
>> someone will jump in and say that they are already working on this.
>>
>> Quoting Eliot:
>>
>> It's not overambitious for someone good.  And I'd love to see it happen.
>>>  But finding time to be a mentor has proven difficult for me in the past.
>>>  I'd happily be part-mentor, but I need someone to at least help in the
>>> GSoC process...
>>
>>
>>
>> so if there is anyone out there that can help Eliot and Igor with
>> mentoring or the GSoC process, jump in and offer support.
>>
>> The proposal:
>>
>> -----
>>
>> Name: ARM jitter for Squeak VM
>> Level: Advanced
>> Possible mentor: Eliot Miranda
>> Possible second mentor:  Igor Stasenko
>>
>> Description
>> The Squeak VM is the dynamic virtual machine used for many open-source
>> software projects such as Scratch [1], eToys [2], Pharo [3], the Newspeak
>> language [4], the innovative web framework Seaside [5] and many others.
>> CogVM [6] is a development of the Squeak VM which adds a powerful Intel
>> x86
>> JITer [7]. The CogVM JIT has significantly improved the performance of the
>> open-source Smalltalk projects which have adapted to use it.
>> Increasingly low cost highly capable ARM hardware such as the Raspberry Pi
>> [8] and the Beagle Board [9] have become widely available. In addition the
>> new version of the one-laptop-per-child is based on the ARM platform [10].
>> The Squeak VM compiles for ARM platforms, but currently there is no JIT on
>> ARM platforms, significantly decreasing the performance of popular
>> software
>> on ARM. The goal of this project is to add simple ARM JITTing capability
>> to
>> the CogVM.
>>
>> [1] http://scratch.mit.edu/
>> [2] http://www.squeakland.org/about/intro/
>> [3] http://www.pharo-project.org
>> [4] http://newspeaklanguage.org/
>> [5] http://seaside.st/
>> [6] http://gitorious.org/cogvm
>> [7] http://en.wikipedia.org/wiki/Just-in-time_compilation
>> [8] http://www.raspberrypi.org/
>> [9] http://beagleboard.org/bone
>> [10] http://one.laptop.org/about/xo-3
>>
>> Technical Details
>> The work would require a interest in virtual machine optimisation, some
>> knowledge of Intel x86 and ARM assembler and knowledge of C and dynamic
>> languages.
>> The Squeak and Cog VM are written in a simplified subset of Smalltalk
>> known as slang [11] - which then generates C output and forms the basis of
>> the VM.
>> As the Squeak VM is a Smalltalk program, it is developed in Smalltalk, and
>> the Cog JIT is no exception.  The VM, including the JIT, is written in
>> Smalltalk and run in the context of the Smalltalk IDE, but the JIT still
>> generates machine-code that must be evaluated within the Smalltalk
>> environment.  On x86 is done by interfacing to an x86 simulator library
>> derived from the Bochs x86/x86-64 PC simulator, written in C++.
>>  Implementing the ARM port should be no different.  The first task will be
>> to choose and interface to a suitable ARM simualtor/emulator.  Once this
>> is
>> working, the ARM code generator can be incrementally developed within
>> Smalltalk.  Finally once the simulator is fully functional one can get
>> down
>> and dirty with an actual physical ARM machine - such as the Raspberry Pi
>> or
>> Beagle Board.
>> [11] http://wiki.squeak.org/squeak/2267
>>
>>
>> Benefits to the Student
>> The student will gain an in-depth knowledge of virtual machine
>> optimisation, working in a productive innovative environment - it's
>> great fun to be able to implement a JIT in a safe high-level dynamic
>> language, instead of the traditional route of developing in C/C++ and
>> debugging in GDB.
>> The student will have the satisfaction of seeing performance gains for a
>> range of high-profile projects which use the Squeak VM on ARM.
>>
>> Benefits to the Community
>> The Smalltalk community will gain an initial implementation of an ARM
>> Jitter which can then be further developed along-side the x86 dynamic
>> translation work. An ARM Jitter for the CogVM will improve the performance
>> of many notable open-source projects on low-cost ARM hardware, bringing
>> innovative software and development environments to wider community.
>>
>> ----
>>
>> Cheers
>>
>> Nick
>>
>>
>>
>
>
> --
> best,
> Eliot
>

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Dan Corneanu
Hi,
I would really like to have a CogVM for ARM. I am a rookie in this field but I
own a raspberry pi and would love to help in any way possible to move this
forward. Testing maybe ?



Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Frank Shearar-3
On 23 November 2012 10:49, Dan Corneanu <[hidden email]> wrote:
> Hi,
> I would really like to have a CogVM for ARM. I am a rookie in this field but I
> own a raspberry pi and would love to help in any way possible to move this
> forward. Testing maybe ?

The interpreter VM works perfectly on the Raspberry, so you can at
least get your Smalltalk fix while folks work on Cog.

frank

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Carla F. Griggio
Hello!
I'm copying Lars and Eliot, who worked on this project during the summer, so maybe they can update everyone on the state of the project.

Cheers,
Carla.

On Fri, Nov 23, 2012 at 12:04 PM, Frank Shearar <[hidden email]> wrote:
On 23 November 2012 10:49, Dan Corneanu <[hidden email]> wrote:
> Hi,
> I would really like to have a CogVM for ARM. I am a rookie in this field but I
> own a raspberry pi and would love to help in any way possible to move this
> forward. Testing maybe ?

The interpreter VM works perfectly on the Raspberry, so you can at
least get your Smalltalk fix while folks work on Cog.

frank


Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Bruce O'Neel-2
In reply to this post by Dan Corneanu
Hi,

The CogVM runs fine on my Android ARM phone, so, there can't
be some giant problem with CogVM on ARM.

http://code.google.com/p/squeakvm-tablet/wiki/JenkinsBuilds

cheers

bruce

On Fri, Nov 23, 2012 at 10:49:20AM +0000, Dan Corneanu wrote:
> Hi,
> I would really like to have a CogVM for ARM. I am a rookie in this field but I
> own a raspberry pi and would love to help in any way possible to move this
> forward. Testing maybe ?
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Dan Corneanu-2
Bruce O'Neel <bruce.oneel@...> writes:

>
> Hi,
>
> The CogVM runs fine on my Android ARM phone, so, there can't
> be some giant problem with CogVM on ARM.
>
> http://code.google.com/p/squeakvm-tablet/wiki/JenkinsBuilds
>
> cheers

As far as I know, both of them have no JIT support.
Indeed the VM can be compiled for ARM, I already did that.
Nevertheless, I am interested in seeing JIT for ARM.

Best regards,
Dan.


Reply | Threaded
Open this post in threaded view
|

Re: GSoC: ARM jitter for Squeak VM

Eliot Miranda-2
In reply to this post by Carla F. Griggio



On Fri, Nov 23, 2012 at 12:56 PM, Carla F. Griggio <[hidden email]> wrote:
Hello!
I'm copying Lars and Eliot, who worked on this project during the summer, so maybe they can update everyone on the state of the project.

It is in progress.  Lars has completed the code generator and is working on the C calling interface.  There are some changes required to the inline cache machinery to accomodate the ARM's use of a link register (essentially the contents of the link register needs to be pushed on and popped from the stack at the right points so that the rest of the VM sees the same stack layout as on x86).  So the system isn't ready yet, but it isn't a long way away either.  Lars is actively working on it when time allows.

HTH
Eliot

 

Cheers,
Carla.


On Fri, Nov 23, 2012 at 12:04 PM, Frank Shearar <[hidden email]> wrote:
On 23 November 2012 10:49, Dan Corneanu <[hidden email]> wrote:
> Hi,
> I would really like to have a CogVM for ARM. I am a rookie in this field but I
> own a raspberry pi and would love to help in any way possible to move this
> forward. Testing maybe ?

The interpreter VM works perfectly on the Raspberry, so you can at
least get your Smalltalk fix while folks work on Cog.

frank





--
best,
Eliot