A few changes, and I'm stuck again

Whiteknight on 2008-08-03T12:33:38

My last blog post apparently didn't post. This use.perl interface is a little bit annoying to me (conversely, I am a little annoying to it). In my haste, I click the "Preview" button thinking it's a "Save" button, and then I close the window. Needless to say, nothing gets saved and my blog develops large gaps. Obviously it's a problem on my side of the keyboard, apparently I'm too set in my Wiki ways to become a good use.perl blogger.

The last week has seen a lot of work but, as usual, not a lot of visible progress. I ripped out the entire "card" aspect of my collector. It was adding a lot of needless complexity, it was consistently serving as a failure point in my design, and I couldn't prove that it was providing any net performance benefit. In fact, I'm decently certain that my particular implementation was a performance bottleneck. Once I get my collector to a more stable state, I can experiment with adding cards back in or other performance enhancements. Right now, I'm really focused on just getting a basic model to work.

Some of the problems I was having went away after I pulled out the cards. The problem was, I think, that somewhere my mapping from object to card and card to object wasn't a 1-to-1 mapping. Removing this showed immediate improvements in the performance of my collector, at least for a while.

Of course, we trade one problem for another, and after getting the cards pulled out I developed a compile-time bug. This compile-time bug wasn't located anywhere inside my collector, however, it was manifesting itself as a series of undefined datatype errors in the IMCC header files. This appears to have occured after running an innocuous "make headerizer", and now I can't seem to pinpoint exactly what's causing the error.

I won't have much time to continue my investigation again until later this evening. Hopefully I'll find some answers tonight so I can get moving forward with my work again.


IMC_Unit Forward Declare

Whiteknight on 2008-08-03T13:23:13

The problem I'm having is that the forward declaration for the datatype "IMC_Unit" seems to be missing or misplaced. I went through and manually replaced all instances of "IMC_Unit" with "struct _IMC_Unit" instead. It's not a stable solution because it will get messed up next time I run "make headerizer". However, it does let the build proceed.

However, now the compiler hangs while building PGE/builtins_gen.pir, which is a common point of failure for me in the build process. I'm trying to figure out now where the hang is being caused.