Dissecting Tamarin

I'll be looking deep into Tamarin before I'm off to Adobe for the summer. I'm hoping to have a pretty firm grasp prior to my start date. So far it's been a very interesting trip looking through the source code. Tamarin is the next generation JavaScript compiler for both Adobe Flash and Mozilla Firefox. It uses trace trees to decide what to compile, which also seems to go hand in hand with dynamically typed languages. In fact, we think that dynamically typed languages are the kill app for this compilation technique.

Tamarin itself is a beast of a system. It is a huge jungle of C/C++, ActionScript, Forth, and assembly. Even the idea of forth is very interesting since the language itself simply expresses a stack based machine, meaning when you code, you need a stack executing in your head. My brain isn't quite at the point where a stack executes as fast as regular code.

So far my understanding of how these languages interact is fairly limited, and I'll be jotting down my adventures into the Tamarin source as I reach them.