Jump to content
  • Advertisement
  • entries
  • comments
  • views

Quoth the VM: I'm not dead yet!

Sign in to follow this  


As I've written about previously, I'm working on destroying the Epoch virtual machine for once and for all.

Tonight I hit a major milestone in that effort: 43 of 54 compiler tests are now passing. This is the result of dozens of bugfixes and a truly hideous amount of surgery on the JIT code.

Of the tests that still fail, there are four major classes of issue:

  • Missing instructions, such as function pointer invocation or other specialized functionality (3)[/*]
  • Missing library functions, such as operator implementations (3)[/*]
  • Missing features such as marshaling into C libraries (and back out), global variables, specialized types, etc. (4)[/*]
  • Bugs due to stripping out so much code at once (1)[/*]

    Some of these, like missing library functions, are easy to fix; others, such as marshaling and function pointer invocation, will take more time and thought.

    All in all, though, this is solid progress and I'm really encouraged. The code base is continuing to shrink and get cleaner, and the lack of a VM to maintain is making the future look very bright indeed.

    My one big wishlist item right now is better debugging facilities; figuring out what's going on from disassembly listings is pretty painful at times. It's good low-level debugging practice, to be sure, but it's not exactly optimally productive most of the time.

    Once the VM-less compiler is passing all its tests, I'll do some more final polish and look at shipping Release 14 just for fun.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!