[Vm-beginners] A couple of vm beginner questions

Philip Bernhart philip.bernhart at posteo.de
Sat Jan 12 21:56:40 UTC 2019


Hi,

I have a bunch of "beginner"(?) questions:

1. How to ensure that my local "stable" build from "stable"
   sources corresponds to the "stable" vm binary published
   on squeak.org? For example some time ago I build from the
   stable tag 201807260206 (= commit
   d1f3fb1c76ad72155d3becc8f9bed7d70e9485a9) which resulted in a
   VM which somehow had some weird and hard to understand issues
   with numbers corresponding in blaming the running smalltalk
   implementation in my case cuis:
   https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/issues/145

2. How to build the VM for a platform which has the dietlibc or a
   different implementation of the standard C library?
   I once tried to build it on alpine linux so to get
   a minimal and small baseimage of it running to be able to use
   it in within Docker containers without waiting 30 minutes for
   the build, because of added sizes and complexities when relying
   on a more "standard" base linux system (*cough* ubuntu *cough*).

3. What is now the supposed "best practice" of adding functionality
   to squeak? Say I want to add to it support for password hashing
   using libsodium and the library blocks the VM when trying
   to do more elaborate calls, so an async call would be much less
   of a pain from the user perspective. So async calling in a
   FFI library of that code or moving that into a VM plugin so
   it's much wider supported?

4. How to specialized VMs for special use cases? Like for example
   I would want to build the VM for some architectures where there
   is no binary around and which don't like or support any JIT
   implementation. How do I correctly select the VM, configure and
   build it and also can ensure that it works?

That's probably already too much to be answered in one mail.


Thanks,
Philip


More information about the VM-beginners mailing list