Journey through the VM

I will start this blog with a sequence of VM related posts called “Journey through the VM”,  similar to what Igor did in Deep Smalltalk School. My main focus is that a regular Smalltalker, without any knowledge in VM stuff can understand the basis of it (ObjectMemory, Interpreter, etc). In addition, I expect the reader can download, change, compile,  run, and debug (and why not fixing?) the VM.

Later on in the journey, I would also like to talk about what the compiler does, what bytecodes are, how to read them, how they are mapped to the VM, etc. I will also show some hooks or tricks that the VM provides and that are not always known. Moreover, I will explain what a primitive is, how they are executed by the VM, how you can write your own primitives, etc. FFI and writing your own plugin are also in my plans.

It is important to notice that all these posts are thought for VM newbies. I will just try to document all I know and try to provide you with useful links.

So….Will I see you on board?


11 thoughts on “Journey through the VM

  1. Yes, very interesting stuff. Especially now when I am digging through the VM internals working on the Android port. Hoping to find many answers here 😉


    1. Hi Dimitry. I am not sure if you will find answers here, but at least I hope you enjoy the posts. For example, I’ve just read your post in the VM mailing list and I even didn’t know there was an Event VM that does what you described instead of the interpret() loop. Good to know. I am curious to look such changes too.

  2. Mariano,

    Indeed, I already see some answers 😉 At least this is a good overview of VMMaker, good as a starting point for VM practice. As for Event VM, you know, I also just recently “discovered” it for myself; initially I thought that was just a classic VM, but was puzzled by the non-looping interpreter.

    And Google returns just a handful of results (posts)for “event VM”, the last post was around the first release of Android Squeak.

    Hopefully Andreas will answer in the list.

Leave a Reply