% mdiep has left mdiep!mdiep@bursley-216-65.reshall.umich.edu % cognominal has left cognominal!~stef@cac94-1-82-67-232-89.fbx.proxad.net % cognominal has joined #parrotsketch % mdiep has joined #parrotsketch % particle has joined #parrotsketch % leo has joined #parrotsketch % allison has joined #parrotsketch % Nicholas has joined #parrotsketch Hi hello, all hi hello leo, chip, pmichaud: you here? hi all * leo was just dropping noodles into hot water we'll give the others another two minutes or so, then get cracking. hello hey Jerry. ok then. let's get going Leo: what's new and exciting? - lot of code cleanup, bug fixes, and improvements - e.g. fixed the memory corruption bug that stopped tcl - shootout improvements and a bit of optimization: http://shootout.alioth.debian.org/sandbox/parrot.php - an the bad news is: Strings are heavily broken due to COW copying too much (some shootout benchmarks just break or are almost unimplemetable) that's it Ok. whatcha blocking on? Strings need some redesign I need chip for further decisions Which decisions? ;) I've written some design pods and need an 'ok' Are these full PDDs? not full - more dev guidelines they are on feather too ~lt/dev-doc/ cool. also in svn? not yet - I'd like to talk with chip first Ok. anything else? if not, Allison: what's new? in the meantime I'm continuing code cleanup and improvements e.g. Parrote_allocate* code * allison just finished making oatmeal I finished off the refactor to make Punie use a precompiled PGE grammar Thanks to Patrick for answering some questions on that one. Next step is another expansion, more operators, more argument types. EOR Anything impeding your fun? Aside from not being able to eat anything more solid than oatmeal? No. :) :/ ok. Jerry. what's up? dir reorg is done. there's still some file/renames to happen, but those will just be little changes here and there. after the holidays, i'll have more time to devote to the test suite, including a test plan. in the meantime, i'll babysit windows and try to keep it compiling, and warning free excellent punie's test suite is taking up too much memory on windows, specifically t/past_*.t i'll hunt down that as i can... perhaps it's a COW problem. punie's? yes. punie, on my win32 box, takes up to 850MB to run the demo. brr ooh. allison: and _This_ is what you get for me harassing you to check your code into parrot svn. more bug reports ;) particle: is it just the past tests, or is it also post tests? yay! I like bug reports! :) i'll check post tests now... though "too much memory" implies it's actually running through. is it? post, too. it does run, yes, because i have 1.5GB handy. but it fails on my 512MB machine. that's still really cool. allison++ # punie lives It does create some complex data structures internally, but they shouldn't be that large. definitely unreasonably large. could be really that mentione COW problem Any suggestions on profiling PIR code? which kind of profile? I want memory usage, for one thing. not much there except ./parrot -D1 foo.pir But also benchmarks on the speed of various subroutines. leo: Okay, I'll try it out. only opcode granularity currently with -p (and then you guess where ;-) but we definitely need better debug/profile code % chromatic has joined #parrotsketch Anyone feeling inspired to write Devel::DProf this week? maybe later :) Don't we need runloop-level hooks for that? particle: I'll try it on some of my older machines and see if I can duplicate the problem. Let me know if fixing the COW problem fixes it. allison: thanks, and will do. particle: ooh, do you get the problem when running the language tests? particularly io_print.t? checking... prove t/io_print.t no. that's less than 10MB okay, that is weird that's the one that should be a memory hog if anything is the past_*.t and post_*.t tests only create a few sample objects. io_print.t runs through a whole parse and compile so it's the one that creates huge complex data structures And quite a few of them. weirdness, I'll look into it perhaps i can create a small(er) test case based on one of the existing tests i'll let you know if i can, but time is short this week. ok, sounds good ok. what's next? or rather, who's next? mdiep: you around? yup things picked up in tcl-land this week, with some things just getting committed during this meeting: - Changed Getopt::Long so that it doesn't use PGE - Change ParTcl to only load PGE if we actually need it (which speeds things up and gives smaller traces) mdiep++ - Leo found the macro error based off an example I gave him. But we're still seeing memory corruption. - We run our tests with -D40 now by default - We fixed bugs in [for], [lappend], [lrange], [lsort], [unset] - and added support for $argv and [string is] - plus general code cleanup We should be passing more of Tcl's test suite now, but I haven't run it again yet. very cool Has chip gotten back to you yet? We really need the memory corruption to get sorted out. It really impedes development. And we need macros sorted out. nope. I haven't heard from chip. mdiep: which further mem corruption? where is the bug report ;-) leo: if you run partcl's make test you should see it. There are ~4 tests that fail with IMCC parse errors as a result of the corruption. I just checked in the code that exposed this. :-) nope - you get a distinct error message ah - wait Oh, and we've got a "attempt to access code outside of current code segment" error in t/cmd_inline.t namespace pollution i.e. using the same sub name in different namespace (I presume) 4 errors due to macros, one due to that nothing else is failing and you get an error message from imcc for all 5 using the same sub name in different namespaces is an error? that's a parrot bug, I presume. consider it as an parrot bug, yes there isn't a fast fix though leo: only one of the [break] and one of the [continue] bugs give me "too many macros" now. The other two are IMCC parse errors. mdiep: tcl build is failing on win. it's a pbc_merge issue, but i don't have the windows debug-fu yet to track it down. ...i should have thought of this earlier: jonathan worthington a) has windows, b) wrote pbc_merge. i'll ask him if he can look at it. I have 4 times: Too many macros anyway, we're blocking on these issues technically and they make development not fun. :-) no one did answer to my mail on p6i WRT macros (no fun) leo: I suspect you haven't rebuilt Getopt::Long and Tcl along with it I just did 'make clean test' in tcl - yes ok. leo: do you have a decent sense of what you need to make matt's issues go away? (aside from a working build ;) I was waiting for chip to answer leo's mail. I don't really care which way they're implemented, as long as they work. (there are a couple options) well, and I don't change anything until I have some opinions ;-) ok. leo: remake runtime/parrot/library/Getopt/Long.pir to get the different errors in Tcl's make test Moving along then. As I suspect you've all seen by now, Nick has moved on from Fotango. He was working on Ponie as part of his job for Fotango. So now we're hunting for a new Ponie Pumpking. If y'all know any good suckers, be sure to send them our way. Nick: how are you enjoying your retirement? It's quiet. I'm missing the people. The call for pumpking featured in the list summary today, so that should extend its reach to a wider readership. Also, I did some stuff. I figured out how to do the iteration/reference collection/garbage collection. Rather than try to work out how to butcher the perl hash implementation to try to have the iteration behaviour that I needed, I realised that it's only needed as an interim until the stack walking is enabled after all the reference counting inconsistencies are found and fixed. And that I was only using 1 pointer in the ptr_table's struct. And that the hacked about ptr_table already iteration does exactly what it needs. So I could use the other slot to hold a reference count. *All* that was needed was to add a hook in to do the marking. So I committed a minimal PMC implementation with a mark VTABLE entry. All is happy, and the "real" (sane) reference counting PMC will be useful once sane GC is in place and only XS modules are really doing reference counting. (and aren't trying to delete PMCs during global destruction) gah. I bet that's not quite true. :-( So, this "holiday" thing is really working out for you, then? ;) er. sort of. :-) Glad to see that it's productive at least ;) I think I've figured out how to drop the memory usage of XS module constants and actually get them inlined. But that's not on topic here I'm sure my parents' dog feels that I'm not productive. I mean, I didn't even walk him once today. Or yesterday. I presume you're blocking on "a replacement"? I could argue yes. Or, in theory, being employed to do it. (in some form that pays the rent, long term) fair enough chromatic: anything new and exciting? (particularly having just discovered that UK pension changes on A-day (next year) abolish carry back so I need to deal with this year's pension this tax year, which means spending more money sooner than I previously thought) I checked in the Test::Builder and Test::More tests. It's a horrible very bad hack, mostly because I only put #!../parrot at the start of both PIR files. it works though. even on windows, surprisingly. It's because all of the test files run through Perl, which itself interprets the shebang line. I don't think this is a perfect solution, but it let me get this done without rewiring t/harness. So it was quick and it works. I also fixed almost all of the compilation warnings I saw on Linux PPC. One was in the JIT. There's one remaining -- assigning a constant string to a non-constant struct member. I'm not sure how worthwhile the fix is (in pbc_merge.c) because the easiest fix is a strdup(). But everything still passes here after all of that, so I'm happy. EOT neat! blocking on anything? I'm still playing with ideas for Parrot::Test -- just haven't really set them down in code yet. Time, money, love. *nod* Pick three. * obra sends lawyers drugs and guns Right then. Other questions? next meeting? just a note to mdiep - all the same after rebuilding oh. right. Next week seems like an awfully good time to take a week off. So. let's reconvene on 2 Jan Neither a question nor on topic, but in the food games, I'm about to make beef burgers. Mmm, raw mince. :-) mahlzeit nick ;-) Enjoy, Nick. Get well soon, Allison. thanks :) happy new year, all. Have a great couple of weeks, everybody. Keep up the hacking. Don't spend too much time with your families, neglecting the parrot ;) (I'm kidding. Really ;) * particle feeds the monkey^Wparrot nice holidays to all and a happy new year (if a new one starts in your calendar) *wave* see ya all see ya au revoir % chromatic has left #parrotsketch % particle has left #parrotsketch % Nicholas has left #parrotsketch % leo has left #parrotsketch % allison has left allison!~allison@sub17-30.member.dsl-only.net % chip has left chip!~chip@feather.perl6.nl % chip has joined #parrotsketch