tim: Tim wearing a flat cap and a gray/black suit (working)
[personal profile] tim

I ended up only working a half-day today, as life and its endless cavalcade of errands and paperwork intervened. (Life is what we do in between sessions of paperwork, I guess?) But one of the things that intervened was a doctor's appointment that will result in me becoming hella more productive... we'll hope.

I'm still working on the two outstanding bugs I worked on yesterday, one being the shape code for comparing resources. While my post yesterday was rather elliptical, the basic idea here is that Rust has some polymorphic -- very polymorphic -- operations, such as logging and comparison, that are baked into the runtime system, that does some dynamic magic to figure out how to compare arbitrary values to each other. I still don't have the comparison operations for classes-with-destructors working, but I think I actually got a better grip on the runtime system code in the meantime. I also figured out that valgrind has an option (--track-origins=yes) to tell you who created the uninitialized values it's complaining about, and surprisingly, in this case, the values were created in... code generated from Rust code. Knowing that was very helpful, and led me to guess an alignment bug: a class with a destructor has an 8-bit unsigned int field that's the "drop flag" (which the destructor sets on entry, preventing multiple destructor calls in the case of cyclic structures) and then a field that's a pointer to the class itself. My guess is the struct fields were getting 64-bit aligned, leaving three bytes of uninitialized junk that makes valgrind unhappy. I haven't confirmed this for sure, but did try changing the u8 field in trans to a uint instead (haven't tested it yet... I got distracted).

The other one is the ifaces refactor, which isn't as annoying, it's just a matter of chasing down the places that are wrong and fixing them. Thank $deity for a regression test suite.

From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User (will be screened if not on Access List)
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

tim: Tim wearing a flat cap and a gray/black suit (Default)
Tim Chevalier

June 2013

S M T W T F S
      1
23 45 6 78
910 1112 13 1415
16 171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags