Epoch status report

Published February 12, 2009
Advertisement
As of 1650 hours today, this is where the release task list for R5 stands:

Requirements for Win32 Programming
  • Named constants

  • Hex literals

  • Bitwise operation instructions

  • Byte buffer entity

  • (Some fixes to nested structures)


Major implementation items
  • FileLoader::LoadScope needs tuple and structure support

  • Finish CallbackInvoke; accept more return types


Additional TODOs
  • Clean up memory leaks in deserialization code

  • Implement nested structure marshalling (C to Epoch)

  • Implement function pointer marshalling (C to Epoch)

  • Add support for named function signatures as function parameters

  • Examine Block::ReverseTailOperations for refactorings

  • Fix flaky STDIO pipes between FugueDLLClient and FugueASM

  • Test all example programs for assembling and binary execution

  • Serialize the global-variable initialization block



And of course the wishlist
  • Better syntax for initializing nested structures

  • Allow libraries to register EXTERNALs and structure types



I'll be spending the evening attacking various items as I go along; watch this space for updates!


1747 - completed memory leak fixes for deserializer

1833 - finished support for named function signatures as parameters

1838 - finished some refactorings

2024 - finally got structure and tuple support implemented in the deserializer; found and squished quite a few bugs along the way

2056 - started to work on serializing the global initializer block, but encountered some weird bugs. Will investigate a little bit more and then probably call it a night.

0008 - after taking a break for some Real Life(TM), I've gotten back on the trail of this mystery bug. Turns out I forgot to allocate storage for global variables, meaning they were being stored on the stack and then obliterated when code started to run. A relatively easy fix later, and I've knocked out another task.

0012 - added the remaining function return types to support in CallbackInvoke; i.e. now callback functions can return different types to the caller instead of just integers. There is the __stdcall-imposed limit of 32 bits in the EAX register, of course.

0022 - after having spent five entire minutes looking blankly at the code and trying to remember what I was doing, I've decided it's time for bed [grin]

1258 - following a great night's sleep I've gotten back into things. So far I've fixed a couple major bugs and managed to get nested structure support improved a little bit. Further improvements to nested structures are coming later today, after I grab some lunch and decide on how exactly I want the syntax to look.

1839 - I've spent most of the afternoon trying to get nested structures to work the way I want them to. It took a few false starts but I finally hit on a possible solution (which, as often happens, is incredibly simple, clean, and elegant - and ridiculously obvious).

2030 - it looks like we're down to the final touchups on getting nested structures sorted out. There are still some corner cases that are messed up, but they should be easy enough to take care of. For now, I'm going to go pretend to have a social life - hell, it is Friday night [grin]
Previous Entry Epoch makes history!
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