% particle has left particle!~particle@c-24-19-12-148.hsd1.wa.comcast.net % particle has joined #parrotsketch % Coke has joined #parrotsketch % Coke has left #parrotsketch % mdiep has joined #parrotsketch % allison has joined #parrotsketch % barney has joined #parrotsketch % chromatic has joined #parrotsketch % pmichaud has joined #parrotsketch % jonathan_ has joined #parrotsketch Hello everyone. Who's here? % mdiep has left mdiep!~matt@192.42.249.97 here meee! bernhard is here here Okay, let's get started. hear hear allison? I've been working on the object implementation I'm just about to check in a bunch of tests that were failing because of changes to the main line that weren't ported over to the pdd 15 test directory. And, I've got a list of missing features and the failing tests that correspond to them, so I can distribute out implementation tasks. I'll make an announcement today about the bug squashing session this Saturday. EOR barney? Spent a long weekend in the Alps, without notebook. Still playing with languages/lisp. Changed IRC nick to 'barney'. .eor I fixed some bugs, particularly memory leaks and GC bugs. I also poked at languages/perl6. I'm going to profile it later and see if there are any easy optimizations. Otherwise, I need to write documentation and I'll poke at whatever easy things can get the Perl 6 sanity tests passing. jonathan_? * Checked in a document to docs/dev/ about PARROT_API to help people break the Windows build in one less way. * Started implementing PMCProxy PMC * You can now inspect any PMC like a PDD15 class: name, namespace, and its non-vtable methods. Other things still todo. * $P0 = get_class 'ResizablePMCArray' will now return a PMCProxy * Then $P1 = new 'Class' / add_parent $P1, $P0 to inherit from the PMC * If you do that, the PMCProxy sits in the parents list and MRO * On object instantiation, also instantiates and stores the any PMCs we inherit from, either directly or anywhere in the MRO * This should mean we can multiple inherit from PMCs, once this is done * Next is starting to make the inheritance actually mean something * Got a halfway there patch for delegating non-vtable methods .end How about super? Still todo, but I'm not sure how that's done just for normal PDD15 objects Syntactically particle? I probably know how to implement it, if I know what's wanted. :-) ~ most of my work has been behind the scenes this week. ~ trying to get parrot to compile on win32 x64. *my brane hurts* ~ this has led me to refactoring configure.pl to support cross-compilation. that work is progressing, and should be committed soon ~ ...that is, soon after i fix the gc bug preventing perl6 tests from running on win32. this is my top priority, i want it fixed before release. it seems an invalid pmc has been put on the end of the free_list (if i'm right.) .end pmichaud? * Congrats to Coke++ and chromatic++ for bringing perl6 down to only two failing tests in 01-sanity. * I've worked on Perl6Regex and Perl6Grammar a fair bit. * About to check in an updated abc.pg, that uses the new S05 quoting syntax, and makes token names more consistent with Perl 6 syntax (i.e., infix:<+> instead of 'infix:+' ) * Should have that ci'd in about 10 minutes (running tests) * Next I'm going to see about updating the perl6 grammar to use the new syntax * Then I'll see if I can get the Bool::True test passing, and other issues dealing with namespace and object handling in perl6 * Then back to working on the Perl 6 transformation subset, which is now substantially easier since Coke++ implemented a simple version of 'for' loops in PAST-pm eor Did I miss anyone who wants to report? Alright. Who has questions? where's leo when you need him? debugging gc is a great learning experience i wish i didn't have to do Has Parrot something like heap inspection? Get a list of live PMCs, Strings ... In theory you could run just the mark of the M&S. In theory. (updated abc.pg just checked in, r18955) One thing that may help, is some way to get pmc2c to (optionally) emit a check a the top of every method in a PMC to make sure the PMC isn't on the three list, and blow up if it is. uh free list * jonathan_ should learn English. No, don't make that assumption. Of course, that may still not catch it. The free list flag is only valid *during* GC. jonathan: you just concentrate or your c, we'll translate to english chromatic: I think that's the case for the live flag; the free list flag is valid whenever something is on the free list, I thought? That was my reading of pobj.h, anyway. Hm, I think you're right. Or wherever I read it. Is your understanding that whenever something new is created, we should always set the live flag, because we may be between a DOD and a GC run? No... that would cause leaks. I think you're right. I was thinking of the free flag. OK. I'm not sure checking non-free will get us anything, but if the assertion fails, it'll tell us something. I'm still trying to get all of this stuff into my head. :-) Well, the free list corruption shows up when a PMC that is on the free list gets modified. The first pointer is used for the PMC to hang its data off, but also where the linked list pointers are. Something thinks that it's free but something else has a pointer to it and should have marked it live? Yes. DOD thinks its free and freed it, but it's really still being used. And in being used, it scribbles over the freelist pointer. And then get_new_free_object or whatever its called, which just pulls stuff off the free list, segfaults. sure, cause it tries to pull something from 0xffffffff Which is the int_val of an expired iterator in a Key. indeed, it is That makes me want to look at what goes into PMC_int_val(key). chromatic: I concluded the same and spent an hour with Key.pmc and turned up a blank. Before we get too sidetracked, are there other questions we should answer? I may (hopefully) have missed something. allison, do you have a list of tasks for bug day? yes, they're in the ticket for 0.4.13 I'll put links in the mailing list message Oh, here's a good question. Is anyone blocking on anything besides time? you're blocking on rt bugadmin Yes. I'm blocking on understanding how to make inheritance from PMCs work sanely and well. allison: Any comments on the stuff I've put in this week, would be very helpful. I think it's along the lines of what you're after, but confirmation is always nice. jonathan: write up a quick summary of as much as you've wrapped your head around so far I'll look over the code, but the why is helpful and, we can kick it back and forth Well, the code is mostly just PMCProxy, which is the bit I understand. :-) Anyway, will do. many thanks :) It sounds like we're wrapping up. Is there anything else? % mdiep has joined #parrotsketch one question Go ahead. are the pmc methods that warn during pmc2c.pl fro default.pmc deprecated? how do we get rid of the warnings? I think we just delete them. If the warnings mean what I *think* they mean, it's dead code. I whacked them once but didn't commit and all tests passed. Aye. okay, then, somebody should do that someday. is rt back up? standard deprecation cycle put the deprecation note in now, list it as happening for the 0.4.14 release wow, no, it's not up. particle: no, it's not any timeframe? will it be up before bugday? Is it backed up? it is backed up particle: they still say it'll be up today allison: If I understand correctly, the vtable methods were already deprecated and removed, and the code we'd be deleting hasn't been included in the generated .c files since then. jonathan_: that's my suspicion, too Agreed. the nice thing about having a standard deprecation policy is, it's standard :) do you want to delete them for the release on tuesday? It'd get rid of the warnings, and deleting it can't make any difference. if so, do it now, so we have plenty of time before the release don't do it Monday night Monday night is for GC changes. ggrrrrrr ;) % allison has left allison!~chatzilla@c-24-21-59-142.hsd1.or.comcast.net % barney has left barney!~bernhard@p549A26F1.dip0.t-ipconnect.de j/part % pmichaud has left #parrotsketch % mdiep has left mdiep!~matt@192.42.249.97 % tewk has joined #parrotsketch % particl1 has joined #parrotsketch % particle has left particle!~particle@c-24-19-12-148.hsd1.mn.comcast.net % particl1 is now known as particle % particl1 has joined #parrotsketch % particle has left particle!~particle@c-24-19-12-148.hsd1.mn.comcast.net % chromatic has left chromatic!~chromatic@sub17-30.member.dsl-only.net