Monthly Archives: March 2011

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?


About me and what I expect to talk about

When I was young(er!! ) my parents taught me that one of the first things someone should do, is to present himself. So, here I am doing so. My name is Mariano Martínez Peck, and I am an argentinian systems engineer. I’ve got my degree at Facultad Regional Buenos Aires of Universidad Tecnológica Nacional. I have been working in Smalltalk for three years, starting with the development of SqueakDBX. I’ve also worked in a financial company using Visual Age Smalltalk .

Right now, I am a PhD student at Lille, France. My PhD is between INRIA (the RMOD team)  and Ecole Des Mines de Douai. My supervisors are Luc Fabresse, Stéphane Ducasse, Marcus Denker and Noury Bouraqadi. I am working in the development of a spare memory manager for dynamic languages (but more about that in future posts). For more details, please visit my page at RMOD website.

I am also a contributor for a couple of open-source projects like Pharo, Metacello, DBXTalk (which was SqueakDBX and GlorpDBX), Fuel, OpenDBX, etc.

So…what I am going to talk about?  Probably about general and random things about Smalltalk (Pharo in particular), projects I contribute to, Virtual Machine and all its related topics, etc.


  • I am not a Smalltalk nor VM expert. I am just another young guy trying to learn.
  • Everything I will post will be my thoughts or points of view. They can be wrong, misleading, etc.
  • I am not an English native speaker. So I won’t write in a perfect English. I really welcome any kind of feedback, not only for the English, but also for the technical stuff.
  • Some posts will be basically “for me”. Writing things down makes me understand things better and clarify my mind. If this is useful for you, then even better 🙂
  • Most of my posts will be aimed for regular/newbie Smalltalkers. If you are a VM/Smalltalk hacker, then you will probably learn little.

So, welcome aboard, and stay tunned!