[Cuis-dev] Dynamic recompilation when platform changes?
Juan Vuletich
juan at jvuletich.org
Mon Mar 9 07:43:46 PDT 2020
On 3/7/2020 3:48 PM, Phil B via Cuis-dev wrote:
> This has been in the back of my mind for a while and some recent posts
> about Sista getting closer to being ready for prime time got me
> thinking about it again. Some of the performance optimizations buried
> deep in Cuis/Squeak are from a time when the VM was much slower than
> it is today. From time to time, I've thought about starting to go
> through and identifying which primitives get called purely for
> performance reasons vs. things that actually need to be done in the VM
> and seeing if the original decisions still hold. The thing that talks
> me out of it is that while X may indeed be more performant today on
> 64-bit x86 in a spur VM, it may not be on 32-bit ARM in a stack VM.
>
> Another related issue is that there are approaches I will take when
> I'm on an x86 desktop that I'll go in a completely different direction
> on with an ARM SBC, primarily due to performance and memory differences.
>
> So what I'm wondering is if there is any interest in having a class
> method whose implementors are called on startup only when one of the
> major platform variables (platform/architecture/VM type) changes? Of
> course, I can do this in a #startUp method. I just wanted to see if
> there's any wider interest in this at an image level before I go off
> and roll my own thing.
Hi Phil,
I think it makes sense to do this in the base image. Also, check that
there is code that checks for a change in endianess, and fixes the byte
order of some objects if required. All this kind of stuff should be in a
single place, I think.
Thanks,
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich
More information about the Cuis-dev
mailing list