[Vm-dev] About BitBlt on the Raspberry Pie VM
tim at rowledge.org
Mon Feb 9 20:34:36 UTC 2015
On 09-02-2015, at 9:44 AM, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On 05.02.2015, at 15:02, Clément Bera <bera.clement at gmail.com> wrote:
>> I am asking it because last time I discussed with Bert, he said that it would be fun to have a smalltalk-implemented BitBlt combined with a JIT compiler doing automatic vectorization in order to have vector graphics implemented as Bit-based graphics. The more I think about it the more I think this makes sense. Even if it's in the far future (I'm stabilizing inlining and SmallInteger range optimizations first in the JIT), I would like to go in that direction.
> I'm not exactly sure what we talked about (IIRC there was very nice beer involved) but with "vectorization" I guess I did not mean vector graphics, but using CPU vector instructions, which operate on multiple machine words at once.
That potentially makes sense; I did a very simple jitblt for the original ARM desktop machines and the Active Book waaaaaay back - ‘1990 or so. Given the very much more sophisticated translator stuff we now have access to I could see it being both easier to deal with and more useful. There are quite a few instruction sets one would have to investigate though. There’s probably 4 different sets of simd/vector/media extensions just in the ARM world. In x86 land there may be an uncountable infinity by now.
The BenBlt code we are using on the Pi is pretty much a cached set of compiled-to-ARM-simd cases. It certainly improves things, so it can be considered a proof by example of the value of the concpet.
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
A paperless office has about as likely as a paperless bathroom.
More information about the Vm-dev