L3DT development blog
Large 3D terrain generator

Compiler revisited

Hi All,

There are a number of features that I've been meaning to implement for several years, and every so often I pull one off the shelf and have another look at it. This week, it's the turn of just-in-time (JIT) compiling for scripts. I'll let you know how it goes…

Cheerio, Aaron.


Update: It seems to be going well so far, and I've successfully run some simple scripts as compiled bytecode. However, I still need to port more script interpreter features over to the compiler (e.g. loops, if/else/endif, nested functions, etc.) Stay tuned… — Aaron 2009/12/04


Update 2: It's still going rather well. I've added support for compiling nested functions, as well as pointer referencing/dereferencing. Some syntax improvements have been made also, which I'll discuss in a later post. Still working on the if/else/endif and do/while statements… — Aaron 2009/12/04 (later)


Update 3: The compiler now supports do/while loops, and they're really fast. That's good, since faster loops was the whole point of the JIT compiler. There's still if/else/endif to do, and a whole lotta testing, but I'm now quite optimistic that the JIT compiler will make it into the next developmental build. Faster scripts for everyone! Hurrah! — Aaron 2009/12/05

 
l3dt/2009/dec/03.txt · Last modified: 2017/08/31 06:52 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki