Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-06

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 MoC joined #parrot
00:00 NotFound dukeleto: remember: never trust my looks at perl code X-)
00:01 dukeleto NotFound: now you tell me. i don't know how that broke the linux build. it does a check for $^O being darwin
00:01 NotFound dukeleto: unclosed paren
00:02 NotFound Mmmmm.... but the nopaste had it
00:03 dukeleto NotFound: my bad. git svn lost my commit because I had it pointed at the wrong branch somehow and i did a git reset . so I typed it again. should have used reflog
00:07 dukeleto or tested it again. !facepalm
00:07 dukeleto patch is in the tubes
00:07 NotFound You can say that it was a test for ttbot ;)
00:07 dalek parrot: r41022 | dukeleto++ | trunk/config/inter/libparrot.pm:
00:07 dalek parrot: [cage] Unbreak the build
00:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41022/
00:07 dukeleto NotFound: yeah, that's it!
00:07 NotFound dukeleto++
00:07 dukeleto ttbot++
00:08 dukeleto jhelwig: i have a git branch in my old git-svn copy of parrot that I want to apply to my new copy. halp? git format patch something?
00:09 bacek dukeleto: cherry-pick? Or it's different repos?
00:10 NotFound bacek: do you have a patch for the parrot_debugger test?
00:11 nopaste "bacek" at 114.73.158.5 pasted "Next commit waiting in my queue for NotFound" (132 lines) at http://nopaste.snit.ch/17839
00:12 bacek I'm just do final test on Rakudo before dcommit
00:13 NotFound bacek: don't worry, I'm not going to steal your karma ;)
00:13 bacek Sic. Rakudo failing in S03-operators/arith.rakudo with "floating point exception"...
00:13 dukeleto bacek: different git svn repo's
00:13 bacek dukeleto: than probably format-patch. Or just git show rev|patch -p1
00:13 jhelwig dukeleto: format-patch would probably be the easiest.
00:14 NotFound bacek++ looks good
00:14 dukeleto jhelwig: git format-patch svn/trunk ?
00:14 jhelwig svn/trunk..
00:15 dalek TT #979 closed by dukeleto++: Invalid charset number '8' on darwin during PCT.pbc bytecode generation
00:15 Whiteknight this merge is MESSY
00:16 bacek Whiteknight: kill_cont?
00:16 Whiteknight bacek: yeah
00:18 GeJ Good morning everyone
00:18 bacek Whiteknight: I'd expected it. Maybe storing patch between branch and trunk-before-merge, than creating new branch, apply patch and fix it will be easier
00:19 bacek Bah! Rakudo failing on trunk in same way.
00:19 Whiteknight bacek: that's my plan B. I just committed the merge from trunk. Has an error that I suspect will be easy to sort out
00:19 Whiteknight jrtayloriv: ping
00:20 bacek Whiteknight: Hey! He have commit bit and can fix it by himself :)
00:20 Whiteknight r41024
00:20 Whiteknight he has the bit now?
00:20 jrtayloriv pong
00:20 bacek For few hours already :)
00:21 Whiteknight jrtayloriv: I updated your branch from trunk in r41024
00:21 bacek Which is same as "for ages" nowdays
00:21 Whiteknight segfaults building PGE, so we need to sort that out before merge to trunk
00:21 Whiteknight please take a look at it and see if you can spot anything obvious. So many things have changed!
00:22 dalek parrot: r41023 | bacek++ | trunk/src (3 files):
00:22 * bacek look innocent around
00:23 Whiteknight dalek is broken
00:23 jrtayloriv Whiteknight, Thanks -- I'll take a look at it in a few minutes. Let me finish this up real quick.
00:23 Whiteknight bacek: #596. Can be closed now?
00:23 NotFound Hey, a rookie with his own branch! We don't have a policy against that? ;)
00:23 dalek parrot: [cage] Put asserts into accessing non-existing registers.
00:23 dalek parrot: Also:
00:23 dalek parrot:  * Initialise Context.pred_offset
00:23 dalek parrot:  * Fix saving/restoring registers in parrot_fetch_args to preserve n_regs_used
00:23 dalek parrot:  * Fix parrot_debugger to not set said registers.
00:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41023/
00:23 dalek parrot: r41024 | whiteknight++ | failed to fetch changeset:
00:23 dalek parrot: [kill_parrot_cont] merge -r40900:41020. Dumps core while builing PGE
00:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41024/
00:23 dalek parrot: r41025 | bacek++ | trunk (4 files):
00:23 dalek parrot: [cage] Use UINTVAL for n_used_regs.
00:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41025/
00:23 bacek Whiteknight: ah, yes
00:24 Whiteknight you deserve the karma for that!
00:24 bacek :)
00:25 Whiteknight NotFound: The policy is that the rookies need to do all the work :)
00:25 * bacek will trade karma for beer
00:25 * davidfetter has ~6 gallons of barley wine on hand
00:25 davidfetter when will you be in oakland next? :)
00:26 bacek davidfetter: it probably will be "first" :)
00:26 davidfetter heh
00:26 Whiteknight 6 gallons? Why do you need that much?
00:26 dalek TT #596 closed by bacek++: garbage collectable contexts
00:26 davidfetter that's how much i make in a batch
00:26 davidfetter <-- homebrewer
00:26 bacek I'm going to visit my sister in US next winter.
00:26 davidfetter whose winter?
00:26 bacek Erm. In June.
00:26 NotFound Can't you use the SI and forget the Empire?
00:27 davidfetter call it ~28l
00:27 davidfetter but if you drink 2l, you may need to sit down and stay there awhile ;)
00:28 NotFound No problem, I have a comfortable chair
00:29 bacek Gentleman can't be called drunk while he can stay holding table leg firmly :)
00:29 mikehh hey NotFound they use different Gallons there in the US - NOT Imperial :-}
00:29 mikehh but how can you forget the Empire what
00:30 Whiteknight hah, fixed it
00:30 NotFound Next time I'll use femto squared-parsecs
00:30 davidfetter bacek, heh
00:30 NotFound I mean, cubic
00:30 mikehh mind you they still use feet and inches and such
00:30 jrtayloriv Whiteknight, kill_parrot_cont, you mean?
00:30 bacek anyway, shopping time.
00:30 bacek see you!
00:31 NotFound I also use feet, but for wearing shoes
00:31 Whiteknight jrtayloriv: yes, what did I say?
00:31 jrtayloriv Whiteknight, "it"
00:31 mikehh yeah - me too - when I wear them that is
00:31 Whiteknight oh, sorry. I  didn't realize that mr bigshot had multiple branches already :)
00:32 Whiteknight congrats on the bit, by the way
00:32 jrtayloriv :) -- thanks
00:33 Whiteknight okay, coretest in kill_parrot_cont passes for me. Doing a fulltest now and then merging to trunk if everything is awesome
00:33 * NotFound plays Supertramp 'Give a little bit'
00:33 dalek parrot: r41026 | whiteknight++ | branches/kill_parrot_cont/​src/pmc/continuation.pmc:
00:33 dalek parrot: [kill_parrot_cont] fix that segfault, Continuation was marked auto_attrs but was still trying to free it's own attrs.
00:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41026/
00:34 Whiteknight fulltest is going to take about 12min, so I get to spend some time searching for funny pictures on the internet
00:34 Whiteknight best way to spend a saturday night
00:35 mikehh It is 1h35 minutes into Sunday for me
00:35 NotFound Night is long
00:37 dalek parrot: r41027 | jrtayloriv++ | branches/gc-refactor (8 files):
00:37 dalek parrot: Moved Arena function pointers into GC_Subsystem struct, and tidied up a bit in various places
00:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41027/
00:37 Whiteknight jrtayloriv: you're merging that next branch, so if it's messy, you're going to be stuck with it!
00:37 NotFound BTW 12:01 AM is one minute past M, isn't it?
00:38 jrtayloriv Whiteknight, deal :) -- thanks for doing kill_parrot_cont for me.
00:38 mikehh NotFound: Yes
00:38 NotFound I'll never understand that logic %-)
00:39 mikehh but then I tend to use a 24 hopur clock which would be 00:01
00:40 Whiteknight NotFound: I agree. Clocks were developed by people who weren't programmers. That's for sure
00:40 NotFound I use an analog clock stopped: it gives the hour with full precision two times a day.
00:40 mikehh NotFound:  it is not logical - just tradition
00:43 dalek parrot: r41028 | whiteknight++ | branches/kill_parrot_cont/src (2 files):
00:43 dalek parrot: [kill_parrot_cont] Fix last issues, including small codestd fix. All tests in fulltest pass
00:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41028/
00:45 mikehh When I went to school, we had to learn all sorts of weird things - it was in the era before currency decimalization here, they had Pounds, Shillings and Pence - 12 pence to the shilling and twenty shillings to the pound or even 21 to the guinea - I am not even sure how to spell that
00:48 NotFound I think I have a program for that in the Sinclair ZX-81 manual
00:49 mikehh have a look at http://www.victorianweb.or​g/economics/currency.html
00:51 NotFound At least you haven't to learn that Franco was the saviour of the occidental civilization
00:52 Whiteknight I can't merge. SVN is giving me grief
00:52 Whiteknight svn: REPORT of '/parrot/!svn/vcc/default': Could not read chunk size: Secure connection truncated (https://svn.parrot.org)
00:52 Whiteknight any ideas about what is broken?
00:54 NotFound mikehh: amazing
00:54 mikehh Yeah - but we had our own efforts, The British Empire and such, it was only after I left school that I learned any other European or World History - Oh we had some Roman and Greek stuff, but nothing modern
00:55 NotFound At least Robin Hood history is sexier than El Cid Campeador one ;)
00:56 mikehh depends on your orientation I suppose :-}
00:56 NotFound History, I said, not the male protagonists X-)
00:57 mikehh I am not even sure that Robin Hood even existed - They had a Sherrif of Nottiongham though
00:57 mikehh Nottingham
00:57 purl Nottingham is probably near as dammit London
00:58 mikehh Not if you have to get there
00:58 Whiteknight WHY IS MY SVN RETARDED?!?!?!
00:58 NotFound Nothing AM ?
01:00 NotFound Whiteknight: I had some problems like that because svn got confused with HTTP no-change response, due to my misunderstands on how to use the merge command
01:01 Whiteknight I'm using merge the same way I always do, I've never seen this before
01:01 NotFound I wasn't used merge the same way because I haven't used before
01:02 Whiteknight This is the command I am trying:
01:02 Whiteknight svn merge -r40900:HEAD https://svn.parrot.org/parro​t/branches/kill_parrot_cont
01:03 Whiteknight and that's borking
01:03 mikehh are you trying to merge trunk with a branch or a branch into trunk?
01:03 Whiteknight branch into trunk
01:03 mikehh ok
01:03 Whiteknight specifically, kill_parrot_cont branch into trunk
01:05 Whiteknight I'll just do it the hardware if merge won't cooperate
01:05 * kid51 reads scrollback
01:06 mikehh what does it complain about?
01:06 Whiteknight that's the exact error message above
01:07 Whiteknight svn: REPORT of '/parrot/!svn/vcc/default': Could not read chunk size: Secure connection truncated (https://svn.parrot.org)
01:08 NotFound Whiteknight: I'm trying that command, still not broke
01:08 Whiteknight yeah, rub it in
01:09 mikehh it seems like a connection error to me
01:11 NotFound After a while, same error
01:11 Whiteknight NotFound: you too? Good. That means I'm not just being crazy
01:11 NotFound Maybe we are both crazy
01:14 mikehh I just got a connection time-out from www.parrot.org - it reloaded ok though
01:15 Whiteknight so the server is borking?
01:16 * kid51 reads scrollback
01:16 kid51 Whiteknight:  would you like me to try that merge?
01:17 mikehh I am definately not getting a good response from the server
01:17 Whiteknight kid51
01:17 Whiteknight : sure, I don't care how it gets done at this point
01:18 Whiteknight I think all the hard work should be done
01:18 kid51 We're talking about kill_parrot_cont branch -- correct?
01:18 Whiteknight kid51: yes
01:19 Whiteknight svn merge -r40900:HEAD https://svn.parrot.org/parro​t/branches/kill_parrot_cont
01:19 * kid51 confirms problems:  svn: Could not get content-type from response
01:19 kid51 ... when trying to merge into a fresh sandbox of trunk
01:19 Whiteknight No!!! IM IN UR INTERNETZ, SLOWIN UR DEVELOPMENTZ
01:20 * kid51 conducts net search
01:23 kid51 I wonder if this could be related to the https cert problem.  Was this branch created prior to the expiration date?
01:23 * kid51 thinks yes
01:25 kid51 first hits from internet search are not very helpful
01:25 Whiteknight yes, it was
01:25 Whiteknight but I just merged into the branch from trunk no problem
01:26 mikehh probably safer that way anyway
01:33 jrtayloriv joined #parrot
01:33 kid51 Attempt 2:  Tried it on my ibook, where I have only been 't' temporarily accepting the cert status
01:33 kid51 got this response:  svn: Server sent unexpected return value (304 Not Modified) in response to GET request for '/parrot/!svn/ver/41024/branch​es/kill_parrot_cont/src/hll.c'
01:33 kid51 svn: Error reading spooled REPORT request response
01:34 kid51 Could someone look at src/hll.c in the branch?
01:35 Whiteknight what about it?
01:35 NotFound The "Not modified" is the thing that happened to me I mentioned before
01:36 Whiteknight Coke: ping
01:36 Whiteknight particle: ping
01:36 Whiteknight anybody
01:36 NotFound Silly idea: insert an empty line on that file on the branch and commit it.
01:36 mikehh looks ok to me
01:37 mikehh what am I looking for
01:37 Andy joined #parrot
01:38 mikehh properties ok
01:45 Whiteknight well, all I wanted to do was merge, can't do it, so going to bed.
01:45 Whiteknight will try again in the morning, if nobody beats me to it
01:46 Tene 'night
01:46 mikehh the only difference I find with trunk is the header line
01:46 Whiteknight goodnight
01:47 kid51 And when I repeat the svn merge in my iBook, I get a 'C' in src/hll.c, then I get one file farther each time I repeat the process, then I get the failure message posted above at :34
01:48 rhr joined #parrot
01:51 * jrtayloriv hopes he didn't do something stupid to break it ...
01:52 kid51 Let me try to create a branch, make an inconsequential change, and merge.
01:53 mikehh branch -> $Id: hll.c 41024 2009-09-06 00:20:10Z whiteknight $
01:53 mikehh trunk  -> $Id: hll.c 40958 2009-09-03 11:56:50Z bacek $
01:53 dalek parrot: r41029 | jkeenan++ | branches/minimal:
01:53 dalek parrot: Creating branch to diagnose merge problem.
01:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41029/
01:57 dalek parrot: r41030 | jkeenan++ | branches/minimal/src/hll.c:
01:57 dalek parrot: Add 1 line of whitespace.
01:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41030/
02:00 dalek parrot: r41031 | jkeenan++ | trunk/src/hll.c:
02:00 dalek parrot: Merge minimal branch into trunk.  (Attempting to diagnose merge problem, but this is not reproducing the problem.)
02:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41031/
02:00 kid51 Well, 'svn merge' per se is not the problem.  I was able to create a branch, do a modification therein, then merge the branch into (sandbox of ) trunk and commit from trunk.
02:03 kid51 Note:  I am getting 'Could not get content-type from response' as error message to *this* command as well:  svn diff https://svn.parrot.org/parrot/trunk@40900 https://svn.parrot.org/parrot/​branches/kill_parrot_cont@HEAD
02:09 kid51 Am retrying that 'svn diff' ... and am getting *enormous* output.
02:10 jrtayloriv kid51, what does 'svn diff | wc -l' say?
02:11 kid51 It will take me several minutes to run that :-)
02:11 jrtayloriv oh my :)
02:11 kid51 I just got a completed svn merge -- but with many conflicts!
02:12 kid51 Wait, that merge hasn't actually completed
02:12 jrtayloriv kid51, there should be a bunch of conflicts -- continuations are very tied up w/ contexts, and this was created before context_pmc3 merged into trunk
02:14 nopaste "kid51" at 71.247.40.83 pasted "svn merge output for kill_parrot_cont branch into trunk" (192 lines) at http://nopaste.snit.ch/17840
02:15 kid51 21 conflicts
02:17 Andy joined #parrot
02:19 mikehh you didn'#t get a conflict with src/hll.c this time
02:22 mikehh I really need sleep - bbl
02:23 kid51 I think the size of the diff is causing problems for the server.
02:23 kid51 There was a short window there when I was able to get a complete svn diff and a complete merge -- and both were enormous.
02:23 kid51 But now I'm getting the 'content-type from response' error again.
02:24 kid51 This is consistent with some of the things I gleaned from net search:  happens on big commits; is intermittent
02:27 jrtayloriv kid51, can you try to do two or three files at a time then?
02:27 kid51 do *what* with 2 or 3 at a time?
02:27 rhr joined #parrot
02:28 jrtayloriv kid51, I thought you were saying that the problem might be trying to merge the entire thing at once, because it was too large. So, maybe merging them incrementally would work, since each commit wouldn't be as large.
02:29 kid51 Well, as the paste suggests, even if I were able to do that, we'd have the problem of the 21 files with conflicts
02:29 kid51 I'm not the person to resolve those conflicts.
02:30 kid51 When I was lucky enough to get that 'svn diff' to complete, I didn't think to redirect the output to a file.
02:30 kid51 If we can get the svn diff to a file, we have something for the branch authors to work with.
02:30 jrtayloriv kid51, OK -- I see.
02:31 kid51 So we have interlocking problems.
02:31 kid51 There *may* be server problems right now.
02:31 kid51 If so, they *may* be contributing the problems we are observing -- problems likely to be exacerbated by the size of the diff.
02:32 kid51 Now, it appears that in the course of this branch's development, there were many merges into branch from trunk.
02:33 * kid51 heard a talk at $job yesterday saying that svk's smerge command handled this well ...
02:33 kid51 ... but in general I have not had good results trying to refresh a branch with more recent changes from trunk.
02:35 janus joined #parrot
02:37 jrtayloriv kid51, I've never used SVN prior to working with Parrot. I'll do some reading tonight and see if I can figure out how to resolve the conflicts and do the merge myself in the morning. Thanks for your help with this.
02:38 nopaste "kid51" at 71.247.40.83 pasted "svn diff between trunk and branch for just one file" (631 lines) at http://nopaste.snit.ch/17841
02:38 kid51 631 line diff for just one file!
02:39 kid51 Even if our server and Subversion were able to handle this flawlessly, that has code smell for me.
02:39 kid51 (I was able to get that svn diff from what was still visible in my Terminal.)
02:40 kid51 ... and that file had no conflicts!
02:40 kid51 It's getting late for me here and I'm making no more progress.
02:41 jrtayloriv That file looks like bacek's context_pmc work.
02:41 kid51 If someone would like to try the following command periodically and see if we succeed ...
02:41 kid51 svn diff https://svn.parrot.org/parrot/trunk@40900 https://svn.parrot.org/parrot/​branches/kill_parrot_cont@HEAD > some/file/for/pasting.txt
02:42 kid51 ... then paste so that Whiteknight et al can at least look at the 'C' files tomorrow.
02:42 kid51 ... that would be appreciated.
02:47 dalek parrot: r41032 | jkeenan++ | branches/minimal:
02:47 dalek parrot: Branch no longer needed for diagnosing SVN problems.
02:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41032/
02:48 * kid51 tries clutching at one last straw ...
02:50 dalek parrot: r41033 | jkeenan++ | branches/xkill_parrot_cont:
02:50 dalek parrot: duping branch in attempt to diagnose merge problems.
02:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41033/
02:55 Tene kid51: allison's approach whenever she has a large or old branch is just to take the full diff of the branch, from where it was originally branched, and then re-apply it to a clean branch from the current trunk.
02:56 nopaste "kid51" at 70.85.31.226 pasted "svn diff between trunk and xkill_parrot_cont branch (where xkill_parrot_cont is dupe of kill_parrot_cont)." (16269 lines) at http://nopaste.snit.ch/17842
02:57 kid51 Tene:  I understand that -- but we've had problems getting a clean diff to start with.
02:57 Tene orly?
02:57 purl YA RLY.
02:57 Tene I can get that for you.
02:57 Tene if that would be helpful.
02:57 kid51 So, I just created a branch called 'xkill_parrot_cont' which was a dupe of 'kill_parrot_cont'
02:58 kid51 and I'm having good results with 'svn diff' and 'svn merge' for this branch.
02:58 kid51 (I think)
02:58 kid51 So paste 17842 should be a valid svn diff -- but we still have the problem of 21 files in conflict
02:58 Tene OK.  Let me know if you need me to ask git for a diff.
02:59 kid51 Tene:  Read last couple of hours of scrollback to see what we've attempted.  Meanwhile ...
02:59 * kid51 must sleep
02:59 purl $kid51->sleep(8 * 3600);
02:59 Tene 'night
03:08 jrtayloriv The changes I made to get rid of Parrot_cont were pretty small. Think it would be better if I were to just redo it, rather than trying to merge it into trunk, since there are so many things conflicting as a result of the context_pmc3 merge?
03:09 cotto I've got a patch that I'm testing right now.  We'll see how make test fares.
03:10 cotto If it works I'll nopaste it here for review and you can commit it if it looks good.  (I'm leaving for a couple hours soon.)
03:11 cotto I'm suspicious because there weren't any conflicts, but we'll see.
03:11 cotto somehow, all tests pass
03:11 jrtayloriv cotto, there should have been a bunch of conflicts, I think.
03:11 nopaste "cotto" at 74.61.2.46 pasted "possible kill_parrot_cont patch for jrtayloriv++" (1292 lines) at http://nopaste.snit.ch/17843
03:11 cotto I know.  That's why I'm suspicious.
03:13 jrtayloriv My changes are in there, as far as I can tell, but I don't know about bacek's -- I wasn't following what he did w/ context PMCs.
03:14 cotto should be easy to verify
03:14 cotto just look for a few of his diffs
03:14 jrtayloriv cotto, ok -- will do. Thanks for taking the time to make the patch.
03:15 cotto afaict I just did what other people already tried, but here we are
03:16 cotto bbs
03:19 jrtayloriv msg bacek We are trying to merge kill_parrot_cont into trunk, and cotto++ seems to have a patch that will merge the changes successfully. But we are suspicious, because there are not *any* conflicts. Could you take a look at http://nopaste.snit.ch/17843 and see if it looks like any of your work is missing? I'm going to go look at your diffs and see if I find any problems ...
03:19 purl Message for bacek stored.
03:26 bacek joined #parrot
03:28 jrtayloriv bacek, just it time :)
03:28 bacek who called my name? I didn't broke it! I swear!
03:29 jrtayloriv :-) -- nope -- I brokes it I think. Trying to merge the kill_parrot_cont branch into trunk, and were having trouble.
03:30 bacek lemmecheck
03:31 jrtayloriv cotto++ has that patch that I msg'ed you with, that he says is passing all tests, but there are no conflicts, which is really odd (it seems like at least *some* of the Context and Continuation stuff should have conflicted) ...
03:31 bacek Last commit "rerun headerizer" (in branch)?
03:31 jrtayloriv I haven't committed anything to that branch.
03:32 bacek ouch... I've got a lot of conflicts during merge branch to mast^W trunk.
03:33 bacek And other way around.
03:33 purl other way around is probably not better
03:33 bacek Someone have to merge trunk into branch ad fix conflicts.
03:33 * bacek looking for Whiteknight
03:33 jrtayloriv bacek, right -- that's what I thought -- seems like there should be conflicts. cotto said he didn't get any for whatever reason.
03:34 jrtayloriv whiteknight's gone to sleep :)
03:34 bacek bacek@icering:~/src/parrot$ git status|grep -c unmerged
03:34 bacek 13
03:36 bacek jrtayloriv: should PMC_cont continue to work?
03:38 jrtayloriv bacek, yes if I recall correctly -- I think I left it there, and made PMC_Cont(foo) just do the same as PARROT_CONTINUATION(foo) ... let me check.
03:38 bacek jrtayloriv: yes, correct.
03:38 bacek I'm going to resolve conflicts leaving PMC_cont in place.
03:42 jrtayloriv bacek, yes -- I just checked. PMC_cont does as I said above.
03:48 bacek Ok, I'm committing in branch merged version.
03:48 bacek (And I didn't even build it yet.)
03:50 bacek Ouch... I forgot to run git svn rebase before merging.
03:54 bacek Have to remerge again...
04:06 bacek jrtayloriv: please recheck branch in few minutes (svn is slooow)
04:07 jrtayloriv will do. thanks.
04:08 jrtayloriv r41034?
04:08 bacek yes
04:08 dalek parrot: r41034 | bacek++ | branches/kill_parrot_cont (15 files):
04:08 dalek parrot: Merge trunk into branch.
04:08 dalek parrot: Conflicts:
04:08 dalek parrot: include/parrot/context.h
04:08 dalek parrot: include/parrot/register.h
04:08 dalek parrot: include/parrot/sub.h
04:08 dalek parrot: lib/Parrot/Pmc2c/PCCMETHOD.pm
04:08 dalek parrot: src/call/pcc.c
04:08 dalek parrot: src/debug.c
04:08 dalek parrot: src/gc/alloc_register.c
04:08 dalek parrot: src/ops/core.ops
04:08 dalek parrot: src/ops/pic.ops
04:08 dalek parrot: src/pic.c
04:08 dalek parrot: src/pmc/context.pmc
04:08 dalek parrot: src/pmc/continuation.pmc
04:08 dalek parrot: src/pmc/coroutine.pmc
04:08 dalek parrot: src/pmc/exception.pmc
04:08 dalek parrot: src/pmc/exceptionhandler.pmc
04:08 dalek parrot: src/pmc/retcontinuation.pmc
04:08 dalek parrot: src/sub.c
04:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41034/
04:09 jrtayloriv bacek, failing at exception.pmc with "Badly balanced PMC source"
04:09 bacek Looks like I broke exception.pmc
04:11 bacek fixed
04:11 jrtayloriv btw, are you interested in helping me w/ gc-refactor? I could really use some mentoring on the design.
04:11 dalek parrot: r41035 | bacek++ | branches/kill_parrot_cont/src/pmc/exception.pmc:
04:11 dalek parrot: Unbroke exception.pmc
04:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41035/
04:12 bacek jrtayloriv: (gc) yes, with pleasure
04:14 jrtayloriv bacek, Great :) I'd like to try to implement the get_raw_chunk() functions that your were talking about in the IRC conversation you pointed me to earlier. That seems like "low hanging fruit" that I might be able to do.
04:14 bacek jrtayloriv: Bad idea :)
04:14 jrtayloriv Seriously? Not as easy as it sounds?
04:14 bacek jrtayloriv: first step - expose current Small_Object_Pool functions via GC_subsystem
04:15 bacek Just to decouple parrot from gc
04:16 jrtayloriv bacek, yes -- I've already gotten the functions out of Arenas structure, and was going to do the same for Small_Object_Pool next.
04:17 jrtayloriv bacek++, btw -- branch just built successfully, running make test now
04:17 bacek let me check Arenas, I'm not sure what exposed in this objects
04:17 bacek it passed test on my box too.
04:17 bacek Which platform are you using?
04:18 jrtayloriv Linux x86-64 -- all tests passed. Nice :)
04:18 bacek ok. I'm on Linux/i386
04:19 bacek We just need someone on different platform before merge
04:23 bacek_ joined #parrot
04:24 bacek_ Bah!
04:24 * bacek_ blame internet connectivity
04:28 bacek_ jrtayloriv: make fulltest failing...
04:31 jrtayloriv bacek, I'm running make fulltest now. One moment.
04:34 bacek jrtayloriv: jit...
04:35 jrtayloriv bacek, hmmm ... I've got all tests passing on mine ... let me try make realclean and do it again.
04:35 bacek jrtayloriv: jit isn't supported on amd64.
04:36 msmatsko joined #parrot
04:38 bacek jrtayloriv: Bah. Looks like I broke it. In trunk. Let me check
04:39 bacek yes... It was me...
04:39 jrtayloriv bacek, I'm not trying to enable jit.
04:43 bacek jrtayloriv: because you can't enable it on x86_64...
04:43 jrtayloriv right
04:46 dalek parrot: r41036 | bacek++ | trunk/src/gc/alloc_register.c:
04:46 dalek parrot: Temporary comment-out strict asserts on accessing registers in Context.
04:46 dalek parrot: Apparently, JIT is broken and I don't have enough energy and tuits to fix it.
04:46 dalek parrot: Commenting out just to merge kill_parrot_cont branch with clean "make fulltest"
04:46 dalek parrot: pass
04:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41036/
04:47 jrtayloriv bacek++
04:48 bacek jrtayloriv: let me retest branch with this commit...
04:50 dukeleto cool, parrot builds on the OLPC: http://smolder.plusthree.com/app/pu​blic_projects/report_details/26896
04:51 * bacek wish OS/2 back...
04:56 dalek parrot: r41037 | bacek++ | branches/kill_parrot_cont/src/gc/alloc_register.c:
04:56 dalek parrot: Temporary comment-out strict asserts on accessing registers in Context.
04:56 dalek parrot: Apparently, JIT is broken and I don't have enough energy and tuits to fix it.
04:56 purl i already had it that way, dalek.
04:56 dalek parrot: Commenting out just to merge kill_parrot_cont branch with clean "make fulltest"
04:56 dalek parrot: pass
04:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41037/
04:56 dalek parrot: r41038 | bacek++ | branches/kill_parrot_cont/include/parrot/sub.h:
04:57 dalek parrot: Rerun headerizer
04:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41038/
04:57 bacek jrtayloriv: make testj passed.
04:57 jrtayloriv bacek, nice :)
04:57 bacek jrtayloriv: one comment - keep ATTRibutes indented. For example as in sub.pmc
04:58 jrtayloriv bacek, did I leave some ATTRs unindented somewhere?
04:58 bacek continuation.pmc :)
04:59 jrtayloriv hmm -- sorry about that.
04:59 bacek no worries, You can fix it later (after merge)
05:02 bacek ok, green light
05:02 purl rumour has it green light is "Go!"
05:02 bacek Bah... conflicts...
05:03 * bacek hate svn more and more
05:07 bacek Ok, rerunning fulltest after merge.
05:21 quek joined #parrot
05:30 JimmyZ joined #parrot
05:32 bacek Here we go
05:33 cotto hio
05:33 bacek cotto: good... erm.. morning?
05:33 cotto can it be merging time now please?
05:33 cotto 2230
05:33 dalek parrot: r41039 | bacek++ | trunk (16 files):
05:33 dalek parrot: Merge kill_parrot_cont branch into trunk.
05:33 bacek It's dcommitting time
05:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41039/
05:34 bacek cotto: Saturday?
05:34 cotto Nice.  Apparently the answer becomes "yes" if I ask enough.
05:34 cotto yup
05:34 bacek heh, 1530, Sunday :)
05:35 cotto I'm behind the times.
05:35 bacek cotto: Or I'm ahead :)
05:36 cotto WELCOME TO THE WORLD OF TOMORROW
05:36 cotto </futurama>
05:37 cotto now I can sync pluggable_runcore
05:37 dalek parrot: r41040 | bacek++ | trunk/src/gc/alloc_register.c:
05:37 dalek parrot: Revert "Temporary comment-out strict asserts on accessing registers in Context."
05:37 dalek parrot: It's better to have real red light in make testj, than false green
05:37 dalek parrot: light.
05:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41040/
05:37 cotto good idea
05:37 purl cotto: Good Idea: Taking a deep breath before jumping into a swimming pool. Bad Idea: Taking a deep breath after jumping into a swimming pool.
05:38 bacek cotto: need help with merging? :)
05:38 bacek Did you ever sync branch with trunk?
05:39 cotto I'm syncing now.  The merge should be pretty easy.
05:39 cotto I want to make sure that I can profile Rakudo hello world before merging back.
05:40 bacek Ok.
05:40 dukeleto all this merging gets me excited
05:40 cotto It'd also be nice to get the profiling runcore reviewed.  It's been on chromatic's todo list for a while, but he's a busy boy.
05:40 dalek parrot: r41041 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
05:40 dalek parrot: [profiling] move a misplaced comment
05:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41041/
05:41 bacek dukeleto: svn is way to simple...
05:41 bacek cotto: which files required reviewing?
05:43 cotto mainly runops_profiling_core in src/runcore/cores.c and tools/dev/pprof2cg.pl
05:43 cotto if chromatic's changes got anything wrong, the branch would break horribly
05:44 bacek cotto: looking
05:44 cotto thanks
05:45 jrtayloriv bacek, Do you know why we are keeping around all of the broken, old GMS code that is scattered throughout Parrot?
05:45 bacek jrtayloriv: because it's good task for rookie! :)
05:45 bacek (to clean it all)
05:47 cotto It's stable (as in Augean)
05:47 bacek cotto: why you put check "if (argv && !Profiling_have_printed_cli_TEST(runcore)) " inside runops_profiling_core? Looks like it can be moved into _init.
05:47 jrtayloriv bacek, Do you mean clean it up as in get rid of it, or clean it up as in try to get it working?
05:48 bacek jrtayloriv: my current feelings - kill it all.
05:48 bacek jrtayloriv: at least we shouldn't have ifdefed attributes in GC structures
05:49 cotto nope.  init is run before that iglobal is initialized
05:49 jrtayloriv bacek, I've gotten rid of all of the #ifdefs for GMS (pretty sure I have at least), but there is still a lot of stuff (like the write barrier code) that is scattered around everywhere.
05:49 dukeleto purl, GMS ?
05:49 purl bugger all, i dunno, dukeleto
05:49 jrtayloriv Generational Mark and Sweep
05:50 dukeleto purl, GMS is Growling Mad Scientist or Generational Mark and Sweep
05:50 purl OK, dukeleto.
05:50 jrtayloriv :)
05:50 cotto if there are any :init subs, those run before it's initialized too
05:50 bacek jrtayloriv: get rid of it. We need pointers to write_barrier and read_barrier functions in GC_Subsystem
05:50 bacek cotto: oh shi... ok.
05:52 jrtayloriv bacek, already got that done too -- I declared write_barrier hooks in GC_Subsystem, that is. Don't have any read_barrier functions in there yet though.
05:52 jrtayloriv (good idea)
05:53 bacek jrtayloriv: ok. Just put comment in GC_Subsytem that "read_barrier should go here"
05:53 jrtayloriv Although, from what I've been reading, write barrier is a lot more efficient, since writes to heap are much less common than reads.
05:53 jrtayloriv But I guess it's good to have flexibility anyways.
05:54 bacek jrtayloriv: yes, but not so flexible :) Comment inside structure will be enough
05:54 jrtayloriv ok
05:56 bacek cotto: looks good. CONTEXT macro is "deprecated" but it can be fixed later.
05:56 cotto ok.  what's the proper replacement?
05:57 bacek Parrot_pcc_get_something
05:57 cotto the merge worked!
05:58 cotto I only had to fix a few conflicts.
05:58 bacek Ignore it this functions for now. I'm going to add bunch Parrot_pcc_get_current_something which will use current Context.
05:58 dukeleto cotto++
05:58 bacek cotto++ #indeed
05:58 cotto so don't do anything?  I can do that all day long!
05:58 bacek cotto: just merge it!
05:59 bacek DO IT!
05:59 theory joined #parrot
05:59 bacek Anyone counting how many big branches were merged since 1.4?
06:00 cotto I think it's 5 (plus mine fairly soon) since 1.5
06:00 bacek erm. 5 in 2 weeks?
06:01 bacek We can finish parrot development even before 2.0!
06:01 dalek parrot: r41042 | cotto++ | failed to fetch changeset:
06:01 dalek parrot: sync pluggable_runcore with trunk
06:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41042/
06:02 bacek Just need to continue this pace and remove DEPRECATED.pod from repo :)
06:02 cotto It'd be fun to fix freeze/thaw next.
06:03 cotto I can't shake the feeling that Parrot would be much better off if we just ignored (or severely loosened) the deprecation policy until 2.0 or so.
06:03 bacek "Parrot 2.0 - with backjack and hookers!"
06:04 cotto That'd be the first name to get vetoed.
06:04 bacek *sigh*
06:05 cotto "Bendering Time" would make a great release name.
06:07 bacek anyway, looks like someone have to start gathering NEWS for 1.6. It will be freaking big list.
06:08 cotto If anyone's bored, removing the deprecated get_repr VTABLE function would help increase test coverage on FPA and Namespace.
06:08 bacek cotto: good idea.
06:08 purl bacek: Good Idea: Playing the piccolo in a marching band. Bad Idea: Playing the piano in a marching band.
06:09 bacek coverage?
06:09 purl hmmm... coverage is http://cv.perl6.cz
06:09 cotto let's see if Rakudo likes being profiled
06:09 cotto bacek++ for the review
06:14 bacek cotto: I didn't check pprof2cg.pl, btw
06:14 bacek should I?
06:14 cotto It wouldn't hurt.
06:15 bacek Noone including me? :)
06:16 cotto segfault on rakudo hello world
06:16 cotto :(
06:17 bacek hmm... I'll try to check it
06:17 bacek cotto: pprof2cg can be better...
06:18 bacek Use 3-args "open" instead of 2-args.
06:20 cotto what's that do?
06:20 cotto you mean open(FH, "<", $filename)?
06:21 bacek cotto: yes
06:22 dukeleto 2 arg open()'s ? THE HORROR
06:22 cotto thanks
06:22 dukeleto please check return values of open/close kthanxbai
06:22 dukeleto cotto: just a general statement, not directed at you
06:23 cotto but I like silent and/or delayed failures
06:23 bacek cotto: especially GC related? :)
06:24 cotto I didn't know about checking close, though.  I'll have to make a habit of that.
06:25 bacek cotto: personally I prefer to split process_line into smaller functions, one per each case.
06:26 cotto and use a dispatch table?
06:27 cotto That's a good idea.  The current iteration of the code was refactored from being functionless with many file-global variables.
06:27 bacek cotto: yes.
06:28 cotto I'll put that on my pre-merge todo list, right after making Rakudo hello world not explode
06:28 dukeleto cotto: checking close() ensures that your data is properly sync'ed to the hard drive.
06:29 cotto is close(FH) or die "..."; the right thing to do?
06:29 dukeleto cotto: also, open( my $fh, '<', $filename) is preferrable, but not a big deal
06:29 dukeleto cotto: close(FH) or die $!;
06:30 dukeleto bare filehandles are considered old-skool
06:31 bacek cotto: it can be "post-merge"
06:31 dukeleto cotto: i will take a look at the script with my critical eye after you merge, if you like
06:32 cotto bacek, sure
06:32 cotto dukeleto, I appreciate that.  I like writing modern Perl.
06:32 dukeleto cotto: i like reading it!
06:33 dukeleto and i hear one of the other parrot devs likes it too...
06:33 bacek cotto: last 2 things: '$stats->{$file}{$ns}{$line}[$curr_op]' in get_gc_profile can be "cached" (for readability and performance sake)
06:33 cotto oh.  The runcore segfaults on PIR hello world too.
06:34 dukeleto yay for caching
06:34 bacek cotto: little bit of docs about "$stats" storage format will help to understand it
06:35 bacek Ah! And you missed "use warnings" :)
06:36 cotto not for long
06:37 * dukeleto likes warnings
06:38 bacek In Soviet Russia warnings like YOU!
06:38 dukeleto they warn with an iron fist there
06:46 cotto there's the changes.  Thanks a bunch dukeleto++ and
06:46 cotto bacek++ for your suggestions
06:46 bacek cotto: need help with segfault?
06:46 cotto yes
06:47 * bacek checking Parrot_Context_get_info
06:48 dalek parrot: r41043 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
06:48 dalek parrot: [pprof2cg] various improvements to make this script more modern and paranoid
06:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41043/
06:50 bacek cotto: done
06:51 dalek parrot: r41044 | bacek++ | branches/pluggable_runcore/src/runcore/cores.c:
06:51 dalek parrot: Fix CONTEXT vs CURRENT_CONTEXT usage.
06:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41044/
06:51 cotto bacek++
06:51 cotto I love you.
06:52 dukeleto sweet! i wrote a test that puts parrot into an infinite loop
06:53 cotto bacek, what's the difference?
06:53 bacek CONTEXT returns attributes of CURRENT_CONTEXT pmc
06:53 dukeleto can't tell if it is my fault yet
06:54 bacek cotto: one of... special ideas about deprecation policy...
06:54 dukeleto if i want to match the literal string foo with the test_more.pir like() function, i would give it a pattern of '<foo>', correct ?
06:55 dalek parrot: r41045 | bacek++ | branches/pluggable_runcore/src/sub.c:
06:55 dalek parrot: [cage] Cache Sub PMC in Parrot_Context_get_info
06:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41045/
06:55 cotto I think that'd match the rule "foo"
06:56 cotto sigh.  Rakudo hello world explodes spectacularly when profiled.
06:56 bacek How "spectacularly"? Like as in nuclear bomb?
06:57 cotto MY COMPUTER ASPLODE
06:57 dukeleto cotto: interesting. that means that the test_more.pir function loops forever if you tell it to match a rule that doesn't exist. bug or feature?
06:58 dukeleto cotto: how do I try to do a partial match of the string foo in the string bar?
06:58 cotto wait.  What's it using for matching?  PGE?
06:58 dukeleto cotto: yah
06:59 nopaste "cotto" at 74.61.2.46 pasted "rakudo asplode" (119 lines) at http://nopaste.snit.ch/17844
06:59 dukeleto cotto:  while (my $line = <$in_fh>) will save you some newlines
07:00 cotto so it will
07:00 dukeleto cotto++ for modern paranoia
07:00 cotto dukeleto, I think a bare string without any funny characters will match itself
07:01 dukeleto cotto: hmmmm
07:02 dalek parrot: r41046 | jrtayloriv++ | branches/gc-refactor (7 files):
07:02 dalek parrot: Moved structs out of gc_api.h and into gc_private.h, replaced some #if with if, minor updates to GC docs, reorganized for clarity
07:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41046/
07:02 dukeleto cotto: i can smell the rakudo flames from here
07:03 cotto I tried to run it with libefence, but I don't have enough memory.
07:03 dukeleto cotto: the like() tests use <[g]> to match the letter g in a string. is the [ ] a character class? I am not down with all the PGE coolness yet
07:03 cotto <[ ... ]> is the character class iirc.  lemme double check
07:05 dukeleto cotto: like() seems to think i pass it the empty string if I give it a bare string to match
07:05 cotto nm.  that's a non-capturing group
07:05 jrtayloriv bedtime -- later
07:06 dukeleto cotto: do I need to do some kind of .*foo.* ?
07:06 dukeleto jrtayloriv; see you on the flip side
07:07 cotto Now I'm confused.  S06 seems to say both that it's a noncapturing group and an enumerated character class
07:07 cotto jrtayloriv, good night
07:08 cotto dukeleto, http://svn.pugscode.org/pugs/​docs/Perl6/Spec/S05-regex.pod .  I'll probably just make you more confused.
07:10 bacek cotto: I can't spot why rakudo explode...
07:10 cotto bacek, did you intend to make those changes in pluggable_runcore?
07:10 cotto It smells like memory corruption.
07:10 bacek which changes?
07:11 cotto r41045 [cage] Cache Sub PMC in Parrot_Context_get_info
07:12 bacek Ah, yes. I hope branch will be merged soon :)
07:14 cotto I'm trying a workaround.  We'll see how that goes.
07:14 cotto (I still want to find the real bug, of course)
07:15 bacek cotto: make realclean is workaround...
07:16 cotto that makes rakudo happy?
07:16 bacek cotto: yes
07:16 bacek I did realclean in both of them
07:16 cotto ok
07:17 cotto about 3.5m to profile Rakudo hello world
07:18 cotto I also want to verify that make realclean fixes the explosion, but it's looking like I'll get to merge before going to bed!
07:20 bacek WOW! Rakudo's profile looks attractive!
07:20 bacek cotto++!
07:21 bacek SHIP IT!
07:21 cotto nope.  it explodes again after make realclean
07:21 cotto retrying after removing install dir and cleaning rakudo
07:23 bacek About 1/3 of Rakudo "Hello world" spend in OPTable;parse...
07:24 dukeleto can i catch a die() in parrot with an ExceptionHandler ?
07:25 dukeleto ack: Unknown --type "pir" !
07:26 dukeleto the horror
07:26 bacek dukeleto: yes, you can
07:26 cotto crap.  It exploded again.
07:27 bacek cotto: it works on my box! SHIP IT! :)
07:31 dalek TT #982 created by bacek++: [rfc][cage] Remove src/tsq.c from repo
07:33 cotto bacek, what are you running?
07:34 bacek parrot -Rprofiling perl6.pbc -e 'say "HELLO"'
07:35 cotto I mean your cpu, os, etc
07:35 bacek Linux/i386
07:35 bacek Debian/Lenny
07:35 dalek parrot: r41047 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
07:35 dalek parrot: [pprof2cg] another modern fix and some caching to avoid repeated lookups
07:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41047/
07:36 cotto Hmmm.  basically same as me on Ubuntu 9.04/i386
07:36 cotto dukeleto++ for those suggestions
07:37 cotto That's really frustrating.
07:37 dukeleto i notice that none of the test_more.pir methods call each other. I was trying to implement pir_error_output_like in terms of like() . perhaps that is the problem?
07:37 cotto bacek, latest rakudo?
07:38 bacek cotto: looks like latest. I pulled it before kill_parrot_cont merging
07:43 cotto The branch clearly needs more testing.  I'll hold off on merging until I either fix the problem on my end or find that several other people aren't having any problems.
07:43 * bacek start cloning himself
07:44 bacek All baceks vote for merging!
07:44 cotto If we had two or three more baceks Parrot would be *done* by 1.6.
07:46 bacek Unlikely. There is way too many things to fix...
07:46 cotto bacek, did pprof2cg complain at all about the rakudo hello world profile?
07:46 bacek We need at least 4 or 5
07:46 bacek cotto: not at all
07:48 cotto Can you post a screenshot of kcachegrind showing "main" in the call graph window?
07:48 bacek With "Callee Map" tab?
07:49 cotto the Call Graph tab in another panel
07:51 bacek http://img-fotki.yandex.ru/get/37​00/bacek.d/0_2a03c_d9b8a479_orig
07:51 cotto ok.  mine's goofy then
07:52 Eevee joined #parrot
07:52 cotto thanks
07:53 * bacek suspect that Rakudo/PCT recompile Perl6 grammar on startup
07:53 quek left #parrot
07:53 bacek ship it! :)
07:54 bacek Ignore 2 faling tests in make fulltest.
07:54 bacek failing
07:56 Zak joined #parrot
07:57 mikehh bacek: What's failing - do you need more testing - which branch?
07:58 bacek mikehh: trunk. I'm writing ticket now.
07:58 mikehh I don't get no fail;ures
07:58 bacek r41040
07:58 bacek mikehh: JIT only.
07:58 mikehh failures
07:59 cotto mikehh, I'd appreciate it if you could check out pluggable_runcore, build rakudo with it and run parrot -Rprofiling perl6.pbc -e 'say "HELLO"'
07:59 bacek r41036 actually with explanations
07:59 mikehh ok - give it a try
07:59 cotto I'm going to bed soon, but please post here whether it worked or not.  It'll be very obvious if it didn't work.
08:00 dukeleto ack is still on svn. yuck. i *was* going to add parrot support
08:00 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41047 - Ubuntu 9.04 amd64 (g++)
08:02 dukeleto ack svn seems to have the parrot filetype
08:02 cotto it has some parrot support already.  Andy hangs out here sometimes and has a commit bit.
08:02 dukeleto but not the released version
08:02 cotto (for parrot)
08:04 dalek TT #983 created by bacek++: [bug] JIT code incorrectly access registers
08:06 dukeleto yay for ack --type=parrot
08:08 cotto I'm going to bed.  Good night.
08:09 mikehh cotto: ok building now - will test rakudo after a trunk test
08:09 bacek cotto: Wait! Come back! Merge it to trunk!
08:10 dukeleto bacek: nice pretty pictures
08:11 bacek dukeleto: which one? Profiling? IT'S AWESOME :)
08:15 dukeleto bacek: yes, the profile pic. very cool. what other gui's are available/possible? i am on os x
08:15 purl well, on os x is there a file or something where once can add extra dirs to DYLD_FALLBACK_LIBRARY_PATH?
08:15 dukeleto purl, forget on os x
08:15 purl dukeleto: I forgot on os x
08:16 iblechbot joined #parrot
08:19 bacek dukeleto: no idea...
08:19 purl i guess no idea is http://jays.net/images/noidea.jpg
08:20 bacek But profile format is same as in valgrind
08:20 mikehh cotto - failed to build with g++ - builds ok with gcc, make test PASS
08:20 bacek So, any valgrind-compatible guis on macosx (if any) should work
08:21 bacek mikehh: what is g++ error?
08:22 mikehh src/runcore/main.c: In function ‘void dynop_register_xx(parrot_interp_t*, size_t, size_t, op_lib_t* (*)(long int))’:
08:22 mikehh src/runcore/main.c:964: error: cast from ‘runcore_t*’ to ‘int’ loses precision
08:22 mikehh make: *** [src/runcore/main.o] Error 1
08:23 mikehh pluggable_runcore branch at r41047 - Ubuntu 9.04 amd64
08:24 dukeleto does the parrot vim highlighting often freak out for everyone else as well ?
08:25 bacek dukeleto: for PIR? Yes.
08:26 bacek mikehh: what is Configure line to use g++?
08:26 dukeleto bacek: ok, i feel better now
08:27 bacek Ah! I've got similar question about GCC warning for "structure size is N bytes".
08:27 bacek Is it only my problem?
08:28 bacek (298 of 351): warning: size of ‘core_op_info_table’ is 55440 bytes
08:28 bacek etc
08:29 mikehh bacek: perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace --prefix="$HOME/install"
08:29 bacek mikehh: thanks
08:29 mikehh bacek: you probably don't need all that
08:30 bacek copy-paste ftw! :)
08:31 mikehh ok rakudo passes on trunk
08:33 mikehh rakudo (6e2104a) builds on parrot r41047 - make test / make spectest (up to r28193) PASS - Ubuntu 9.04 amd64 (g++)
08:33 dukeleto mikehh: what does --test do to Configure.pl ?
08:33 mikehh runs test before and after the configure
08:34 dukeleto mikehh++
08:34 mikehh cotto: got some codetest failures
08:36 mikehh --test=configure     Run tests of configuration tools before configuring
08:37 mikehh --test=build         Run tests of build tools after configuring but before calling 'make'
08:37 mikehh --test               Run configuration tools tests, configure, then run build tools tests
08:39 mikehh I generally call these pre and post-config tests
08:45 mikehh cotto: in testS -> t/pmc/threads.t - Failed tests:  2-3, 6, TODO passed:   13
08:47 bacek mikehh++
08:48 mikehh also got codetest and manifest_tests failures - let me see
08:49 bacek mikehh: I'll fix codetest failures.
08:49 bacek But I can't fix manifest...
08:50 dalek parrot: r41048 | bacek++ | branches/pluggable_runcore (3 files):
08:50 dalek parrot: Store core id in runcore_t and use it dynop_register_xx
08:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41048/
08:53 chromatic joined #parrot
08:53 mikehh bacek - was fixin' those and will run tools/dev/mk_manifest_and_skip.pl
08:53 dalek parrot: r41049 | bacek++ | branches/pluggable_runcore/src/runcore/cores.c:
08:53 dalek parrot: Fix codetest failures reported by mikehh++
08:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41049/
08:53 mikehh which oftem picks more codetest failures
08:54 bacek mikehh: yeah... make codetest stopping on first fail in file
08:57 bacek hmmm... Looks like Switch runcore always take first sub as :main even if there is special :main sub exists.
08:58 chromatic That shouldn't be.
09:00 bacek chromatic: pluggable_runcore branch :)
09:00 bacek t/pmc/thread.t failure
09:00 bacek line 277
09:00 chromatic That really shouldn't be.
09:00 bacek If I swap "check" and "main" test passed. Otherwise it output only one "ok"...
09:03 bacek chromatic: hmm... Indeterministic failure.
09:03 dalek parrot: r41050 | mikehh++ | branches/pluggable_runcore/MANIFEST:
09:03 dalek parrot: run tools/dev/mk_manifest_and_skip.pl
09:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41050/
09:04 bacek Yay. Thread.join. Looks like output isn't flushed.
09:04 cotto bacek, no thread failure here
09:05 bacek cotto: go to bed!
09:05 bacek <mikehh> cotto: in testS -> t/pmc/threads.t - Failed tests:  2-3, 6, TODO passed:   13
09:06 cotto oh, tests
09:07 cotto There should also be some tests for the profiling runcore that output to /dev/null.
09:07 cotto then people can avoid running that because it'll be so slow
09:07 cotto bacek, I'd be asleep if I could be.
09:08 cotto ;)
09:08 * bacek passing bottle of Sleeping Vodka to cotto.
09:08 bacek Drink it! :)
09:09 cotto I have a bottle of cleaning vodka.
09:13 cotto It's nice to have other people doing stuff in that branch.
09:13 bacek cotto: Just because I want return to Lorito. And we need pluggable runcores for it :)
09:15 cotto Lorito also needs design work figuring out what opcodes will be sufficient for implementing everything else.
09:15 cotto Interesting.  There's not a substantial difference in time between writing to a file and /dev/null.
09:16 cotto and writing to a file was somehow faster
09:16 bacek Put fsync at the end :)
09:17 dalek parrot: r41051 | mikehh++ | branches/pluggable_runcore (2 files):
09:17 dalek parrot: fix some codetest failures after MANIFEST fixes
09:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41051/
09:17 mikehh dammit missed one
09:18 cotto that'll slow it down nicely
09:20 mikehh chromatic: what is the Missing properly located perl coda for parrot source for tools/dev/pprof2cg.pl line 214 mean?
09:21 bacek mikehh: tail tools/dev/mk_manifest_and_skip.pl will give you idea :)
09:21 cotto mikehh, see the bottom of tools/dev/opsrenumber.pl for an example
09:21 cotto (there are many examples)
09:21 cotto mikehh, I'll add one now.
09:23 mikehh ok got it - I just remember I had that before and chromatic fixed it - I recall now
09:25 chromatic I'm glad YOU remember that, because I don't.
09:25 mikehh I was looking at the line number and trying to figure out what was wrong at that line
09:26 mikehh fix coda in mind ... fix code ...
09:27 bacek chromatic: you'll love TT#983 :)
09:31 dukeleto i am being plagued by Tests out of sequence.
09:33 mokurai left #parrot
09:34 cotto bacek, you should have gotten some kind of error profiling rakudo hello world.  the pprof file didn't handle sub names with '}' in them.
09:34 chromatic JIT bugs, lovely.
09:35 chromatic I spent some time waiting at the bakery today explaining what's wrong with our current JIT and how I expect Lorito to help to my lovely companion.
09:35 bacek cotto: bacek@icering:~/src/rakudo.tt452$ time !!
09:35 bacek time perl ../parrot/tools/dev/pprof2cg.pl parrot.pprof.6939
09:35 bacek real0m12.533s
09:35 bacek user0m8.973s
09:35 bacek sys0m0.032s
09:35 bacek cotto: no errors at all.
09:35 nopaste "dukeleto" at 69.64.235.54 pasted "out out sequence errors in test_more.pir" (178 lines) at http://nopaste.snit.ch/17845
09:36 dukeleto code review please: http://github.com/leto/parrot/commit/29​cb35f71cc3a9b5265e23c8cc51be9c7b65e466 (the nopaste is the test output)
09:36 cotto bacek, that's rakudo hello world?
09:36 bacek cotto: yes
09:37 cotto the file takes ~10m to process on my machine
09:37 chromatic Call a priest.
09:37 dukeleto hahahaha
09:37 purl LOLCON 4 reached.
09:37 bacek bacek@icering:~/src/rakudo.tt452$ ls -la parrot.pprof.6939
09:37 bacek -rw-r--r-- 1 bacek bacek 3054119 2009-09-06 17:16 parrot.pprof.6939
09:37 bacek bacek@icering:~/src/rakudo.tt452$ time perl ../parrot/tools/dev/pprof2cg.pl parrot.pprof.6939
09:37 bacek real0m9.044s
09:37 bacek user0m8.989s
09:37 bacek sys0m0.008s
09:38 bacek bacek@icering:~/src/rakudo.tt452$
09:38 bacek May be it's just silently fail.
09:38 cotto how big is the profile?
09:38 bacek 3054119
09:38 bacek I just pasted it :)
09:39 cotto lines or  bytes?
09:39 bacek -rw-r--r-- 1 bacek bacek 116183 2009-09-06 19:37 parrot.out.6939
09:39 bacek bah.
09:39 bacek Failed. Silently.
09:39 cotto ninja-style
09:39 dukeleto chromatic: you are familiar with testing test_more.pir, right? mind taking a look at my code review? it is short and totally baffling me
09:39 chromatic Will do tomorrow!
09:39 dukeleto ok
09:40 bacek dukeleto: you definitely missed pop_eh in handler"
09:40 bacek handler:
09:40 bacek dukeleto: after "get_results"
09:41 dukeleto bacek: thanks for catching that, but my test doesn't even invoke the handler, so that is not the issue. but I just added it and i still have the same problem :(
09:42 bacek which problem?
09:42 purl which problem is that?
09:42 bacek purl: forget which problem
09:42 purl bacek: I forgot which problem
09:42 dukeleto bacek: the number of my test comes out wrong
09:42 bacek erm. Can you nopaste example?
09:42 dukeleto dukeleto: if i run my test last, it is off by 2. if I run it first, it b0rks the ordering of the rest of the run
09:43 dukeleto bacek: http://nopaste.snit.ch/17845
09:44 dalek parrot: r41052 | mikehh++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
09:44 dalek parrot: add coda to tools/tools/dev/pprof2cg.pl
09:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41052/
09:44 bacek dukeleto: looks familiar...
09:44 dukeleto bacek: do tell
09:45 mikehh pluggable_runcore branch - rakudo (6e2104a) builds on parrot r41051 - make test / make spectest (up to r28193) PASS - Ubuntu 9.04 amd64 (g++)
09:45 mikehh sorry that was gcc
09:45 bacek dukeleto: I've got similar issue in pmc_pct branch. cotto did workaround, but we didn't fix original issue
09:46 dukeleto bacek: glad to know that I am not insane
09:46 dukeleto bacek: what is the workaround?
09:46 purl the workaround is sweeping shitty behavior and code under the carpet
09:46 dukeleto botsmack
09:47 * purl shoots up... ahhh
09:47 nopaste "bacek" at 114.73.156.240 pasted "Test::More patch for dukeleto" (17 lines) at http://nopaste.snit.ch/17846
09:47 dalek parrot: r41053 | cotto++ | branches/pluggable_runcore (2 files):
09:47 dalek parrot: [profiling] enable the pprof format able to deal with silly names like ns:Associative[::T];postcircumfix:{ } should anyone choose to use them
09:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41053/
09:47 bacek dukeleto: can you try nopasted patch?
09:49 bacek cotto: no pprof2cg complains about uninitialised values A LOT
09:50 bacek cotto: s/no/now/
09:51 dukeleto bacek: error:imcc:The opcode 'get_hll_global_ic_pc_sc' (get_hll_global<3>) was not found. Check the type and number of the arguments
09:51 dukeleto in file 'runtime/parrot/library/Test/More.pir' line 71
09:51 dukeleto bacek: is that in your branch ?
09:51 cotto bacek, you'll have to regenerate any profiles
09:52 bacek dukeleto: in pluggable_runcore. But it doesn't matter...
09:52 bacek cotto: Ah, ok
09:52 dukeleto bacek: the get_hll_global_ic_pc_sc opcode i mean
09:52 dukeleto bacek: should that be there?
09:52 cotto and pprof2cg will catch such problems in the future
09:52 bacek dukeleto: it's just get_hll_global copied from ~10 lines below...
09:53 dukeleto dukeleto: you mean set_... ?
09:54 dalek parrot: r41054 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
09:54 dalek parrot: [pprof2cg] be a little more paranoid about input checking
09:54 dalek parrot: also, stupid formatting trick
09:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41054/
09:54 bacek cotto: doesn't help... 117349 bytes in new profile
09:54 dukeleto bacek: oh, i think i see it
09:55 dukeleto bacek: no, i still get a compile error with your path
09:56 dukeleto patch, even
09:57 clinton joined #parrot
09:57 bacek dukeleto: it's... weird.
09:57 dalek parrot: r41055 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
09:57 dalek parrot: [profiling] add a note about a workaround for an apparent memory corruption bug
09:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41055/
09:58 dukeleto bacek: i got it to compile, but not working yet
09:59 mikehh cotto: ran the parrot -Rprofiling perl6.pbc -e 'say "HELLO"' - says HELLO then PROFILING RUNCORE: Wrote profile to parrot.pprof.11989
09:59 cotto mikehh, great.  It works.
10:00 cotto This is odd.  The profile is now 10% the original size.
10:00 nopaste "dukeleto" at 69.64.235.54 pasted "odd test_more.pir issue" (178 lines) at http://nopaste.snit.ch/17847
10:01 cotto debugging this at 0300 is not a good idea.
10:01 cotto time for attempt #2 at going to sleep
10:01 mikehh 74039 lines - 3031775 bytes
10:01 dukeleto bacek: http://github.com/leto/parrot/commit/73​135aa2644a3007aac645d22c80c448a1bf0cce give me the output at http://nopaste.snit.ch/17847
10:01 cotto night
10:01 dukeleto cotto: take it easy
10:04 bacek dukeleto: erm...
10:04 dukeleto bacek: i think i applied your patch incorrectly. it didn't apply automagically
10:06 bacek dukeleto: can you nopaste git show 29cb35f71cc3a9b5265e23c8cc51be9c7b65e466 ?
10:06 bacek (original patch)
10:08 nopaste "dukeleto" at 69.64.235.54 pasted "orig patch" (142 lines) at http://nopaste.snit.ch/17848
10:09 bacek msg cotto src/runcore/cores.c, lines 1148. Looks like off-by-one
10:09 purl Message for cotto stored.
10:09 dukeleto bacek: do test_diag and test_test count as separate tests?
10:10 bacek dukeleto: they should'n
10:10 dukeleto bacek: just askin'
10:10 bacek but looks like they are
10:10 dukeleto hmmm
10:10 dukeleto bacek: only for my test?!
10:11 dukeleto bacek: it still fails without the test_diag as well
10:14 dukeleto happy pi time
10:14 dukeleto in PDT at least
10:18 bacek dukeleto: Bah!
10:18 * dukeleto sees a sheep run by
10:18 clinton joined #parrot
10:25 bacek dukeleto: just move test_pir_error_output_like after test_todo.
10:26 bacek msg dukeleto  just move test_pir_error_output_like after test_todo.
10:26 purl Message for dukeleto stored.
10:26 Whiteknight joined #parrot
10:30 Whiteknight good morning #parrot
10:32 bacek When someone fell asleep, someone else have to resolve merge conflicts and merge branches!
10:32 Whiteknight bacek++ and kid51++ for getting that branch merged
10:32 bacek Good morning, Whiteknight :)
10:33 Whiteknight I have no idea what my problem was last night
10:33 Whiteknight bu SVN said "no"
10:33 bacek because branch wasn't up-to-date with trunk...
10:33 Whiteknight I updated right before I merged
10:34 bacek Just another svn shenanigans...
10:34 Whiteknight ok
10:35 Whiteknight we done with context_pmc3 so I can delete it?
10:36 bacek Whiteknight: looks like it can be killed now
10:36 Whiteknight and xkill_parrot_cont too, I assume?
10:36 Whiteknight ok
10:37 dalek parrot: r41056 | whiteknight++ | branches/context_pmc3:
10:37 dalek parrot: [context_pmc3] branch has been merged to trunk
10:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41056/
10:37 dalek parrot: r41057 | whiteknight++ | branches/kill_parrot_cont:
10:37 dalek parrot: [kill_parrot_cont] branch was merged by bacek++ and kid51++.
10:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41057/
10:38 dalek parrot: r41058 | whiteknight++ | branches/xkill_parrot_cont:
10:38 dalek parrot: [xkill_parrot_cont] the kill_parrot_cont branch got merged, so this diagnostics branch is not needed
10:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41058/
10:39 Whiteknight bacek: what's going on with orderedhash_revamp?
10:40 bacek Whiteknight: it's stalled. I forgot to put deprecation notice in 1.4.
10:40 Whiteknight ah, right.
10:40 bacek And I don't want to reproduce current behaviour about deleted keys...
10:47 Whiteknight and how are things going on context_attrs?
10:47 dalek parrot: r41059 | NotFound++ | trunk/src/debug.c:
10:47 dalek parrot: [cage] some cleanups and refactoring in debugger functions
10:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41059/
10:47 dalek parrot: r41060 | NotFound++ | trunk/include/parrot/sub.h:
10:47 dalek parrot: [cage] update headerizing
10:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41060/
10:49 bacek Whiteknight: context_attrs are stuck with current GC. We can't allocate arbitrary chunk of memory easily...
10:50 bacek But I'll try to do something tomorrow.
10:51 Whiteknight bacek: there are fixed-size allocation functions in there now that you can use
10:51 Whiteknight I assume for allocating the register arrays?
10:53 bacek Yes.
10:53 bacek Let me check how I can use it
10:54 Whiteknight jrtayloriv: ping
10:55 Whiteknight purl msg jrtayloriv I want to make some cleanups to the fixed-size allocator. Is your gc-refactor branch touching that at all?
10:55 purl Message for jrtayloriv stored.
10:56 HG` joined #parrot
11:00 bacek Whiteknight: I can use fixed-size allocator. But it probably will not be very efficient.
11:01 bacek Argh... No, I can't use it at all...
11:02 Whiteknight why not?
11:02 bacek "vtable->attrs_size" is dynamic for every Context
11:03 Whiteknight bacek: use Parrot_gc_allocate_fixed_size_storage
11:03 Whiteknight doesn't use vtable->attrs_size at all, just gives you a block
11:03 bacek It will be exactly same as current behaviour.
11:04 bacek But I can replace mem_sys_allocate in Parrot_alloc_context with pool-based allocation
11:36 szabgab joined #parrot
11:36 Whiteknight that's probably going to be a small performance win
11:36 Whiteknight because the pool-based allocator will store freed items on a linked list for easy recycling
11:37 dalek parrot: r41061 | whiteknight++ | trunk/t/pmc/namespace.t:
11:37 dalek parrot: [t] Add some documentation to namespace.t. Add a few tests involing VTABLE_string and HLL namespaces
11:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41061/
11:40 quek joined #parrot
11:48 Whiteknight if I have a namespace "Foo", I should be able to call new "Foo", right?
11:48 Whiteknight because a namespace should be a class
11:48 Whiteknight er, it should be related to a class
11:49 Whiteknight I have a namespace "Foo", and I call "new 'Foo'", and I get an error that Class "Foo" not found
11:50 bacek newclass 'Foo'
11:50 bacek Whiteknight: PMC_Attribute_pool is suboptimal
11:51 Whiteknight bacek: yes, it needs tuning
11:51 bacek Let me rephrase. All GC is suboptimal :)
11:57 dalek parrot: r41062 | bacek++ | trunk (4 files):
11:57 dalek parrot: Use fixed-size allocator for Parrot_Context
11:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41062/
12:01 kjeldahl joined #parrot
12:01 dalek parrot: r41063 | whiteknight++ | trunk/t/pmc/namespace.t:
12:01 dalek parrot: [t] add a bunch more tests showing the relationship between NameSpaces, Classes and Objects
12:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41063/
12:03 bacek (78.15-75.18)/78.15
12:03 purl 0.0380038387715931
12:04 bacek Whiteknight: ~3% win
12:05 Whiteknight awesome! A win is a win
12:05 Whiteknight The only reason it's any good is because of fast recycling
12:10 * bacek dream about Generational GC in parrot...
12:18 Whiteknight bacek: I was hoping to start working on a parallel GC system too
12:19 Whiteknight for systems with multiple cores, that would be ideal
12:21 dalek parrot: r41064 | whiteknight++ | trunk/t/pmc/namespace.t:
12:21 dalek parrot: [t] Add some notes to namespace.t about what still needs to be tested. Add one easy test for behavior in PDD21
12:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41064/
12:35 bacek Whiteknight: make sense.
12:35 bacek BTW, you forgot about pop_eh after catching exception in new tests
12:37 Whiteknight do you need to do that?
12:37 Whiteknight I was copying a lot of that logic from other tests
12:38 bacek Whiteknight: yes. It doesn't matter in small test files. But it's better to put it in as "Parrot best practice" example
12:38 Whiteknight ok
12:39 bacek Anyway, my turn to sleep
12:40 bacek Good night!
12:44 dalek parrot: r41065 | whiteknight++ | trunk/NEWS:
12:44 dalek parrot: [NEWS] Give a quick pass through the news this month
12:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41065/
12:45 quek left #parrot
12:45 bacek + Contexts are not garbage-collectable
12:46 bacek Thank you very much! :(
12:46 bacek :)
12:46 MoC joined #parrot
12:46 bacek + Removed PMC_Sync from PMC
12:46 bacek It's not happened yet, afaik
12:47 * bacek must sleep
12:47 purl $bacek->sleep(8 * 3600);
12:49 szabgab joined #parrot
12:50 Andy joined #parrot
12:53 jrtayloriv Good morning.
12:53 purl And good moroning to you, jrtayloriv.
12:54 jrtayloriv Whiteknight, I don't think anything that I'm doing should affect the fixed-size allocator, and I wasn't planning on doing anything with it, but I don't know much about it yet -- I'll make sure.
12:55 ruoso joined #parrot
12:55 Whiteknight okay, thanks
12:56 Whiteknight I have some cleanups I want to do, but don't want to step on your toes
12:57 jrtayloriv Whiteknight, I've moved a lot of stuff around (for example, moving some structs out of gc_api.h into gc_private.h and reordering things), but as long as I don't actually touch the parts related to the fixed size allocator, all of the stuff moving "around" it won't make it difficult to merge, correct?
12:58 Whiteknight I'l just hold off, most of my changes are aesthetic
12:59 kid51 joined #parrot
13:00 quek joined #parrot
13:06 Andy joined #parrot
13:07 dalek parrot: r41066 | whiteknight++ | trunk/src/pmc (2 files):
13:07 dalek parrot: [cage] some misc cleanups relating to the recent changes to Context and Continuation pmcs
13:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41066/
13:07 Whiteknight purl msg bacek the API functions in src/call/context.c should probably all check that the PMC is a valid Context PMC.
13:07 purl Message for bacek stored.
13:14 jrtayloriv Is editing compilers/imcc/main.c::parseflags() the proper way to add a command-line switch, or is there something else that I should do to add them instead?
13:15 jrtayloriv Basically, I want to create a flag that looks like --gc=MS, --gm=IMS, etc to set the GC engine when parrot is invoked.
13:18 dalek lua: ceec3db | fperrad++ | src/lib/luapackage.pir:
13:18 dalek lua: remove languages/lua in LUA_PATH
13:18 dalek lua: review: http://github.com/fperrad/lua/commit/ce​ec3dbbaf9e2b1dc1e8c207fdc220f644f536eb
13:18 dalek lua: 8239b69 | fperrad++ | src/lib/luapackage.pir:
13:18 dalek lua: remove languages/lua in LUA_PBCPATH
13:18 dalek lua: review: http://github.com/fperrad/lua/commit/82​39b69547bf4d819f872f95b249cf7d21d9f283
13:19 Whiteknight jrtayloriv: that's probably the only place to add it, unfortunately
13:19 Whiteknight eventually the command-handling stuff needs to be refactored
13:20 jrtayloriv Whiteknight, ok -- thanks.
13:20 dalek parrot: r41067 | whiteknight++ | trunk/src/sub.c:
13:20 dalek parrot: [cage] a few small cleanups to sub.c
13:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41067/
13:23 jrtayloriv Whiteknight, is there any way to keep merging trunk into branch as I go along, so that I can make less conflicts when merge happens?
13:24 jrtayloriv i.e. nm -- (wtf am I talking about...)
13:24 joeri joined #parrot
13:28 Whiteknight jrtayloriv: yes. When you merge, you merge a range of revisions
13:29 Whiteknight so if you keep track of which revisions you merge, you can do it bit by bit
13:29 Whiteknight svn merge -rX:Y ... and then svn merge -rY:Z ..., etc
13:30 quek left #parrot
13:33 jrtayloriv Whiteknight, OK -- so always just keep track of the end of the range of the last merge, and start from there? Thanks! Is there any reason not to do that -- i.e. are there any problems that might cause?
13:37 Whiteknight jrtayloriv: I don't know of any particular reason not to do that, no. I used to for some branches but got out of the habit
13:38 Whiteknight The best way to prevent problems is to make branches short-lived
13:38 Andy joined #parrot
13:38 jrtayloriv ok
13:43 NotFound I have a lot "Parrot_find_dynamic_padwas not declared in this scope" errors
13:44 kid51 jrtayloriv:  Other things being equal, the fewer files you touch in your branch, the fewer files you're going to have conflicts in when you go to merge.
13:45 kid51 This is the spatial corollary to the temporal guideline Whiteknight just mentioned.
13:45 jrtayloriv kid51, ok, thanks
13:45 kid51 IMO part of the problem we got into yesterday was that the various branches were all targeting large numbers of files.
13:45 NotFound If you discover something that must be changed but is no strictly dependent on the branch, better change it in trunk and merge
13:46 kid51 Perhaps that was unavoidable for any given branch, but it added up to trouble at a time when we've got multiple branches targeting the same source files.
13:47 jrtayloriv kid51, ok -- sorry about the trouble it caused. Thanks for your help trying to get it merged.
13:47 dalek parrot: r41068 | NotFound++ | trunk/include/parrot/sub.h:
13:47 dalek parrot: [cage] update headerizing
13:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41068/
13:48 kid51 jrtayloriv:  I'm not singling you out.  I think it was the combination of all these branches landing at the same time that caused problems.
13:49 NotFound Yeah, we've made a lot of big merges these weeks
13:49 Whiteknight jrtayloriv: Oh and one more thing: Don't rename files in branches
13:49 Whiteknight SVN is retarded about that
13:49 kid51 We are not collectively trained to ask:  "Can the scope of this branch be made smaller?"  But increasingly I believe we should.
13:50 Whiteknight kid51: I agree
13:50 Whiteknight I've been purposefully trying to keep my own branches smaller in scope
13:51 kid51 Because of the layout of our files in SVN, we almost always are branching the whole of trunk when we create a branch.
13:51 kid51 One thing I've realized from $job is that if your repository module is set up in a different way, it is possible to create smaller branches.
13:52 kid51 But discovering that "different way" is not easy.
13:55 Whiteknight I think we're moving in that direction by creating separate folders for various subsystems
13:55 kid51 ... which means that before creating a branch that touches many source code files, a developer might want to write up a statement (for own use, at least) which says, "In this branch I need to touch these source files X Y Z for these reasons."
13:55 Whiteknight and increasing encapsulation for those system
13:55 kid51 Whiteknight  True, but having all tests under 't/' imposes a limit on that.
13:56 kid51 Whiteknight:  You might want to post to list on the various subsystem-specific subdirectories you envision us having.
13:56 Whiteknight kid51: yes, definitely
13:57 Whiteknight there was a planning page like that on the wiki somewhere
13:57 Whiteknight jrtayloriv: made most of my changes to the fixed-size allocator in r41069. Shouldn't affect your work
14:00 dalek parrot: r41069 | whiteknight++ | trunk (4 files):
14:00 dalek parrot: [gc] Some fixes to the fixed-size allocator code. No real functional changes, just changed what happens where. Should be neutral performance-wise
14:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41069/
14:05 jrtayloriv Whiteknight, nope, none of that is conflicting w/ anything I'm doing.
14:05 Whiteknight okay, awesome
14:05 * Whiteknight is going to disappear for a while and find food.
14:14 dalek lua: 3261341 | fperrad++ | t/package.t:
14:15 dalek lua: fix test of package.pbcpath
14:15 dalek lua: review: http://github.com/fperrad/lua/commit/32​613416fb9037a972f566fb42d152e2aa77eb09
14:48 jan joined #parrot
14:53 ruoso joined #parrot
14:54 Psyche^ joined #parrot
14:57 tetragon joined #parrot
14:57 jrtayloriv I want to add a command-line switch that will affect the GC system's init routine, so I need the value to be available to make_interpreter() (so that it is available to Parrot_gc_initialize()) -- but parseflags() is called after interp has been created. Is there a way around this, or should I just initialize the GC system to default type, and then re-initialize it later somehow if a non-default GC core was set at the command li
14:57 jrtayloriv ne?
14:57 purl ne is probably numeric though, isn't it?
15:03 Andy joined #parrot
15:11 dalek rakudo: 09b9540 | (Solomon Foster)++ | src/setting/ (2 files):
15:11 dalek rakudo: Provide Any.sin, Any.cos, Complex.sin, and Complex.cos.
15:11 dalek rakudo: Passing a $base works on the Any versions, but fails mysteriously on the Complex versions.
15:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​9b9540634797c184185b47387d5bd1c284714d6
15:27 dalek parrot: r41070 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
15:27 dalek parrot: [profiling] fix an off-by-one bug found by bacek++ which appears to solve the memory corruption bug noted earlier
15:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41070/
15:36 Whiteknight jrtayloriv: that's a very good question
15:40 Whiteknight that's probably a question for the mailing list
15:41 jrtayloriv Whiteknight, I was thinking that what might be needed is to have 2 seperate command-line arg processing functions. The first would run before Parrot_new, and would look for any args that are not imcc specific. All args that don't match the ones defined in that file would be passed on to the imcc-specific arg parsing function. If the arg is not found in the imcc arg parser, *then* an exception would be thrown about invalid args.
15:41 jrtayloriv Does that make sense?
15:41 Whiteknight cotto had a function a few days ago that parsed argv into a ResizableStringArray PMC
15:42 NotFound I'll better completely remove command line args parsing from imcc
15:42 cotto I switched to using an environment variable
15:42 Whiteknight If we did that in main(), we could pass the RSA to IMCC and to make_interpreter
15:42 Whiteknight cotto: yes, but that function may be very worthwhile now
15:42 Whiteknight especially if we want to be doing more stuff with commandline args
15:43 Whiteknight jrtayloriv: for the time being you could use an environment variable too
15:43 NotFound imcc, and his replacements, must have an api for setting options and not toy with command line arguments.
15:44 jrtayloriv Whiteknight, OK -- I'll look into that. Thanks.
15:44 Whiteknight NotFound: Agree 100%
15:47 Whiteknight That might need to be a branch-task sooner rather then later
15:48 Whiteknight I've actually got a lot of changes and refactors I want to make in startup and IMCC
15:49 * Whiteknight smells a blog post a-brewin'
15:49 jrtayloriv OK -- I'll just hold up on choosing GC at command line for now then.
15:49 jrtayloriv Not really anything to choose between right now anyway :)
15:49 NotFound And BTW, imcc must not be needed at all just for loading and running a pbc file
15:50 cotto Whiteknight, absolutely.  It'd be much better if there were a nice way to pass strings to Parrot subsystems from cli options.
15:51 cotto btw, now that the off-by-one bug is fixed, I'll be merging pluggable_runcore as soon as I figure out where the mysterious 90% decrease in running time came from.
15:51 cotto but now, church time
15:52 Whiteknight I don't want IMCC to be executing anything at all, directly. It should take a file and return a Sub
15:52 Whiteknight or, it should add Subs to the scheduler
15:52 dukeleto 'ello
15:52 Whiteknight hello dukeleto
15:53 * Whiteknight needs to go shower. Later
16:09 dukeleto test_more.pir hates me
16:15 dukeleto is there a way to tell what the current test number is from test_more.pir? i am chasing down test ordering/numbering bugs in test_more.pir
16:20 kid51 joined #parrot
16:27 dukeleto i figured it out
16:28 dukeleto print'ing to stdout from within t/library/test_more.t confuses the TAP reader
16:29 dukeleto i wasn't seeing the output with prove, but it is clear as day with ./parrot
16:32 payload joined #parrot
16:39 szabgab joined #parrot
16:41 dukeleto where do i got to learn the basics of PGE regexen ?
16:42 dalek wmlscript: 20ec319 | fperrad++ | wmls (4 files):
16:42 dalek wmlscript: remove useless .loadlib
16:42 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/20ec3196ffb5b10bcdb56aad1a68c24beaca252f
16:42 dalek wmlscript: e2c0afb | fperrad++ | src/wmlsstdlibs.pir:
16:42 dalek wmlscript: remove useless prelude
16:42 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/e2c0afb50feecd05d6e75d9525f43b0559a2d2a7
16:42 dalek wmlscript: a99bd85 | fperrad++ | src/script.pir:
16:42 dalek wmlscript: remove useless .loadlib
16:42 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/a99bd85ad7dbec80a11968169380f5860b2bc8ae
16:42 dalek wmlscript: 7809a4f | fperrad++ |  (7 files):
16:43 dalek wmlscript: refactor with the opcode load_language
16:43 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/7809a4f3b6f61f59b754981186023fa5b152639c
16:43 dalek wmlscript: 088043d | fperrad++ | config/makefiles/ (3 files):
16:43 dalek wmlscript: fix target clean
16:43 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/088043dcad152a13a463a76948f5142a4bcb03b2
16:43 dalek wmlscript: 9f8e27f | fperrad++ | config/makefiles/ (3 files):
16:43 dalek wmlscript: update target install
16:43 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/9f8e27f604bc83a4d49cc47d1f80aed0a6b0a712
16:44 sri joined #parrot
16:54 theory joined #parrot
16:55 dalek parrot: r41071 | NotFound++ | trunk/config/auto (4 files):
16:55 dalek parrot: [config] print yes or no instead of done in several auto probes result
16:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41071/
16:57 mokurai joined #parrot
17:06 paco joined #parrot
17:15 dalek parrot: r41072 | NotFound++ | trunk/t/pmc/fixedpmcarray.t:
17:15 dalek parrot: [t] test get_repr in FPA
17:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41072/
17:17 dukeleto repo has a self-signed cert now?
17:19 NotFound dukeleto: firefox does not warn in https://www.parrot.org/
17:21 NotFound Page info shows a cretificate from "Equifax Secure Certificate Authority"
17:23 dukeleto NotFound: svn warn's though :)
17:23 NotFound dukeleto: mine doesn't
17:24 dukeleto NotFound: my svn in ancient (1.4.4), perhaps that is why
17:25 NotFound dukeleto: go to the web site and verify the signature, just to be sure
17:25 jrtayloriv Whiteknight, ping
17:34 chromatic joined #parrot
17:36 Whiteknight pong
17:38 jrtayloriv Whiteknight, are there any cases where a GC subsystem would need to register different add_free_object/get_free_object/alloc_object functions for different Small_Object_Pools, or can I just move all of these into the GC_Subsystem struct, and assume there is only a single such function per GC system?
17:38 Whiteknight until recently, we did have different functions for different pools
17:39 Whiteknight we had a special PMC_EXT pool that used different functions
17:39 jrtayloriv Whiteknight, right, but that's not needed anymore right?
17:39 Whiteknight not with the current system, no. We can probably optimize out a lot of it now
17:39 chromatic PMCs with custom destruction need special handling.
17:40 jrtayloriv Is it OK for me to move those function pointers into the GC_subsystem struct then?
17:40 Whiteknight chromatic is right, the functions to free an object in a pool are different for different pools
17:41 dalek wmlscript: 5a856f7 | fperrad++ |  (3 files):
17:41 dalek wmlscript: explicit load stdlibs after load_language
17:41 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/5a856f7a9a7443e4e821752a5c4e2415f76218bf
17:41 dalek wmlscript: ac821c1 | fperrad++ | wmls2p (2 files):
17:41 dalek wmlscript: typo
17:41 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/ac821c115ba2dd0ce763381455c068fd70b86847
17:41 jrtayloriv OK.
17:41 Whiteknight Is there any major benefit to moving those functions?
17:41 Whiteknight PDD09 specifically mentions them, so we probably shouldn't change that without a big reason to
17:42 dalek parrot: r41073 | dukeleto++ | trunk (3 files):
17:42 dalek parrot: [t] Added pir_error_output_like to test_more.pir
17:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41073/
17:42 Whiteknight with that in mind, if we were able to avoid indirect function calls for every single PMC header during sweep, that would be a huge benefit
17:44 chromatic Easy solution: don't run VTABLE_destroy() then.
17:44 chromatic Think about the linked list GC; we can't run it then.
17:44 chromatic The solution will come to you with proper meditation, padawan.
17:44 Whiteknight chromatic: worse then that, sweep involves iterating over pools with callback functions to perform sweeps
17:45 sri joined #parrot
17:45 Whiteknight header_pools_iterate_callback is terrible in that regard
17:46 Whiteknight and that function calls a function pointer for every item in every pool, not just the PMCs that need active destroy
17:49 Whiteknight chromatic: I don't think there is any way we can get rid of VTABLE_destroy for all PMC types
17:50 Tene joined #parrot
17:51 chromatic We can't get rid of it.  We can call it from other places at other times.
17:52 Whiteknight ok
17:52 Whiteknight I think the sweep code could be wildly improved once we realize that it's core-specific code
17:52 dalek wmlscript: eee5889 | fperrad++ | wmlsi.pir:
17:52 dalek wmlscript: remove useless load_stdlibs
17:52 dalek wmlscript: now, only use in generated code (:load section)
17:52 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/eee58892dbc6b6b67cbdcbdee128e241612b7b27
17:53 Whiteknight whoever wrote it had the intention that it would be general-purpose code for multiple cores, and that's not reality
17:57 Whiteknight In fact, I'm going to try to inline all that code right now.
18:02 paco left #parrot
18:09 fperrad joined #parrot
18:10 Whiteknight no, that's not the right function. header_pools_iterate_callback is not what I said it was
18:13 Whiteknight this sweep code is so needlessly convoluted. I always forget how shitty this all is
18:13 mikehh i am getting a codetest failure on include/parrot/register.h: Parrot_pcc_calculate_context_size - 1 unused assert macros found in total.
18:14 mikehh no idea how to fix - hearerizer?
18:15 fperrad dukeleto, about r41073, pir_error_output_like is a bad name in test_more.pir
18:15 fperrad names must be close with P5 Test::* module equivalent
18:15 fperrad for example, Test::Warn has warning_is & warning_like
18:15 fperrad Test::Exception has throws_ok
18:15 NotFound mikehh: I'll do it, just one moment...
18:16 dukeleto fperrad: ok, i was just using the Parrot::Test name
18:17 fperrad dukeleto, throws_like is a good candidat
18:19 dalek parrot: r41074 | NotFound++ | trunk/src/gc/alloc_register.c:
18:19 dalek parrot: [cage] ASSERT_ARGS in Parrot_pcc_calculate_context_size
18:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41074/
18:22 dukeleto fperrad: ok, will do
18:27 sri_ joined #parrot
18:41 kjeldahl joined #parrot
18:41 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41074 - Ubuntu 9.04 amd64 (g++)
18:49 dalek parrot: r41075 | dukeleto++ | trunk (2 files):
18:49 dalek parrot: [t] Rename pir_error_output_like to throws_like, fperrad++
18:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41075/
18:51 cotto ATTENTION: I'm going to merge pluggable runcore.  Please don't commit anything until I've got it merged.
18:52 cotto nm.  need to run make fulltest first
18:52 paco joined #parrot
18:57 mikehh rakudo (09b9540) builds on parrot r41074 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++)
18:59 dukeleto cotto: still want us to hold off committing?
18:59 dalek parrot: r41076 | dukeleto++ | trunk/t/library/test_more.t:
18:59 dalek parrot: [t] Add basic test to make sure that like() passes when matching literal strings
18:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41076/
19:00 cotto dukeleto, yes
19:00 cotto I saw a test failure
19:00 cotto dukeleto, no, rather
19:00 cotto go ahead while I figure this out
19:01 dukeleto cotto: ok, 10-4
19:01 purl 6
19:01 paco left #parrot
19:02 pac1 joined #parrot
19:03 cotto Like everything else in life, merging is just a primitive degenerate form of bending.
19:05 dukeleto cotto: merging is fun in git :)
19:05 mikehh cardinal - builds on parrot r41074 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (g++)
19:05 cotto dukeleto, you seem to have made some pir tests sad.
19:06 dukeleto cotto: oh noes, which ones?
19:06 mikehh decnum-dynpmcs r181 builds on parrot r41074 - make test PASS - Ubuntu 9.04 amd64 (g++)
19:06 cotto most of them
19:06 purl somebody said most of them was because of the stupid 01_request failure
19:06 ruoso joined #parrot
19:06 cotto object 'pir_error_output_like' not found in current namespace
19:08 cotto are you seeing the failure in trunk?
19:08 dukeleto cotto: got it
19:09 cotto excellent
19:09 dukeleto cotto: fix is on it's way in the tubes
19:10 dukeleto cotto: i didn't do a "make clean" so my test suite passed. when I switched git branches i started seeing the failure
19:10 dalek parrot: r41077 | dukeleto++ | trunk/runtime/parrot/include/test_more.pir:
19:11 dalek parrot: [t] Fix exporting of throws_ok
19:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41077/
19:11 dukeleto cotto: it kind of sucks that we have to list the export list of test_more in 2 places, but whatev
19:12 cotto You're welcome to work on a fix.
19:12 cotto but you already knew that. ;)
19:12 cotto now let's see if those tests magically fix themselves
19:13 Ron joined #parrot
19:15 cotto dukeleto, object 'throws_ok' not found in current namespace
19:15 dukeleto cotto: hmmmmmmm
19:15 dukeleto cotto: i am running the full suite over here, as well, investimigating it
19:16 dukeleto cotto: nopaste your error so I can compare to mine when it finishes?
19:17 dukeleto cotto: t/op/annotate.t, right ?
19:17 cotto in trunk, yes
19:18 dukeleto cotto: fixed it, on it's way. sorry about making your merge more difficult
19:19 cotto don't worry about it.
19:20 dukeleto cotto; r41078 should be super-awesome for you
19:20 dalek parrot: r41078 | dukeleto++ | trunk/runtime/parrot/include/test_more.pir:
19:20 dalek parrot: [cage] Spell throws_like correctly
19:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41078/
19:21 dukeleto !facepalm
19:21 cotto amazingly awesome
19:21 dukeleto it is dangerous that running the tests via "prove" does not regenerate the test libraries, if they have changed
19:23 NotFound dukeleto: it's dangerous to not using make and assuming things are make'd ;)
19:23 dukeleto NotFound: indubiously
19:23 moritz that's why Rakudo supports 'make t/path/to/file.t'
19:24 dukeleto moritz: yeah, i like that. it makes working on one spec test very easy
19:24 dukeleto moritz: that is how I usually write perl 6 spec tests. parrot has a different workflow ;)
19:25 moritz well, one can add that make magic to parrot too, I presume
19:25 moritz (at least for GNU make)
19:25 cotto trunk make test passes.  next is trunk fulltest, then branch fulltest, then it's mergering time
19:25 moritz is there anything I should spectest with rakudo before merging?
19:27 NotFound moritz: go merge!
19:27 moritz NotFound: I won't merge, cotto does
19:27 NotFound Whatever
19:27 dukeleto moritz: mikehh is best to ask, he has been running on the bleeding edge. rakudo (09b9540) builds on parrot r41074 - make test / make spectest (up to r28195)
19:28 NotFound We'll fix anything that fails after.
19:28 dukeleto cotto++
19:29 cotto moritz, I'll let you know if anything looks like it'll hold up the merge I'm working on.
19:29 moritz cotto: sure, will do
19:32 cotto I'm seeing failures in trunk, and the look like the same ones I saw in the branch
19:35 cotto I'll ignore them for now since they're most likely not related.  make test passes, so I'll be merging now.
19:36 moritz so far rakudo's spectest on top of the branch looks clean, but it's not through yet
19:36 cotto moritz, it's not likely that you'll see a significant change.  The most interesting feature of the branch only happens when you pass -Rprofiling to parrot.
19:37 cotto The runcore changes are very unlikely to mess anything up.
19:37 moritz sure, spectesting doesn't hurt though
19:37 NotFound Did you add a do-nothing runcore?
19:37 dalek parrot: r41079 | cotto++ | branches/pluggable_runcore (31 files):
19:37 dalek parrot: sync branch to trunk in preparation for merging
19:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41079/
19:38 cotto NotFound, I added a "do-everything" runcore. ;)
19:38 NotFound Will be nice to have a do-nothing runcore and check how many tests it pass.
19:38 cotto the fast runcore is as close to do-nothing as possible
19:39 mikehh cotto: ready for more tests on the branch
19:39 bacek joined #parrot
19:39 cotto I'm merging now, so tests would be best after then
19:39 cotto argh
19:39 cotto svn: REPORT of '/parrot/!svn/vcc/default': Could not read chunk size: Secure connection truncated (https://svn.parrot.org)
19:39 cotto h8h8h8h8
19:40 mikehh that's what whiteknight was getting call in bacek++
19:42 moritz uhm, could it be that the profiling runcore is *slow*?
19:42 mikehh hay bacek
19:42 cotto moritz, the profiling runcore isn't slow.
19:42 cotto it's very slow
19:42 * bacek yawning
19:42 cotto clock?
19:42 purl cotto: LAX: Sun 12:42pm PDT / CHI: Sun 2:42pm CDT / NYC: Sun 3:42pm EDT / LON: Sun 8:42pm BST / BER: Sun 9:42pm CEST / IND: Mon 1:12am IST / TOK: Mon 4:42am JST / SYD: Mon 5:42am EST /
19:42 bacek Yes...
19:42 cotto bacek, why are you even up?
19:43 bacek No idea...
19:43 purl no idea is http://jays.net/images/noidea.jpg
19:43 * cotto passes Sleeping Vodka back to bacek
19:43 bacek It's too late for Sleeping Vodka. Or too early...
19:44 bacek hi mikehh
19:44 dukeleto bacek: which tz are you in?
19:44 cotto How about the morning vodka then? ;)
19:45 dukeleto yay, pir has the .= operator
19:45 mikehh SYD above I think
19:45 moritz ok, a simple Perl 6 file with 18 tests produces 61M of profiling information
19:45 cotto btw, how did that patch I made work?
19:45 mikehh in otherwords it's before 6am
19:45 cotto moritz, that sounds plausible
19:46 moritz ok, what do I do with it?
19:46 cotto the current format is purposefully very inefficient
19:46 cotto tools/dev/pprof2cg.pl and feed that file to kcachegrind
19:46 mikehh me I'm on LON/BST
19:47 cotto mikehh, are you in London?
19:47 mikehh no Aberdeen in Scotland
19:48 * dukeleto is in PDT, for completeness
19:48 mikehh We span the globe
19:49 cotto better than spamming it
19:49 NotFound Spanalot
19:49 cotto svn--
19:49 cotto svn.parrot.org--
19:50 Whiteknight svn is the worst
19:50 mikehh I think jonathan is in Tokyo or something like that at the moment
19:50 moritz he is, yes
19:50 Whiteknight cotto: what's the merge command you are using? I can see if it works here
19:50 NotFound Give my regards to Godzilla
19:51 Whiteknight (it didn't last night, so SVN owes me)
19:51 fperrad left #parrot
19:52 cotto Whiteknight, svn merge https://svn.parrot.org/parro​t/branches/pluggable_runcore .
19:52 cotto (from a co of trunk)
19:53 Whiteknight no -r?
19:53 cotto 1.5+ doesn't need it
19:53 MoC Re jonathan: Private visit or official business?
19:53 cotto (svn version, that is)
19:54 moritz MoC: afaict private, plus a bit visiting of asian Perl conferences, or so
19:54 MoC Ok
19:54 Whiteknight it's thinking....
19:55 Whiteknight svn REPORT error here too
19:55 Whiteknight damnit
19:56 Whiteknight cotto: did you update the branch from trunk>?
19:56 cotto yes
19:57 Whiteknight bacek! you still awake?
19:57 cotto I have a patch, but it loses all the metadata and doesn't add the files to the repo.
19:57 Whiteknight well that's no good
19:57 cotto I can make it work, but I'd much prefer a saner approach.
19:58 Whiteknight yeah
19:58 Whiteknight I had this exact same problem with a merge last night, and bacek fixed it after I went to sleep
19:58 Whiteknight said something about the branch needing to be updated
19:58 bacek Whiteknight: barelly
19:58 Whiteknight bacek: How to fix branch merge problem?
19:58 mikehh I got  svn, version 1.5.4 (r33841) - compiled Aug  7 2009, 02:02:06
19:59 Whiteknight (and then you can go to sleep)
19:59 bacek Whiteknight: I just use git, merge everything locally, cleanup stuff, commit to svn
19:59 Whiteknight oh, okay
19:59 Whiteknight thanks
20:00 * Whiteknight has to get git eventually
20:00 Whiteknight actually, I have git, but I don't have any idea how to use it
20:00 mikehh I got git but don't use git-svn
20:00 mikehh yet
20:01 cotto Can someone do the merge or should I go with the caveman approach of applying a patch and cleaning up the resultant mess?
20:01 bacek cotto: pluggable_runcore?
20:01 Whiteknight cotto: I just updated branch from trunk and a lot of properties and stuff changed
20:01 cotto (or is there a svn invocation that I should be using instead)
20:01 cotto bacek, yes
20:01 bacek sigh
20:01 cotto orly?
20:01 purl YA RLY.
20:02 bacek git-svn isn't perfect in handling branches which was synced with trunk using svn.
20:03 bacek cotto: did you sync branch with trunk already?
20:03 Whiteknight http://archives.devshed.com/forums/development-94​/secure-connection-truncated-problem-2203895.html
20:04 cotto bacek, yes
20:04 bacek ~10 conflicts on merging with trunk. Let me check it.
20:05 Whiteknight it looks like lots of other people on TEH INTERWEBZ are experiencing similar problems
20:06 cotto bacek, can you do the merge?
20:07 mikehh yeah but it doesn't give a solution
20:07 bacek cotto: in progress
20:07 cotto bacek, thanks a bunch.
20:07 mikehh bacek++ to the rescue
20:11 bacek I can dcommit merge, but it was few conflicts here.
20:12 japhb pmichaud, ping
20:13 cotto bacek, can't those be resolved?
20:13 bacek Ok. Let me run make test. If it passed - I'll dcommit merge. We can fix other failures later in trunk.
20:14 bacek cotto: I resolved them already. But I'm not 100% sure about correctness of my resolution...
20:14 cotto ok
20:14 cotto I
20:14 cotto I'll check it out.
20:15 bacek cotto: "runcode_print_start_info" still exists in branch?
20:16 cotto it doesn't
20:17 bacek ok
20:17 bacek Parrot_gc_profile_start?
20:17 bacek and ..._end?
20:18 cotto start, no.  end, yes
20:18 cotto that sounds broken
20:19 bacek hmm... Why keep _end?
20:19 cotto I don't know.
20:19 cotto It's probably accidental.  There's only one instance in src/gc/gc_malloc.c
20:19 bacek Ooookey. Can I remove it?
20:20 cotto go for it.  The file clearly isn't built or we'd see some linker errors.
20:25 bacek src/runcore/cores.c: In function ‘opcode_t* runops_switch_core(parrot_interp_t*, Parrot_runcore_t*, opcode_t*)’:
20:25 bacek src/runcore/cores.c:1415: error: expected initializer before ‘->’ token
20:25 japhb pmichaud, Tene, jonathan: pinging an NQP hacker ...
20:26 bacek cotto: Bah. It was g++. Let me try with gcc.
20:27 treed I think Tene is AFK.
20:27 treed His IM says so, anyway.
20:27 treed Actually, he's offline for once.
20:27 bacek cotto: hmm... Same problem
20:28 cotto This is a lovely mess.
20:30 japhb treed, OK, thanks.  Seems I caught everyone at the wrong time.  :-(
20:32 Whiteknight I updated branch from trunk, changed a few properties. I'm going to try the merge again now
20:32 bacek cotto: shit... #line somewhere confused gcc
20:33 Whiteknight And I sent a message to the list about all this bullshit
20:33 pmichaud japhb: pong
20:33 dalek parrot: r41080 | whiteknight++ | branches/pluggable_runcore (9 files):
20:33 dalek parrot: [pluggable_runcore] updated from trunk, which changed a few file properties
20:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41080/
20:33 Whiteknight because development is going to be a complete pain in the ass if this problem doesn't get resolved soon
20:34 Whiteknight ...no dice
20:34 Whiteknight damnit
20:34 japhb pmichaud, I've got the afternoon to work on Plumage ... I'm testing stuff now, but I wanted to know if any changes other than Tene's HLL interop eval() implementation got into NQP.  Especially the private attributes.
20:34 bacek cotto: Found it.
20:35 * japhb has been effectively away from Parrot for about 1.5 weeks ...
20:35 japhb Hmmm, almost 2, actually, sigh.
20:35 pmichaud japhb: nothing significant since Tene++'s eval changes
20:35 bacek japhb: 2 weeks? It's equal to "for ages"! :)
20:35 pmichaud this week I've been fixing up some rakudo stuff in prep for doing the NQP changes
20:35 japhb pmichaud, OK, thanks, I'll work on other stuff
20:35 japhb bacek: yes, sadly.  I'm calling in favors just to get this time.  :-(
20:35 bacek cotto: ok. It compiles.
20:35 purl Ship it!
20:36 japhb pmichaud, nodnod, cool beans
20:37 cotto bacek, does that mean it's merging time if make test passes?
20:37 bacek cotto: yes
20:37 bacek Let's clean all mess later (if any)
20:38 bacek make test passed.
20:39 nopaste "bacek" at 114.73.130.183 pasted "Final diff between trunk and pluggable_runcore" (39 lines) at http://nopaste.snit.ch/17849
20:40 cotto whatever.  merge that sucker and let's get on with it!
20:41 bacek shipped
20:41 bacek r41081
20:42 dalek parrot: r41081 | bacek++ | trunk (40 files):
20:42 dalek parrot: Merge pluggable_runcore branch into trunk.
20:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41081/
20:42 cotto awesome.  now it's nap time
20:42 japhb How do you iterate over a hash in NQP?
20:42 * bacek is THE MERGE MASTER
20:42 japhb In particular, I'm trying to iterate over %VM, the Parrot config hash ...
20:43 japhb bacek++
20:45 chromatic joined #parrot
20:46 mikehh ok hittin' the test run
20:46 Whiteknight treed: ping
20:46 Whiteknight mikehh: me too
20:46 treed Yo.
20:46 Whiteknight treed: is parrot building for you again?
20:47 NotFound src/runcore/cores.c:1259: error: cast from ‘PMC*’ to ‘unsigned int’ loses precision
20:47 bacek Whiteknight: just add asserts in Parrot_pcc_* functions.
20:48 Whiteknight okay
20:48 bacek NotFound: g++?
20:48 Whiteknight I've got failures in t/pmc/thread.t
20:48 NotFound bacek: yes, in amd64
20:48 Whiteknight t/pmc/threads.t
20:48 treed Whiteknight: I haven't checked lately.
20:48 bacek cotto: Wake up! :)
20:49 Whiteknight treed: I think dukeleto fixed some configuration issues
20:50 japhb pmichaud, How do you iterate over a hash in NQP?  If it matters, I'm trying to iterate over %VM, the Parrot config hash ...
20:50 dukeleto treed: you should get a warning during Configure.pl now if you have an installed parrot that will conflict with the build process
20:50 contingencyplan joined #parrot
20:51 Whiteknight t/pmc/threads.t fails with the switch core but looks fine on the slow core
20:51 bacek Whiteknight: 2-3, 7?
20:52 Whiteknight bacek: 3 only
20:52 Whiteknight bacek: why arent you back in bed now?
20:52 bacek Whiteknight: try add "print ''" after thread.'join'()
20:53 bacek Whiteknight: it's too late for bed...
20:54 darbelo joined #parrot
20:54 treed dukeleto: Is that what the problem was?
20:54 dalek parrot: r41082 | mikehh++ | trunk (3 files):
20:54 dalek parrot: fix svn properties
20:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41082/
20:54 treed I've been able to build Parrot without any problems.
20:54 treed My build issues were on cardinal.
20:54 NotFound Do you expect that op_time requires a long long?
20:55 treed Where it was failing to build because parrot_config doesn't work.
20:55 treed See iss #977.
20:56 dukeleto treed: the parrot build scripts were not giving proper warning on darwin when an installed parrot would give odd errors during the build, because of the order or included library directories
20:56 treed During which build?
20:56 treed Parrot depends on an installed parrot while building?
20:56 dukeleto treed: so my build was failing because it was using an installed parrot during the build
20:57 treed I don't think I was having that problem.
20:57 treed My parrot built fine and passed make test.
20:57 dukeleto treed: if you have an installed parrot already with the same version number as the one you are building, during the build process, you will be using the installed parrot instead of the one in your build directory
20:57 dukeleto treed: it looked like a similar issue, but I guess it wasn't
20:58 chromatic That should only be a problem when we change bytecode compatibility.
20:58 dukeleto treed: i couldn't build parrot for 2 days until I figured out my installed parrot was borking my build. someone added warnings to the build scripts, but they didn't check for the proper shared library extensions on darwin
20:59 bacek chromatic: no. It's not PBC vs PBC. It's .so vs .so
20:59 nopaste "NotFound" at 213.96.228.50 pasted "Fixes after r41802" (36 lines) at http://nopaste.snit.ch/17850
21:00 Whiteknight bacek: that fixed it (but is remarkably hackish)
21:00 chromatic The problem I had was PBC versus PBC.
21:00 NotFound Some objection to that fixes?
21:01 bacek Whiteknight: nopasted patch? I have no idea about how profiling works...
21:01 treed dukeleto: Ah.
21:02 Whiteknight bacek I added print '' after thread.'join'()
21:03 Whiteknight it only fails on the -S core
21:03 bacek Whiteknight: yeah... Some problem with IO flushing. I didn't dig in it.
21:03 Whiteknight urg
21:05 dalek parrot: r41083 | NotFound++ | trunk/src/runcore/cores.c:
21:05 dalek parrot: [cage] fix c++ errors, warnings, and cstring freeing
21:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41083/
21:07 Whiteknight this branch did bump my coretest time from ~38s to ~42s
21:12 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41082 - Ubuntu 9.04 amd64 (gcc)
21:12 ttbot Parrot trunk/ r41082 cygwin-thread-multi-64int make error http://tt.ro.vutbr.cz/file/cmdout/83834.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:13 mikehh now I can try with g++ - NotFound++
21:15 dukeleto ttbot found "CLOCK_PROF' undeclared"
21:20 dukeleto Whiteknight: were any coretests added in the branch?
21:20 Whiteknight none that I know of
21:22 bacek Anyway, merge commit require close reviewing. I'm not sure that I resolved all conflicts properly.
21:25 bacek Can we switch to git? Pleeeaase. I've lost most of Sunday in merging branches :/
21:27 dalek rakudo: 205733f | moritz++ | build/PARROT_REVISION:
21:27 dalek rakudo: bump PARROT_REVISION to a value later than the pluggable_runcores merge
21:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​05733f972a021198510d58cdc45b83609a1107d
21:27 ttbot Parrot trunk/ r41083 cygwin-thread-multi-64int make error http://tt.ro.vutbr.cz/file/cmdout/83849.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:30 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41083 - Ubuntu 9.04 amd64 (g++)
21:32 Tene bacek: iirc, chromatic has some serious complaints about git.  You might start the conversation with him.
21:32 * bacek passing baseball bat to chromatic :)
21:33 bacek Tene: he already use it for MBP, btw.
21:33 Tene chromatic: what is your ci alias for git?
21:33 chromatic Now it's 'git commit'.
21:34 chromatic Leto or Schwern suggested 'git commit -a', which wasn't what I wanted for git-svn.
21:34 chromatic Provided that the default workflow for git is easy to explain (and I think it can be), I have no technical objections to using Git for Parrot.
21:35 chromatic I wouldn't consider migrating until after 2.0 at the earliest though.
21:35 bacek Hooray!
21:35 Coke dukeleto: "parrot is faster than perl 5 for many things". Can you name one?
21:36 Whiteknight I'm happy to use git if I can learn how to use it adequately
21:36 nopaste "bacek" at 114.73.130.183 pasted "Fast parrot for Coke++ :)" (31 lines) at http://nopaste.snit.ch/17851
21:37 mikehh rakudo (09b9540) builds on parrot r41083 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++)
21:37 dukeleto coke: i have some euler_bench benchmarks to back that up in http://github.com/notbenh/euler_bench/tree/master
21:37 bacek Whiteknight: just read "Git book"
21:37 dukeleto progit.org is really good
21:37 chromatic You really do have to understand how Git tracks content to appreciate it.
21:37 Coke bacek: given that those two things generate different output, I'm hesitant to believe you. =-)
21:37 dukeleto i am more than willing to help everyone learning git. git-svn is so much worse than just plain git :)
21:38 bacek Coke: Bah! Off by one :)
21:38 * Tene also volunteers.
21:38 Coke bacek: also, counting is a pretty lame comparison. =-)
21:38 Whiteknight bacek: I've read it. It's full of all sorts of stuff that I don't care about
21:38 Coke I know of no HLL's that can deal with raw nums.
21:39 Coke but ok, that's one thing. =-)
21:39 dukeleto i would highly suggest for everyone to read the first commit to git.git by Linus. it conveys the core structure of git and is heavily commented with elucidating design decisions
21:39 bacek Whiteknight: than just "google://git magic". It was very good set of articles with this title.
21:40 Whiteknight I don't care anything about the philosophy or design decisions that went into the program. I only care about doing the equivalent of svn checkout, svn commit, svn update and svn merge
21:40 chromatic Whiteknight, the realization that made Git click for me is how it uses SHA-1 to identify individual components within a commit as well as commits themselves.
21:40 NotFound If we switch to git, I don't care about design decision or philosophy, just need no know how to use it.
21:40 Coke cotto: 1.5s vs. 4m15s ... you got the original to run in under two second?!?!?! =-)
21:40 Whiteknight NotFound: agreed
21:41 dukeleto git keeps track of "blobs" of content, which it represents by sha1's. repeated blobs are stored as references to the same sha1, which is why git is so damn space-efficient
21:41 Coke are folks still having SVN trouble?
21:41 moritz NotFound: thing is, at some point you have to understand the design to work with git efficiently
21:41 Coke (the ssl cert was updated today)
21:41 chromatic I don't care about space efficiency, but a file with identical contents is the same no matter what commit graph you use to create it.
21:41 Whiteknight Coke: we haven't tried another branch merge since last time
21:41 dukeleto git gc is the command to allow git to rearrange it's internals for faster access
21:41 moritz NotFound: I thought I could avoid it, but I couldn't
21:42 dukeleto git repack as well
21:42 Coke bacek: why do your commit messages have the "conflicts" section?
21:43 Coke if there are conflicts, don't merge, if you fixed them, don't leave them in the commit message...
21:43 bacek Coke: just to be sure, that I can review commit after.
21:43 NotFound moritz: if that is true then my vote is against the switch
21:43 bacek Coke: and they are in branches only.
21:44 Whiteknight I'm with NotFound. There are only a handful of operations that I want to be able to do, and do without worry
21:44 Coke (branches only) fair enough
21:44 moritz well, you can do a few operations without understanding the architecture
21:44 chromatic Cheap and easy branching and merging with Git finally convinced me.
21:45 Tene NotFound: Please note that moritz included "efficiently"
21:45 Tene moritz: Everyone at my office uses git regularly, and only two of us really understand gits internals.
21:45 NotFound Please don't use buzzwords }:)
21:45 dukeleto coke: i am pretty sure that the first few, very simple euler project problems in the euler_bench repo all have parrot above perl5. i can do a test run and send you the results if you like
21:45 Tene So I very much disagree that you need to understand it to use it competently.
21:46 Coke dukeleto: as long as you measured them, I believe you.
21:46 NotFound I'm not interested in doing bisections or having one hundred branchs in parallel, for example.
21:46 Coke Working in partcl has made me very suspicious of speed claims. =-)
21:46 dukeleto coke: that was months ago. parrot is probably even faster now :)
21:46 bacek morning duties and $dayjob time
21:46 bacek See you!
21:47 dukeleto coke: there is a lot of slowness in being an HLL still. rakudo is way slower than ruby still. but parrot itself is pretty fast
21:47 Coke dukeleto: ... parrot got much slower after recent branch merges.
21:47 Coke dukeleto: Yes, but that doesn't help.
21:47 Coke since most of the final comparisons are going to be HLL's versus other HLLs.
21:47 dukeleto coke: this is why we are trying to hook euler_bench up to the parrot repo, so we can see performance changes with each merge/etc
21:47 Coke if we have all this overhead to make FOO on parrot work like FOO, then it doesn't matter that parrot itself is faster.
21:48 NotFound Easy solution: use a language that doesn't have a non-parrot version for compraisons X-)
21:48 Coke (except insofar as it makes foo on parrot less slow)
21:49 Coke dukeleto: relative speed tracking ++, though.
21:49 dukeleto coke: there are erlang solutions in euler_bench
21:50 * Coke wonders if he can run the profiler on feather (linux) and somehow get a pretty cachegrind picture back to his windows or mac boxes.
21:50 dukeleto it should be possible to install kde libs on darwin, right ?
21:51 * Coke ups parrot and kicks off another spec test run.
21:53 dukeleto euler_bench, for example, would be good at telling us if parrot trunk is much slower than parrot 1.5.0
21:59 mikehh Coke: we seem to be getting segfaults again after the latest merge - in make test in partcl
22:00 Coke mikehh: P(*#&$(@*#&$
22:00 Coke mikehh: could you do me a favor and open tickets for them in partcl?
22:00 Coke partcl?
22:00 purl partcl is tcl on parrot or http://code.google.com/p/partcl
22:01 Coke (then I can grab the backtraces and open parrot tickets for them and assign them to the (*#&@$# commiters that (*&#$# merged them. =-)
22:01 * Coke is glad he didn't post the "hey, things are getting better" post to partcl's blog.
22:03 tetragon joined #parrot
22:03 chromatic The universe always punishes *you* for hubris with irony.
22:03 * Whiteknight is leaving. Laterz
22:06 dalek parrot: r41084 | NotFound++ | trunk/src/runcore/cores.c:
22:06 dalek parrot: [cage] some more cstring free fixes
22:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41084/
22:07 theory joined #parrot
22:13 dalek parrot: r41085 | tene++ | trunk/ext/SQLite3 (3 files):
22:13 dalek parrot: Minor ext/SQLite3 fixes
22:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41085/
22:14 nopaste "darbelo" at 190.3.155.110 pasted "[PATCH] Kill another strstart use." (21 lines) at http://nopaste.snit.ch/17852
22:14 * Coke doesn't hear back from mikehh++ so kicks off a spectest of his own.
22:15 darbelo can someone on a JIT-enable platform test http://nopaste.snit.ch/17852 for sanity.
22:16 jrtayloriv chromatic, what is your opinion on the names Var_Size_Obj_Pools and Fixed_Size_Obj_Pools, as a replacement for Small_Obj_Pools and Memory_Pools respectively? I ran the names by whiteknight a day or two ago, and he seemed to like them, but I wanted to get more opinions, and you seem to have done a lot with the GC system.
22:17 jrtayloriv I'm trying to come up with a consistent naming scheme for things in the GC system, so that it is easier to see what is going on.
22:17 Coke wow. while.test has slowed down from 50s (chromatic's recent fixes) to 1m10s, and now ends with a segfault.
22:18 Coke I think we should add "run partcl's spectest" to the pre-merge checklist. :|
22:18 jrtayloriv chromatic, oops -- var_sized for Memory and fixed_size for small_obj ... you know what I meant :)
22:18 * Coke hesitantly kicks off a full run. :|
22:22 chromatic I find Variable_sized_pool and Fixed_size_pool clearer still.
22:23 nopaste "darbelo" at 190.3.155.110 pasted "[PATCH] Kill another strstart use (improved)." (41 lines) at http://nopaste.snit.ch/17853
22:23 NotFound There is some reason to Eval extends Sub ?
22:24 darbelo Actually it would be better for people with JIT to test test http://nopaste.snit.ch/17853 which make that same change to another file as well.
22:25 jrtayloriv chromatic, Ok -- the reason I chose var is for long function names like initialize_var_size_obj_pools vs. initialize_variable_size_obj_pools -- so you would just remove the "obj" and change it to use the full word "variable"?
22:25 chromatic Yes.
22:25 jrtayloriv ok, thanks.
22:26 chromatic I don't know that obj adds any clarity.
22:26 jrtayloriv Yes, it's kind of unnecessary. "Objects" is about is uninformative as you can get.
22:27 chromatic Anyone working that deep in the GC should know what a pool contains already.  The important part is what's in the pool.
22:28 chromatic Hm, 15% slower in the past day.
22:29 chromatic Hang on, that's not right.
22:30 chromatic 3% slower.  That's better.  Not okay, but better.
22:31 chromatic We're running the garbage collector more often.
22:31 chromatic 25.4% more often.  There's the slowdown.
22:33 chromatic Parrot_gc_mark gets called more often, but is that the problem or a symptom?
22:36 chromatic Hm.
22:37 Tene yay, segfault when trying to wrap sqlite!  The segfault is in sqlite code, so likely not a parrot issue.
22:42 dukeleto tene: passing an invalid pointer?
22:42 rg joined #parrot
22:46 ttbot Parrot trunk/ r41085 cygwin-thread-multi-64int make error http://tt.ro.vutbr.cz/file/cmdout/83965.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
22:47 NotFound partcl is having segfaults at Eval.destroy
22:47 mikehh Coke: had to take the dog out - a bit better at r41085 - not as many failures in make test
22:49 mikehh NotFound++
22:55 NotFound mikehh: Do you have an idea?
22:56 mikehh NotFound: looking
22:56 mikehh there has been no recent change in eval.c that I can see
22:57 mikehh last changed by you at r40760
23:00 japhb OK, I'm clearly going blind.  Why are other denizens of compilers/ being installed, but not compilers/json/?  As far as I can tell, it's mentioned in the same ways in Makefile and MANIFEST as, for example, pge.  But there's clearly something missing, because it's clearly not installed ...
23:00 dukeleto japhb: is it in MANIFEST.generated ?
23:01 dukeleto that is where installed files live
23:01 japhb yes
23:01 dukeleto or the locations of them, anyway
23:01 japhb erm, but pge isn't.
23:01 japhb Hum.
23:02 dukeleto japhb: perhaps the install script is filtering them out for some reason
23:02 japhb oh, nm
23:03 japhb WTF? compilers/nqp and compilers/json are mentioned in MANIFEST.generated, but not pge or tge
23:03 japhb This is still not making any sense to me
23:04 japhb I can't see anything in tools/dev/install{_dev,}_files.pl that would filter json out
23:05 Topic for #parrotis now http://www.parrot.org | Add test after fixing bugs after context_pmc3 merge | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON
23:05 japhb AH, wait
23:06 japhb default for 'packages' is hardcoded.  Searching ...
23:07 japhb OK, I think I see it.  /me tries a fudging
23:10 darbelo Hm. Is pirc functional and/or tested?
23:13 japhb darbelo, Last I heard it was unfinished, but I have not checked status in a month or two
23:13 dalek parrot: r41086 | cotto++ | branches/pluggable_runcore:
23:13 dalek parrot: pluggable_runcore has been merged so delete the branch
23:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41086/
23:14 darbelo I just spotted some ->strstart there, was wondering if it was worth diving in for a fix.
23:15 jrtayloriv chromatic, any reason for me not to delete this paragraph from docs/memory_internals.pod? -- http://pastebin.com/d5400f93e
23:15 chromatic Go ahead.
23:15 jrtayloriv cool, thanks
23:16 dukeleto darbelo: there is a git repo for pirc
23:16 dukeleto darbelo: github, that is
23:16 darbelo How does it differ from compilers/pirc/ in the parrot tree?
23:18 dukeleto darbelo: take a look http://github.com/bacek/pir/tree/master
23:18 Tene japhb: if you intend to get compilers/json/ to work as an installed language, you'll need to lowercase JSON.pbc to json.pbc
23:19 japhb Tene, step one is even getting the damn file copied into place during installation in the first place
23:20 japhb or are you saying that install_dev_files.pl will ignore uppercased files?  'cause that would kinda suck.
23:20 Tene japhb: I have no idea how the install process works.  I tried to work it out for json earlier, but failed.
23:20 japhb Hmmm, uppercase files are installed for PCT, PGE, and TGE, so that can't be it
23:21 Tene japhb: the issue is that HLL stuff is currently broken with names that contain uppercase letters, if you want to use them in the standard way
23:21 japhb Tene, nodnod.  We should probably improve that.
23:21 Tene Yes, we should, and there's a ticket, but nobody cares enough yet.
23:22 Tene there are a few things that do lowercase everything, like the .HLL directive, and a few things that don't, so there ends up being a mismatch.
23:22 japhb .oO( Dang it, three hours of precious, precious hacking time *wasted* on this damn install problem ... )
23:23 Tene japhb: I would personally just stick something in runtime/parrot/languages/json/
23:23 japhb Tene, it has to be fixed at some point.  And since I'm working on an install tool, I bloody well need to understand how our installation is broken.  ;-)
23:24 Tene japhb: yes, but from what I understand of what the different directories are for, it probably should be in languages/ anyway
23:25 Tene but, yes, you're certainly right.
23:25 japhb Tene, things under compilers/ get moved to languages/ during install.
23:26 darbelo dukeleto: That's not the one I meant :) the pirc in "compilers/pirc/" is the (unfinished) IMCC replacement.
23:26 Tene japhb: looks like the difference between PGE and json is in MANIFEST
23:27 dukeleto darbelo: i thought that was what that was
23:27 jrtayloriv chromatic, As far as struct Arenas, I was thinking about renaming it to Memory_Pools, since that's what it holds. Since I'm renaming Memory_Pool to Var_Size_Pool, there should be no confusion (and Memory_Pools is in the plural anyway). The pools actually do contain arenas, so the Small_Object_Arenas would be still be called Fixed_Size_Arenas, etc. Does that make sense to you as well?
23:27 japhb Tene, nopaste?  I thought I had (mentally) reconciled all the differences there ...
23:27 Tene japhb: if your model disagrees with mine, trust yours.
23:27 * japhb trying a new build right now
23:28 chromatic jrtayloriv, I can't visualize that for some reason.
23:28 chromatic Lack of concentration on my part, I'm sure.
23:28 jrtayloriv chromatic, Would you like me to rephrase it, or is now just not a good time?
23:29 japhb HAH!  OK, got the damn file installed.  Now to deal with uppercase/lowercase problem ...
23:30 japhb Tene, where is the problem?  (What file do I need to try to hack?)
23:30 chromatic Now's apparently not a good time... but the words are all pretty confusing.
23:30 jrtayloriv ok, no problem.
23:31 Tene japhb: there are several different places that do it, and I can't remember them all.
23:31 japhb Tene, tsk tsk.  You're supposed to have perfect recall!  ;-)
23:31 Tene .HLL is the big one, I think compreg might do it, you'll need to check HLLCompiler...
23:32 Tene load_language, maybe
23:32 Tene I don't think so, but maybe.
23:32 japhb oh dear.  That's a lot of places for the same bug.  OK, searching
23:33 Tene japhb: it was part of the design, originally, and then we tried to use it and discovered that it sucks.
23:33 japhb heh
23:33 Tene japhb: also, if you fix it, any HLL that uses a .HLL with uppercase letters might break.
23:33 Tene I think TCL used to, don't remember if I changed it or not.
23:33 Tene rakudo did until I fixed it.
23:34 japhb Tene, I was going to have a "1. Try exact case match.  2. If fail, try lowercase."
23:34 Tene I don't *think* pynie does...
23:34 Tene japhb: oh.  That won't quite work.  Even things like namespaces are involved.
23:34 japhb oh, frack.
23:35 Tene if I say ".HLL 'FOO'", it puts things in the 'foo' root namespace.
23:35 Tene I think.
23:35 Tene Like I said, I don't quite remember exactly where the few places that lowercased things are.
23:35 Tene but the big issue comes down to:
23:35 japhb Most calls to compreg use mixed case, not lowercase
23:36 Tene If I want to eval something in the 'JSON' language, I need to 1) load_language 'JSON', which will look for languages/JSON/JSON.pbc
23:36 Tene which won't work right now anyway, because it's in an lcase dir
23:37 Tene and then the 'eval' function needs to know to call compreg with a lowercased argument
23:37 Tene which is bad, because then when we fix it, eval and inter-hll library loading will break.
23:37 Tene So I don't do it.
23:38 japhb bleah
23:38 Tene see why I said "just make everything lowercase"?
23:38 japhb Yes, I do.
23:38 Tene :)
23:39 japhb But we need to bite the bullet at some point, and this kind of thing is why we declared the whole mess 'experimental'.
23:39 Tene https://trac.parrot.org/parrot/ticket/777
23:39 NotFound If we convert all to lowercase, later we can fix the issues without risk of breaking something
23:39 nopaste "dukeleto" at 69.64.235.54 pasted "parrot trunk build failure related to hires timers on darwin-x86" (70 lines) at http://nopaste.snit.ch/17854
23:40 dukeleto parrot trunk currently does not compile for me
23:41 Tene I'm more concerned about fixing https://trac.parrot.org/parrot/ticket/150
23:41 NotFound Tene: did you see the patch I nopasted yesterday?
23:42 Tene NotFound: what patch about what?
23:42 Tene (that is to say, probably not)
23:42 NotFound Tene: one moment....
23:43 darbelo dukeleto: It looks like darwin doesn't have a a clock_gettime function.
23:43 * dukeleto makes a sad face
23:43 darbelo That *sucks*.
23:43 ilbot2 joined #parrot
23:43 Topic for #parrotis now http://www.parrot.org | Add test after fixing bugs after context_pmc3 merge | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON
23:43 NotFound Tene: this one
23:43 purl this one is bugged too now
23:43 Tene NotFound: I didn't see that.  Does it work?
23:44 darbelo dukeleto: clock_gettime is needed by the profiling runcore, but I don't know of any ways to not build it. You'll have to ask cotto about this one.
23:44 NotFound Tene: at least it doesn't break parrot, but I don't checked the ticket, was unable to find it
23:45 Tene NotFound: if it works on those examples, then yes, that should be good to commit.  Ideally, we need a way to register PMCs in a specific HLL, but this is a good workaround for now.
23:46 dukeleto darbelo: perhaps gettimeofday() should be used on darwin ?
23:46 NotFound Tene: I'll try it tomorrow, now is too late for me.
23:46 Tene where "for now" means "until there's a demand for that"
23:47 japhb Tene, When I look in parrot_install/lib/1.5.0-devel/languages/ , all of the directories are lowercase, and all the .pir files are uppercase *except* nqp.pir and parrot.pir.  Am I correct in assuming that this means only nqp and parrot work with load_language?
23:47 NotFound Anyway, the way to register pmc must be independent on the context where the load_bytecode is executed
23:48 darbelo dukeleto: I guess you could fake it that way, yes. I'll have a look.
23:48 dukeleto darbelo: it is only 1 microsecond ticks, but that is what Devel::NYTProf2 does
23:48 Tene japhb: I haven't confirmed that nqp works with load_language, but I'd be shocked if the others did, so you're probably correct.
23:49 dukeleto darbelo: thanks, I would like to compile parrot :) i may work on making the profiling stuff optional in Configure.pl
23:50 * japhb gets past one block only to hit another ...
23:51 japhb "load_bytecode" couldn't find file 'compilers/json/JSON/grammar.pbc'
23:51 japhb Which is because that didn't get switched to languages/
23:51 Tene japhb: I suspect that JSON hasn't been worked on in ages, iirc.
23:51 japhb Tene, not surprised
23:52 Tene Oh, wow, there's an apparently-working patch for tt#757, which I was blocking on to make threading work in rakudo...
23:52 Tene I should attempt to review it.
23:52 Tene ... after more sqlite stuff. :)
23:55 dukeleto darbelo: NYTProf.xs in the Devel::NYTProf code has a lot of good links with explanations about gettimeofday/get_clocktime
23:57 japhb Tene, looks like asciiville join #perl6 a bit less than an hour ago ... he might be able to explain why he didn't use the existing SQLite code in Parrot ...
23:59 mikehh Coke: I am getting different make test results when I rerun the test

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced