🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Guess what I'm gonna talk about!

Published February 15, 2009
Advertisement
I started implementing bitwise operators in Epoch this afternoon, and stumbled across a couple of massive refactorings that I'd like to do. The specifics aren't interesting, but the bottom line is I can make the instruction-emitter part of the compiler work much more efficiently and consistently, especially when it comes to built-in functions.

So today will likely end up being one of those days where you have a net loss of code (in terms of KLOC or whatever stupid metric you want to throw around) even though the codebase is now much cleaner and more flexible.

Thankfully, the only pressure I have on the project is to have a working release ready by GDC, so I can pimp it out to anyone I run across. That leaves me a little over a month to cram whatever awesomeness I can into things.


In terms of Release 5, I still want to grind through as much of the checklist as I can, and make sure all the example code is up to par. That's going to be a fairly tedious job as I'm sure there will be a lot of instructions that aren't properly handled by the assembler, or the disassembler, or the actual VM runtime.

Building the binary compiled code was a lot of fun, but the downside is it has introduced a series of potential gaps in the implementation. Keeping all the instructions and routines in sync can be a pain... there's the instruction emitter code in the compiler, the instruction evaluation and encoding routine in the assembler, the decoding and pretty-printing logic in the disassembler, and the decoder that loads the bytecode into the VM. So many points of failure, so little time...


I can't decide how much refactoring and general code cleanup I want to try to do for R5; it really depends on what I decide to tackle for R6. At the moment I'm thinking R6 will basically consist of the first rough build of the IDE, plus whatever additions/improvements/refactorings I can find (or end up needing) in the toolchain.

So... all this gibberish to say, I'm tentatively aiming at making Release 5 within the next week.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement