AW: Re: VA Smalltalk on Raspberry Pi

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

AW: Re: VA Smalltalk on Raspberry Pi

Instantiations mailing list
As I said: pretty cool. I Do Not Expect any Performance Hits - so the question is: how Slow is IT ? 



Von meinem Samsung Gerät gesendet.


-------- Ursprüngliche Nachricht --------
Von: Louis LaBrunda <[hidden email]>
Datum: 11.02.2017 01:54 (GMT+01:00)
An: VA Smalltalk <[hidden email]>
Betreff: Re: VA Smalltalk on Raspberry Pi

Hi Seth,

This is really cool!!  Congrats.  When we talked about it, I thought it would be a long way off.

I have been playing with building a Squeak/Seaside program that controls the GPIO pins on my very old Raspberry Pi B (first gen).  I want to give it to a friend so he can open and close his garage doors over the Internet with a web browser.

It works and just needs some clean up and a little work wiring transistors and relays.  It would be cool to be able to do it in VA Smalltalk (probably would have to port a hardware interface from Squeak).  Not that there is anything wrong with Squeak, I'm just much more comfortable with VA Smalltalk.

Lou

On Friday, February 10, 2017 at 2:02:48 PM UTC-5, Seth Berman wrote:
Hello all,

We are going to be showing this at <a href="http://campsmalltalk-rdu.com/" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fcampsmalltalk-rdu.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGgLeb6lqOMhlzCAaBubDhBDV6wjg';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fcampsmalltalk-rdu.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGgLeb6lqOMhlzCAaBubDhBDV6wjg';return true;">Camp Smalltalk RDU, so if you interested in this kind of thing, I encourage you to come.
I've attached a picture of VA, running on top of our new virtual machine, compiled for the Raspberry Pi's ARM processor.
It's quite snappy...surprisingly so given what it's running on.

What may surprise you to know is that this was done in about 4 hours over the weekend when I had some spare time.  A fact I attribute more to the portability of the vm rather than my ability.
In fact, I spent more time dealing with Motif/X11 linking issues than the actual virtual machine port.

The only thing that hung me up, forcing me to print out pages of bytecodes and compare them against a Linux/X86 run, was the fact that 'char' datatypes in C compilers are unsigned by default on the ARM.
So our Linux x86 defininition of an I_8 (a datatype we define that is supposedly a signed byte)...was in fact not a signed byte on the ARM.  So a bytecode to jump to a small negative offset turned into a jump to a much larger positive offset.
But redefining it as 'signed char' fixed that up.
Who knew?  Well...somebody knew...just not me.

We have multiple ways we can build our vm.  From C interpreter versions that have zero assembly (well, assembly managed by us) all the way to the LLVM code-generated version which are the most performant.
I chose somewhere in between to start with.  The only assembly I did was to make use of gcc's register intrinsics allowing us to pin important vm state to registers.

That was the fun part...then came Motif...but I'll leave that where it is because it's not that interesting...just painful:)

Hope to see some of you at Camp Smalltalk RDU!

-- Seth

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.