|
Parrot 1.7.0 "African Grey" is out! | Fix issues caused by the pcc_reapply and context_auto_attrs merges | find out what's up with the slice opcode | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 1 November 2009. |
|||
| darbelo | plobsing: branching... | 00:00 | |
| purl | i think branching is weak compared to, say, perforce | ||
| plobsing | purl forget branching | ||
| purl | plobsing: I forgot branching | ||
| darbelo | plobsing++ | ||
| <purl--> | |||
|
00:01
mokurai1 joined
|
|||
| dalek | rrot: r42282 | darbelo++ | branches/libjit_frame_builder: Create a new branch for plobsing's work on the libjit frame builder. This supersedes the auto_libjit branch. |
00:01 | |
| rrot: r42283 | darbelo++ | branches/libjit_frame_builder (8 files): Apply the patches from TT#1147 (update nci.pmc for pcc_reapply) to the new branch. |
00:08 | ||
| rrot: r42284 | darbelo++ | branches/libjit_frame_builder/NativeCall.pm: Oops. Forgot one file. |
|||
| chromatic | Thanks, darbelo. | ||
| plobsing | darebelo++ | ||
| darbelo | For forgeting the file? You are welcome. | 00:10 | |
| Two more patches to go. | |||
| chromatic | For applying the patches. | 00:11 | |
| darbelo | ;) | ||
| plobsing | for making mistakes. | ||
| otherwise I'd asume you were a cleverly coded bot | 00:12 | ||
| ;-) | |||
| darbelo | plobsing: I am. | ||
| japhb | You know, I think nqp-rx demonstrates the "whirpool build method". Maybe since it's building up it would be the "waterspout build method". | ||
| er whirlpool | 00:13 | ||
| leto | plobsing: just to let you know, i didn't forget about reviewing that branch, I just fell asleep last night. do you still need that review? | 00:22 | |
| plobsing | leto: that would be nice. | 00:23 | |
| leto: btw, darbelo++ is applying this in a new branch in svn | |||
| calculus | allison: my favorite person! ... I have a patch for you to make builds better on os x | 00:26 | |
| Whiteknight | in NQP, how do I get a handle to a Sub? | ||
| calculus | it makes it so there is no need to call install_name_tool after installing and to build on 10.5 | 00:27 | |
|
00:28
payload joined
|
|||
| dalek | rrot: r42285 | darbelo++ | branches/libjit_frame_builder (23 files): Port over the auto_libjit changes into the new branch. |
00:28 | |
| darbelo | plobsing: is it possible thatthe last patch in your series is reversed? | 00:29 | |
| plobsing | darbelo: quite possible. | ||
| darbelo: I'll get you a better one | |||
|
00:29
payload joined
|
|||
| darbelo | plobsing: no need to, just checking. | 00:31 | |
| plobsing | darbelo: looking at the git tree, that patch accidentally contains some commits to trunk | 00:32 | |
| darbelo | to PLATFORM, MANIFEST and ChangeLog ? | 00:35 | |
| dalek | rrot: r42286 | darbelo++ | branches/libjit_frame_builder/config/auto/libjit.pm: Another frgotten file. |
||
| plobsing | darbelo: nopasting | ||
| nopaste | "plobsing" at 76.68.74.120 pasted "1st post_merge patch" (1267 lines) at nopaste.snit.ch/18585 | 00:36 | |
| "plobsing" at 76.68.74.120 pasted "2nd post_merge patch" (58 lines) at nopaste.snit.ch/18586 | |||
| darbelo | ok, I apply only the two nopastes? | 00:37 | |
| plobsing | those patches, applied in sequence excise the trunk commits (which probably already exist on the new branch) | ||
| allison | calculus: how can I resist?! | ||
| plobsing | darbelo: thats the plan | ||
| darbelo: they replace only post_merge.patch | |||
| darbelo | plobsing: ok, I'm on it. | ||
|
00:38
particle joined
|
|||
| allison | calculus: can you submit it as a ticket? I'll look for it in the morning (midnight-ish here) | 00:38 | |
| calculus | allison: ok, pastebin.com/m5fdd8d7e | 00:39 | |
| allison | calculus: unfortunately, I'm running 10.6, so can't fully test it, but we can recruit others | 00:41 | |
| calculus: it looks pretty safe | |||
| calculus | allison: yeah, I have 10.5 and the compile flag -Wno-long-double does not exist, similar to 10.6 | 00:42 | |
| other than that DYLD_LIBRARY_PATH works better as an absolute path and the install_name is the final destination location rather than the build location | 00:43 | ||
| allison | calculus: makes sense. I'll test it on 10.6, and if we can get someone to test it on 10.4, I'm happy to go ahead and apply it | 00:45 | |
| calculus | allison: and to put a face to a name, I attended many of your parrot talks in the bay area and sat next you at the unconference | 00:47 | |
| darbelo | plobsing: Ok, I think I'm done. You should check that I didn't screw up too badly. | ||
| calculus | :) | ||
| allison | calculus: excellent, glad to see you here on #parrot :) | ||
| dalek | rrot: r42287 | darbelo++ | branches/libjit_frame_builder (8 files): Fix errors after the merge. |
00:48 | |
| rrot: r42288 | darbelo++ | branches/libjit_frame_builder (2 files): Fix MANIFEST. |
00:51 | ||
| darbelo | plobsing: Found two mistakes already. You should really check that I didn't screw up totally. | 00:52 | |
| plobsing | darbelo: looks like config/gen/libjit.pm got duped | 00:53 | |
| darbelo | duped? | 00:55 | |
| dalek | rrot: r42289 | darbelo++ | branches/libjit_frame_builder/lib/Parrot/NativeCall.pm: Move NativeCall.pm to the correct location. |
||
| Coke gets missing deps down to 7. | |||
| rrot: r42290 | coke++ | trunk/config/gen/makefiles/root.in: Improve dependencies. |
|||
| darbelo | Anyways I gotta go now. msg me whith whatever you find and I'll fix it later. | 00:56 | |
| dalek | rrot: r42291 | coke++ | trunk/tools/dev/checkdepend.pl: sort by filename |
00:58 | |
| Whiteknight | incoming | ||
| purl | duck! | ||
|
00:58
abqar joined
|
|||
| calculus | goose! | 00:59 | |
| dalek | rrot-linear-algebra: 3edbb8a | Whiteknight++ | t/10-nummatrix.t: add some tests |
01:00 | |
| shorten | dalek's url is at xrl.us/bf2zum | ||
| dalek | rrot-linear-algebra: 382a6a9 | Whiteknight++ | src/pmc/nummatrix2d.pmc: update iterate_method_inplace to pass the coordinates of the current element. Also, some other fixes that I can't remember |
||
| shorten | dalek's url is at xrl.us/bf2zuo | ||
| dalek | rrot-linear-algebra: 24b8b55 | Whiteknight++ | src/pmc/nummatrix2d.pmc: Fix iterate_function_inplace to actually do the right thing without segfaulting |
||
| shorten | dalek's url is at xrl.us/bf2zuq | ||
| dalek | rrot-linear-algebra: 66cde50 | Whiteknight++ | t/10-nummatrix.t: add tests for iterate_function_inplace |
||
| shorten | dalek's url is at xrl.us/bf2zuy | ||
| Whiteknight | hmmm, I thought it was more than that | ||
| leto | looks like fixing this machine is going to take longer than I thought. hopefull the parrot github repo will be updating again in the morning | 01:03 | |
|
01:12
Coke joined
|
|||
| cotto_work | dukeleto, what's the point of having a ro git repo for parrot? | 01:15 | |
| calculus | non committers can easily make patches and then ask for them to be committed to svn | 01:16 | |
| dalek | TT #1214 created by coke++: config/inter/charset.pm generates incorrect makefile deps | ||
| cotto_work | ok. So it's not so special for committers. | 01:17 | |
| calculus | at least from my view | ||
| Coke | unless you REALLY like git. | 01:19 | |
| dalek | rrot: r42292 | coke++ | trunk/config/gen/makefiles/root.in: Fix one more dep |
01:21 | |
| chromatic | Hooray for fewer spurious rebuilds! | 01:22 | |
| Coke | I think the remaining six are for non-generated files, so that will hopefully resolve the remaining -j issues. | 01:24 | |
| cotto_work | Coke, are you going to unskip the headers or is that intended to be permanent? | 01:26 | |
|
01:26
preflex joined
01:34
mokurai joined
|
|||
| Coke | ? | 01:35 | |
|
01:36
payload joined
|
|||
| Coke | you mean the skips in checkdepend? | 01:36 | |
| plobsing | msg darbelo I give up trying to find all the differences. Maybe 1 slightly larger patch would be easier? merge_complete.patch on TT1105 contains everything. | 01:37 | |
| purl | Message for darbelo stored. | ||
| Coke wondes why we have two tables.h's | 01:41 | ||
| chromatic | One for the adults and one for the kids. | 01:42 | |
| Coke | cotto_work: I'm only skipping those now because I'm not looking in the 'include' dir to find the file. | 01:44 | |
| dukeleto | cotto_work: it is not read-only | 01:47 | |
| cotto_work: anyone that has commit access to the parrot github repo can create branches and commit to whatever they want | 01:48 | ||
| cotto_work: it is just understood that no one should commit to upstream or master, since it is a mirror | |||
| cotto_work: but nothing is *currently* enforcing that | 01:49 | ||
| and the github mirror is not being updated tonight, since my box died and I am still rebuilding it | 01:51 | ||
|
01:59
eternaleye joined
|
|||
| dalek | rrot-linear-algebra: b86fc16 | Whiteknight++ | src/pmc/nummatrix2d.pmc: add a new interate_function method that creates a new matrix with the results |
02:11 | |
| shorten | dalek's url is at xrl.us/bf2z6u | ||
|
02:31
kid51 joined
|
|||
| cotto | dukeleto, right. I meant read-only in the sense that without additional work, changes made to github parrot won't end up in a parrot release. | 02:33 | |
| plobsing | as I am finding out the hard way | 02:35 | |
| cotto | It seems that nuking the bitwise vtable functions will have to wait until the ops in bit.ops can be properly deprecated. | 02:36 | |
| unless "move to dynops" is a euphemism for delete. | 02:37 | ||
| chromatic | If only. | 02:39 | |
| cotto | I suppose ops that throw exceptions are still ops. | ||
| There's a possibility that'd break compatibility though. | 02:40 | ||
| dalek | rrot: r42293 | jkeenan++ | trunk/t/steps/auto/gettext-01.t: Internal sub _handle_gettext() takes three arguments. Correct tests to reflect this interface. |
||
| rrot: r42294 | jkeenan++ | trunk/config/gen/makefiles/root.in: Have 'make realclean() delete src/dynpmc/Makefile. Cf.: trac.parrot.org/parrot/ticket/1211. |
|||
| TT #1211 closed by jkeenan++: make realclean doesn't remove src/dynpmc/Makefile | 02:42 | ||
| rrot: r42295 | jkeenan++ | branches/convert_OSNAME/config/auto (7 files): Convert get_p5('OSNAME') to get('osname'). |
02:50 | ||
| rrot: r42296 | cotto++ | trunk (2 files): [pmc] remove the unused type_keyed vtable function |
|||
| cotto | what purpose does the scalar PMC serve? | 02:53 | |
| chromatic | I think it's only there so that other PMCs can 'does scalar'. | ||
| kid51 | msg tetragon See trac.parrot.org/parrot/ticket/1203 | 02:55 | |
| purl | Message for tetragon stored. | ||
| diakopter | is a segfault a rakudo bug or a parrot bug | 02:56 | |
| (could a segfault be a rakudo bug?) | |||
| chromatic | Rakudo has its own C code, so it could be a Rakudo bug. | ||
| cotto | rakudo has C so it could be, but it's probably parrot's | ||
| diakopter | ok | ||
| chromatic | *Usually* it's a Parrot bug though. | ||
| cotto | parrot has a lot more C | 02:57 | |
| diakopter | ./perl6 -e 'subset Five of Any where { $_ = 5 }; say (Five.new = 4)' | ||
| :) | |||
| it came up b/c of this other (what I consider to be a) bug: | |||
| ./perl6 -e 'subset Five of Any where { $_ = 5 }; say (my Five $a = 4)' | |||
| 5 | |||
| dalek | rrot: r42297 | jkeenan++ | branches/configtests (33 files): Continue to convert steps tests to use of Parrot configuration data. Some of these test files have failures or expose bugs for the first time. |
03:00 | |
| diakopter | (the first segfaults on p6eval, which is amd64 linux parrot r42158 and rakudo latest) | ||
| Coke | chromatic: 'does' doesn't need inheritance. Any ole thing can lie about 'does' | 03:01 | |
| Scalar is probably a holdover from ye Olde PerlSTuff. | |||
| chromatic | Maybe, but I don't remember if we supported 'does' when Scalar first existed. | 03:03 | |
|
03:03
petdance joined
|
|||
| diakopter | ok, that's weird. it sometimes segfaults, and sometimes outputs 4. | 03:03 | |
| oh. maybe a false alarm. :) sorry. it's possible rakudo (or parrot) was being rebuilt/cleaned at the time :D sorry, again | 03:04 | ||
| Coke | cotto: I think removing vtables probably breaks PBC_COMPAT | 03:05 | |
| dukeleto | cotto: yes, you are correct about that. it is a uni-directional mirror. | 03:13 | |
| cotto: the main use is a single place for people working on git branches to host them and ask for code reviews | 03:14 | ||
| plobsing | dukeleto: speaking of github, can you update it? it seems a little stale | 03:21 | |
|
03:35
janus joined
|
|||
| dalek | rrot: r42298 | jkeenan++ | branches/configtests/t/steps/auto/cpu-01.t: Continue to convert steps tests to use of Parrot configuration data. |
03:39 | |
| rrot: r42299 | jkeenan++ | branches/configtests/config/auto/opengl.pm: Delete commented-out, superseded code. |
03:42 | ||
| japhb wonders who put that line in in the first place .... | 03:46 | ||
| dalek | rrot: r42300 | jkeenan++ | branches/convert_OSNAME/config (2 files): Convert two configuration steps from 'get_p5('OSNAME')' to 'get('osname')'. |
04:02 | |
| kid51 must sleep | 04:05 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| dukeleto | 'ello | 04:42 | |
| plobsing | hi dukeleto | ||
| having patching problems | |||
| don't apply my previous patch yet | |||
| dukeleto | plobsing: ruh roh | ||
| plobsing: ok | |||
| plobsing | oops sorry, wrong person | ||
| meant to talk to darbelo. maybe I should sleep... | |||
| msg darbelo I found some small problems with the lumped patch. tweaked a bit, attached another file | 04:51 | ||
| purl | Message for darbelo stored. | ||
| plobsing | time for sleep | ||
| pmichaud_ | chromatic: ping | 05:16 | |
| chromatic | pong | 05:18 | |
| pmichaud | allison says we can add vivify, but to check with you first | 05:23 | |
| specifically about the code duplication | |||
| chromatic | ops files have PREAMBLE sections, so I can put a static function up there to abstract it out. That should work. | 05:24 | |
| pmichaud | I don't see a good way around it -- I propose to add some text to vivify and fetch that says "we know theres code duplication here, we ought to get rid of it" | ||
| it doesn't quite work | |||
| at least, it didn't when I tried it | |||
| chromatic | The PREAMBLE section doesn't? | ||
| pmichaud | the separating it into a function. somehow you have to return dest | ||
| or return next, or whatever gets returned in the exception part of the if | |||
| I suppose it could work by returning null if the object creation failed, and key off of that | 05:25 | ||
| (the PREAMBLE itself works fine) | |||
| chromatic | I think I can make that work, but the duplication isn't a blocker for me to adding the opcodes now. | 05:26 | |
| pmichaud | okay | ||
| I was thinking we might add some text to the file that says "we know there's ugly code duplication here, it really ought to be fixed" and maybe a ticket or pointer to it somewhere so it doesn't get lost | |||
| chromatic | +1 here | 05:27 | |
| pmichaud | +1 to the text, or to filing a ticket, or ... ? | ||
| chromatic | Do you want me to add them, based on your tests, or did you have a nopaste with the code in them? | ||
| +1 text and ticket | |||
| pmichaud | I had a nopaste ... I think I can dig it up. Just a sec | ||
| nopaste.snit.ch/18535 | 05:28 | ||
| I can apply if you wish me to do it. I'm going to bed soon but could really use this in the (possibly early) morning | 05:29 | ||
| chromatic | I should be able to get to that later tonight. | ||
| It's only 9:30 here. Do you have tests somewhere, or should I modify the ones from fetch.t? | |||
| pmichaud | that would be great. if you're unable to do it for some reason, I'll go ahead and do it tomorrow and you can correct it | ||
| I have tests. | 05:30 | ||
| posting | |||
| nopaste | "pmichaud" at 72.181.176.220 pasted "vivify.t - tests for vivify opcodes" (138 lines) at nopaste.snit.ch/18587 | 05:32 | |
| pmichaud | I'm not sure I ever got around to running the code with the tests yet.... so the tests might have an error or two in them (I doubt it but I could've easily typoed something) | ||
| Tene | I read "pointer" as "phone number", and went off on a little confused "Trac has a telephone interface now?" tangent for a bit. | ||
| pmichaud | 1-800-BUG-GONE | 05:33 | |
| chromatic | I'll make sure everything works before I commit. | ||
| pmichaud | thanks | ||
| chromatic | 912 | ||
| Tene way too incoherent for following any discussion; leaves again. | |||
| pmichaud | if bacek is around, I also have a task for which he'd be uniquely suited. | ||
| chromatic | Not even a Stonecutters reference? For shame. | ||
| pmichaud | last I checked there's not a way to iterate over the entries in a LexPad | ||
| since he's recently refactored Hash and iterators, having a mechanism to iterate over a LexPad would be a big help to getting a working REPL (for all HLLs) | 05:34 | ||
| chromatic | Does the standard iteration mechanism work as an interface for that? | 05:35 | |
| pmichaud | I don't quite understand the question (more) | ||
| LexPads are not subclass of Hash, they do support the set_pmc_keyed interfaces | |||
| so no, a standard Hash iterator did not work previously | |||
| I'm not sure about current Parrot | 05:36 | ||
| wait, let's do this a different way | |||
| chromatic | If they had the same interface as a Hash iterator, would you find that useful? | ||
| pmichaud | Ideally I'd like to be able to simply iterate over a LexPad in the same way I do with other Hash objects, i.e. $P0 = iter lexpad; $P1 = shift $P0 ... etc. | ||
| so the answer to your question is yes | 05:37 | ||
| however | |||
| let me write the tests first, and then we can pass that to bacek | |||
| chromatic | Sounds good. | ||
| purl | it has been said that Sounds good. is there a good way for me to find out when branches are merged, other than read every svn commit? | ||
| chromatic | purl, forget Sounds good. | ||
| purl | chromatic, I didn't have anything matching sounds good | ||
| chromatic | purl, forget Sounds good | ||
| purl | chromatic, I didn't have anything matching sounds good | ||
| pmichaud | where should I post the tests or this request? | ||
| chromatic | I think you can leave a message with purl, especially if it has a nopaste url. | 05:38 | |
| pmichaud | trac? wiki? parrot-dev? | ||
| I can do it with purl | |||
| and nopaste | |||
| thanks a bunch. | |||
| chromatic | This is a small and obvious enough feature that there's no question of its utility. | ||
| pmichaud | right. and having a working REPL would be nice for a change | ||
| chromatic | Definitely a plus. Following an existing interface (the way we iterate over Hash) is a bonus too. | 05:39 | |
| pmichaud | inability to iterate over a lexpad is what has blocked me from doing a good repl in the first place | ||
| I wonder where the rt ticket went for that... :) | |||
| pmichaud searches | 05:40 | ||
| chromatic | I didn't see it when I blazed through like General Sherman last night. | ||
| pmichaud | oh, hot dog | 05:41 | |
| Coke++ | |||
| originally it was RT #40156 | |||
| it's now TT #1028 | |||
| apparently there's already a (TODO) test for DynLexPad | 05:43 | ||
| I'll write one for LexPad as well. | 05:44 | ||
| new ticket, or attach to TT #1028 (since they're different PMCs?) | |||
| chromatic | One moment. | ||
| They have no connection to each other, so a separate ticket is probably best. | 05:46 | ||
| I thought if DynLexPad subclassed LexPad, we might be able to get away with sharing... but no such luck. | |||
| pmichaud | and they're radically different | ||
| DynLexPad might be able to be modified to subclass Hash | |||
| that would make better sense, if it can be done | 05:47 | ||
| Because of the way LexPad maps to pmc registers held in a context, I'm less certain it could subclass Hash. But it should support the same iterator interface | |||
| chromatic | I'm not worried about the hierarchy there right now. I just thought we might be able to get both of them for the same work. Unfortunately not. | 05:48 | |
| pmichaud | okay. I'm a bit tired tonight so I think I'll have to write the test tomorrow morning. I know that misses bacek's timeframe but I can wait a short while for this | 05:49 | |
| chromatic | He might backlog and magically do it anyway. | ||
| pmichaud | since TT #1028 already has tests, it would be good for him to go ahead and resolve that one, if he can. It's a tcl blocker. | 05:50 | |
| purl: message bacek since you're our iterator guru, any chance you could resolve TT #1028 for tcl? | 05:51 | ||
| purl | Message for bacek stored. | ||
| pmichaud | purl: message bacek I'd also like to be able to iterate LexPad PMCs (to support a better HLL REPL), although that will require some different code. I'll make a separate ticket and some LexPad iterator tests soon. Thanks! | 05:52 | |
| purl | Message for bacek stored. | ||
| pmichaud | chromatic: okay, thanks for your quick responses | ||
| time for rest here. | |||
| chromatic | You're welcome; that's why I'm here. That, and I was typing, not eating ice cream. | ||
| pmichaud | .oO ( What does ice cream have to do with it? I missed a reference. Darn dangling references always get me ) | 05:53 | |
| :-) | |||
| chromatic | I told myself I couldn't have any ice cream until I'd written 1200 words of fiction. I was at 1130 when you pinged me. | 05:54 | |
| pmichaud | a-ha. I had my ice cream already. | ||
| calculus | is this the november competition for 50,000 word novel? | ||
| pmichaud | I told myself I couldn't have any ice cream until I'd driven to the store to buy it. | ||
| chromatic | Not this year. I did that two years ago calculus, and I just received the first copy of that novel today, calculus. | 05:55 | |
| This is a new novel I started a couple of months ago. I hope to have it published sometime next year. | |||
| calculus | chromatic: cool. my coworker is doing the competition this year | ||
| pmichaud | good night all, thanks | 05:56 | |
| chromatic | 1667 words a day is quite a bit, unless you've warmed up to it. You get little leeway for writer's block. | ||
|
06:02
davidfetter joined
06:15
theory joined
06:23
mokurai joined
|
|||
| dukeleto is hacking on pl/parrot | 06:27 | ||
| postgres's internals are icky | |||
| dalek | parrot: 6f5c8d7 | (Joshua Tolley)++ | test.sql: Add most basic tests |
06:28 | |
| shorten | dalek's url is at xrl.us/bf22v4 | ||
| cotto | dukeleto, that's interesting. I've heard that they're pretty well designed. | ||
| dukeleto | cotto: i am mostly talking about the names of the internal functions. not intuitive at first glance | 06:33 | |
| but that could be me | |||
|
06:34
selenamarie joined
|
|||
| selenamarie | dukeleto is just complaining because he is not using grep properly | 06:34 | |
| dukeleto | selenamarie: who are you, stranger? | 06:35 | |
| cotto | You just have to properly warp your brain. After that, everything makes sense. | 06:37 | |
| selenamarie | dukeleto: here --> pljava.projects.postgresql.org/ | 06:40 | |
| dalek | parrot: 5cdff48 | dukeleto++ | t (2 files): Move our basic sanity test to t/ |
06:45 | |
| shorten | dalek's url is at xrl.us/bf22w5 | ||
| cotto | It's fun seeing all this embryonic stuff start to spring up. | 07:02 | |
| dalek | rrot: r42301 | mikehh++ | trunk/config (2 files): fix codetest failures - trailing spaces |
07:03 | |
| parrot: 4cc0bfb | (Joshua Tolley)++ | (3 files): Skeleton call handler and associated Makefile. This passes the first set of tests. |
07:08 | ||
| shorten | dalek's url is at xrl.us/bf22yg | ||
| dalek | parrot: 5a31045 | dukeleto++ | IDEAS: Update IDEAS |
07:14 | |
| shorten | dalek's url is at xrl.us/bf22yn | ||
| dalek | parrot: 67340b3 | dukeleto++ | : Merge branch 'master' of github.com:leto/plparrot |
||
| shorten | dalek's url is at xrl.us/bf22yp | ||
| dalek | parrot: db096b7 | dukeleto++ | IDEAS: More IDEAS |
||
| shorten | dalek's url is at xrl.us/bf22yr | ||
|
07:15
uniejo joined
07:33
fperrad joined
07:47
nbrown joined
07:59
eternaleye joined,
iblechbot joined
08:03
desertm4x joined
|
|||
| eternaleye | Considering purl includes URL-shortening, is there a reason the 'shorten' bot is needed? It seems to be rarely used, and it just adds to dalek's spamminess | 08:06 | |
| moritz | eternaleye: I already removed it once, but it respawned | 08:07 | |
| eternaleye | Oh noez! | ||
|
08:07
selenamarie joined
|
|||
| moritz wonders why ruoso is banned | 08:07 | ||
| eternaleye | o.0 | 08:08 | |
| dukeleto | yeah, why is ruoso banned? | ||
| chromatic | Wasn't he having a lot of trouble connecting and disconnecting a while back? | 08:09 | |
| moritz | maybe | ||
| but that can be "solved" by /ignore, no need for a ban | |||
| dukeleto | moritz++ | ||
| moritz | in fact in "noisy" channels like here and #perl6 I ignore joins/leaves/quits totally | 08:11 | |
| szbalint | yeah, just use channel specific ignores. irssi++ | 08:14 | |
| dalek | rrot: r42302 | chromatic++ | trunk (2 files): [ops] Added experimental vivify opcode and tests; much credit to Patrick |
08:22 | |
| TT #1215 created by chromatic++: Factor out Duplicated Code in vivify/fetch opcodes | 08:26 | ||
| dukeleto | chromatic: nice vivify tests | 08:28 | |
| chromatic | Patrick and I wrote those; he copied over the fetch tests and added some new behavior. | 08:31 | |
|
08:39
payload joined
|
|||
| dalek | parrot: 016cd60 | (Joshua Tolley)++ | IDEAS: Add details about what needs to be built |
08:45 | |
| dukeleto | please tell me that trunk is not broke | 08:57 | |
| dalek | rrot-linear-algebra: 67a86d5 | (Markus Mayr)++ | src/pmc/ (2 files): Implemented add for transposed matrices, fixed some accesses to transposed matrices, implemented multiply for transposed matrices. |
08:59 | |
| rrot-linear-algebra: 0f19918 | (Markus Mayr)++ | : Merge commit 'origin/master' \tsrc/pmc/nummatrix2d.pmc |
|||
| dukeleto | trunk is broke | 09:01 | |
| dalek | parrot: a1f670a | (Joshua Tolley)++ | IDEAS: Clarify intended interactions between the two major bits of PL/Parrot |
09:02 | |
| parrot: 4cec50d | (Joshua Tolley)++ | src/plparrot.c: Add simple function to interact with pgsql APIs, and make something for the NQP bits to export |
|||
| nopaste | "dukeleto" at 69.64.235.54 pasted "trunk r42302 does not compile" (21 lines) at nopaste.snit.ch/18588 | ||
| dukeleto | is is after a make realclean | 09:03 | |
| who broke trunk? | 09:05 | ||
| dalek | rrot: r42303 | dukeleto++ | trunk/t/op/inf_nan.t: [t][TT #1210] Convert t/op/inf_nan.t to PIR, bubaflub++ |
09:11 | |
| TT #1210 closed by dukeleto++: [PATCH] t/op/inf_nan.t converted to PIR | 09:12 | ||
| chromatic | No problem for me with r42302. | 09:18 | |
| dalek | parrot: 759010d | dukeleto++ | (2 files): Add to IDEAS and remove unnecessary line from src/Makefile |
09:20 | |
| dukeleto | perhaps realclean is leaving something behind | 09:25 | |
| chromatic: are you using --optimize? | 09:34 | ||
| NotFound | dukeleto: I've built with and wihtout --optimize, no problems, amd64 linux | 09:47 | |
| dukeleto | i can make corevm, but 'make' fails with: push_string() not implemented in class 'Getopt::Obj' | 09:52 | |
| i am checking out a new, fresh trunk now, to see if my current checkout is fuxored | 09:53 | ||
| dalek | TT #1110 closed by NotFound++: parrot fails to build with g++ 4.4.1 on Ubuntu 9.10 beta amd64 | 10:00 | |
|
10:22
whoppix joined
10:29
davidfetter joined
|
|||
| dalek | parrot: 441f02c | dukeleto++ | IDEAS: Add more links to IDEAS |
10:39 | |
| rrot: r42304 | dukeleto++ | trunk/t/op/00ff-dos.t: [t][TT #1185] Convert t/op/00ff-dos.t to PIR, tweaked version of bubaflub++'s initial patch |
10:45 | ||
| rrot: r42305 | dukeleto++ | trunk/t/op/00ff-dos.t: [cage] Remove some debug messages accidentally added in previous commit |
10:48 | ||
| TT #1185 closed by dukeleto++: [PATCH] attempted to rewrite t/op/00ff-dos.t in PIR | 10:50 | ||
|
11:01
payload joined
12:19
masak joined
12:26
he__ joined
12:32
leto joined
12:48
payload joined
12:50
whiteknight joined
|
|||
| dalek | l: 66df44d | fperrad++ | (12 files): convert tests to PIR (from Perl) |
12:58 | |
| purl | I don't know how to convert tests to PIR (from Perl). | ||
| l: 3868bf1 | fperrad++ | (3 files): convert Configure in PIR (from Perl) |
|||
| l: cc45ffd | fperrad++ | (3 files): move Makefile.in |
|||
| l: 8e5ec63 | fperrad++ | (9 files): chmod +x |
|||
| purl | chmod +x is an executable. | ||
| whiteknight | purl forget chmod +x | ||
| purl | whiteknight: I forgot chmod +x | ||
| dalek | rkdown: 529db87 | fperrad++ | (3 files): move root.in |
13:04 | |
| rrot: r42306 | jkeenan++ | branches/configtests/config (2 files): Replace get_p5('OSNAME') with get('osname'). |
13:19 | ||
| rrot: r42307 | jkeenan++ | branches/configtests/t/steps/auto (5 files): Continue to convert steps tests to use of Parrot configuration data. |
13:23 | ||
|
13:31
pmichaud joined
13:34
mj41 joined
13:35
jsut joined
13:45
whoppix joined,
davidfetter joined
13:46
payload joined
13:50
patspam joined
14:03
kj joined
14:15
particle joined
|
|||
| dalek | TT #1216 created by doughera++: [PATCH] Fix dependency in docs/Makefile | 14:31 | |
|
15:13
Andy joined
|
|||
| whiteknight | all tests pass on win32 with strawberry | 15:22 | |
| whiteknight needs to figure out the incantation again to make it build with MSVC | |||
|
15:26
Psyche^ joined
|
|||
| dalek | rrot: r42308 | NotFound++ | trunk (3 files): make downcase and titlecase throw on null like upcase already doed, add tests for passing null to upcase, downcase and titlecase |
15:27 | |
| a: 157204c | fperrad++ | (4 files): convert Configure to PIR (from Perl) |
15:37 | ||
| purl | I don't know how to convert Configure to PIR (from Perl). | ||
| a: dbf7fb5 | fperrad++ | (5 files): move Makefile templates |
|||
| a: 9df7621 | fperrad++ | Makefile.in: target test |
|||
|
15:44
bubaflub joined
16:25
PacoLinux joined
16:27
PacoLinux joined
|
|||
| dalek | parrot: 3f2e4bb | (Joshua Tolley)++ | src/ (12 files): Separate the two major pieces (language handler, NQP stuff) into their own directories |
16:28 | |
| parrot: 684bc49 | (Joshua Tolley)++ | : Merge branch 'master' of git@github.com:leto/plparrot |
|||
|
16:37
particle joined
|
|||
| dalek | rrot: r42309 | mikehh++ | trunk/MANIFEST: regenerate manifest |
16:45 | |
| rrot: r42310 | mikehh++ | trunk/t/op/vivify.t: set svn properties |
16:48 | ||
| rrot: r42311 | mikehh++ | trunk/src/ops/experimental.ops: fix codetest failure - pod syntax |
16:54 | ||
|
17:02
pjstadig joined
17:07
cogno joined
17:14
theory joined
17:47
mokurai joined
|
|||
| dukeleto | 'ello | 17:48 | |
| a fresh checkout of parrot trunk still fails to compile on my box | 17:49 | ||
| whiteknight | dukeleto: which box? How long has this been an issue? | ||
| dukeleto | i am starting to think that it could be that i installed nqp-rx | 17:50 | |
| whiteknight: since yesterday | |||
| gmake -C compilers/tge | |||
| gmake[1]: Entering directory `/Users/leto/svn/parrot-testing/compilers/tge' | |||
| ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pbc --output=TGE/Parser.pir TGE/Parser.pg | |||
| push_string() not implemented in class 'Getopt::Obj' | |||
| make corevm passes, but PGE fails to compile | |||
| whiteknight | could be NQPRX, I don't know what it's installed files are named | 17:51 | |
| or what all libraries it installs | |||
| dukeleto | whiteknight: it installs into parrot's bin dir and stuff. i don't know how I feel about that | 17:52 | |
| whiteknight: for exactly reasons like this | |||
| whiteknight | dukeleto: regardless of how it makes anybody feel, if there are no name collisions it's a non-isue | ||
| name collisions are the problem | |||
| dukeleto | whiteknight: this is happening on darwin/x86 | ||
| whiteknight | ok | ||
| dukeleto | whiteknight: no one else seems to be experiencing it | 17:54 | |
| but it is happening to me with a fresh checkout | |||
| whiteknight | so to verify: uninstall NQPRX and try to build parrot again | 17:55 | |
| dukeleto | whiteknight: actually, nqp-rx is not installed anywhere that parrot would find it. it is installed into ~/git/nqp-rx/parrot_install | 17:56 | |
| whiteknight | what is the error that PGE gives you? | ||
| Coke | dukeleto: what's your build failure? | ||
| (trying a new checkout) | |||
| nopaste | "dukeleto" at 32.158.114.168 pasted "trunk r42302 build failure" (35 lines) at nopaste.snit.ch/18589 | 17:59 | |
| Coke | PGE works here; I would recommend moving aside installed parrot, or perhaps restricting your path. | ||
| dukeleto | yes, installed parrot could be it | 18:00 | |
| Coke | I have problems when I only install every N releases and something changes. | ||
| makes sad coke sad. | |||
| dukeleto | Coke: yes, this issue makes me sad as well | ||
| whiteknight | find everything that's installed and delete it | 18:03 | |
| dukeleto | whiteknight: i do that often to parrot, but who wants to explain that to end users? not me. | ||
| Coke | msg pmichaud I'm going to be on vacation next week, and pretty non-responsive to parrot. | ||
| purl | Message for pmichaud stored. | ||
| dukeleto | parrot needs an uninstall method | 18:04 | |
| whiteknight | dukeleto: at the moment, we're looking to isolate the problem | ||
| isolated problems lend themselves to solutions | |||
| Coke | (uninstall) that's up to the packagers. | ||
| dukeleto | whiteknight: yes, for the moment I will do that | ||
| whiteknight: i was commenting in general | |||
| whiteknight | ok | ||
| dalek | kudo: 6670e70 | moritz++ | t/spectest.data: [t/spectest.data] track filename changes |
18:08 | |
| kudo: 830e2cf | moritz++ | src/setting/Any-list.pm: the named argument to .pick is now called :replace |
|||
| dukeleto is compiling again after nuking installed parrot from orbit | 18:12 | ||
| it seems as if i have pleased the parrot elder gods | 18:16 | ||
| i should have known it was an installed parrot, but fiddling with nqp-rx lately provided a red herring | 18:17 | ||
| whiteknight | okay, problem isolated. dukeleto++ | 18:26 | |
|
18:28
chromatic joined
18:32
darbelo joined
|
|||
| dalek | rrot: r42312 | darbelo++ | branches/libjit_frame_builder: Too many patching mistakes on this branch. Let's try this again in a new one. |
18:46 | |
| pmichaud | Coke: enjoy your vacation | 18:49 | |
| dalek | rrot: r42313 | darbelo++ | branches/libjit_framebuilder: Create a new branch for plobsing's work on the libjit frame builder (TT#1105). |
||
| pmichaud | is there a document somewhere that describes or gives examples of using the profiling output? | 18:52 | |
| barring that, could someone walk me through an explanation of what I'm seeing in kcachegrind ? | |||
| pmichaud.com/sandbox/snapshot1.png | 18:53 | ||
| chromatic | I can give some quick tips. | 18:54 | |
| pmichaud | this is a parse of Rakudo's Actions.pm using nqp-rx | ||
| sorry | |||
| this is a *compile* of Rakudo's Actions.pm using nqp-rx | |||
| I know that nqp-rx is presently slower than PGE, so understand that. I want to know where ripe places for optimization are | |||
| chromatic | See those icons in the upper middle of the screen? Show Relative Costs and Percentage Relative to Parent? Click those. | 18:55 | |
| pmichaud | done | ||
| chromatic | Also in the upper right panel, click the Callers tab. | ||
| pmichaud | let me know when/if you need snapshots | ||
| callers tab, done | 18:56 | ||
| chromatic | Bottom panel, click the Call Graph tab. | ||
| pmichaud | done | ||
| chromatic | Okay. Now the leftmost panel shows the top n functions sorted by combined time. That is, their cost plus the cost of all of the functions they call. | 18:57 | |
|
18:57
mj41 joined
|
|||
| chromatic | The bottom right panel should show a call graph of the function highlighted in the left panel as well as everything it calls. | 18:57 | |
| Thicker lines to (and higher percentages in the boxes of) children represent greater expenses. | |||
| pmichaud | pmichaud.com/sandbox/snapshot2.png | 18:58 | |
|
18:58
DrForr_ joined
|
|||
| pmichaud | these are sorted by ... time? | 18:59 | |
| chromatic | Expense, but basically time. | ||
| pmichaud | that's odd | ||
| chromatic | This measures the number of instructions executed. | ||
| pmichaud | at least, it doesn't at all match my expectations. | ||
| cotto_work | and the time taken by those instructions | ||
| chromatic | cotto_work, some of those functions get called 0 times. That doesn't look right. | 19:00 | |
| pmichaud, how complex is the control flow here? Are you using tailcalls or coroutines? | |||
| pmichaud | no coroutines that I recall, but likely lots of tailcalls | ||
| should I eliminate those ? | 19:01 | ||
| chromatic | No; just wondering if the profiler tracks those correctly. | ||
| pmichaud | PCT is full of tailcalls | ||
| cotto_work | That definitely doesn't look right. | ||
| chromatic | cotto_work, we probably need a small test case of PIR with a tailcall and an expected profiler output to get those working. | 19:02 | |
| pmichaud checks to see how many tailcalls are in past | |||
| 107. | |||
| well, that's a little high | 19:03 | ||
| 89 | |||
| chromatic | I usually look for (1) time spent in a function and its kids (left panel, leftmost column) (2) number of total calls to a function (left panel, middle column), and (3) amount of time spent in current function (third panel, second column from left). | ||
| The bottom right panel is good for exploring control flow up and down the graph, to find which code paths call the expensive code. | |||
| pmichaud | right. but I agree these numbers don't look right. They don't match my expectation of the control flow, for one. | 19:04 | |
| cotto_work | chromatic, any kind of profiler tests would be an improvement. If you could add support for testing the profiler, I'd love to add some tests. | ||
| The perl test code scares and confuses me. | |||
| pmichaud | cotto_work: me too :) | ||
| anyway, given that these are tree structures, there's an awful lot of recursion and tailcalls taking place | 19:05 | ||
| if these numbers are correct, it would make me somewhat happy, because they'd be places for easy optimizations. But I have trouble believing they're correct. | 19:06 | ||
|
19:06
cognominal joined
|
|||
| pmichaud | let me give a quick example | 19:07 | |
| chromatic | You could temporarily remove the tailcalls and profile it again to see if the numbers look more realistic. I have no trouble believing we don't represent tailcalls well. | ||
| pmichaud | 87 tailcalls is a lot of removals, though :-| | ||
| chromatic | Yeah, I agree. | 19:08 | |
| Could you put the bzipped callgrind.out file somewhere online temporarily? | |||
| pmichaud | oh, sure! | ||
| pmichaud.com/www/sandbox/snapshot3.png | |||
| the callgrind.out file would be the parrot.pprof.*.out one? | 19:09 | ||
| er, *.out.* | |||
| parrot.out.13725 ? | |||
| chromatic | Yes, I believe so. | ||
| pmichaud | it's only 131k | ||
| did you mean the pprof file? | |||
| chromatic | Whichever one you had to generate with the Perl program. | ||
| pmichaud | that's the .out file | ||
| chromatic | Whichever one you fed to KCachegrind. | ||
| pmichaud | -rw-r--r-- 1 pmichaud pmichaud 131232 2009-11-06 12:24 parrot.out.13725 | 19:10 | |
| -rw-r--r-- 1 pmichaud pmichaud 798568165 2009-11-06 11:50 parrot.pprof.13725 | |||
| *.out.* it is | |||
| pmichaud.com/sandbox/parrot.out.13725 | |||
| chromatic | Hm. | 19:11 | |
| pmichaud | anyway, from snapshot3.png, I think it's telling me that a lot of time was spent in Node.iterator, which was called 5251 times. | ||
| chromatic | Look at Cursor;!protoregex | ||
| The call graph there is better. | |||
| pmichaud | okay. | 19:12 | |
| I see the call graph, it matches my expectations to a large degree. | 19:13 | ||
| dalek | rrot: r42314 | darbelo++ | branches/libjit_framebuilder (30 files): This time with an all in one approach: - Bring over the changes made by the auto_libjit branch. - Fix errors introduced by the above. |
||
| pmichaud | it doesn't really seem to tell me where to look to optimize things, though | ||
| chromatic | This is where experience and intuition come in. | 19:14 | |
| pmichaud | my intuition has been that mark_push was going to be relatively expensive | ||
| chromatic | I'd look at the Grammar package rules -- term;sym<package_declarator>, statementlist, statement. | ||
| pmichaud | not for any single call, but overall because it would get called so many times | ||
| well, statementlist just calls statement | 19:15 | ||
| (yes, I'll look at the code...just giving an idea of what's going on inside these) | |||
| chromatic | Right. Sometimes it takes me a few minutes of browsing around and exploring and reading the source code to figure out that something's an optimization candidate. | 19:16 | |
| pmichaud | okay | ||
| it's a bit tricky though, as these are all generated code | 19:17 | ||
| chromatic | Yeah, and we know some numbers are off. | ||
| I'm never quite sure whether it's Parrot's weird control flow or some subtlety of Callgrind/KCachegrind that I don't understand. | |||
| pmichaud | not too hard to read the generated code, but I generally know what it's likely to look like, and it doesn't feel like these are bottlenecks | ||
| chromatic | If you run this from a directory above the NQP-rx src/ directory, you can change the top right panel to show annotated source code. | 19:18 | |
| Otherwise, go to Settings, Configure KCachegrind, and the Annotations tab and you can add that source directory. | |||
| pmichaud | settings will be easier here | ||
| hmmm. that froze my kcachegrind hard | 19:20 | ||
| I'll just look at the source code in vim :) | 19:21 | ||
| chromatic | If annotations worked, you could see cost per line, which can be helpful. | 19:22 | |
|
19:23
whiteknight joined
|
|||
| pmichaud admires the code generated by nqp-rx. Much prettier than PGE code. | 19:25 | ||
| chromatic | There's a reason I only tried to optimize PGE code once or twice. | 19:26 | |
| pmichaud | NQP-rx is much nicer | ||
| I'll nopaste a snippet | |||
| cotto_work | and I'm sure it'll get even nicer with fetch/vivify | 19:27 | |
| pmichaud | the regex code doesn't tend to need fetch/vivify, but yes, other code will like it a lot | ||
| whiteknight | any reason we can't put those opcodes in as experimental? | ||
| cotto_work | they're in now | ||
| darbelo | whiteknight: I though they were. | 19:28 | |
| nopaste | "pmichaud" at 72.181.176.220 pasted "snippet of nqp-rx generated output" (105 lines) at nopaste.snit.ch/18590 | ||
| pmichaud | anyway, you can just basically follow the original source of the rule and see that reflected in the generated code | 19:29 | |
| alt128_0 and alt128_1 are the two branches of the top-level alternation | |||
| whiteknight | quite impressive | ||
| pmichaud | within alt128_0 is the test for $ (rxanchor eos) | ||
| within alt128_1 is the tests for <.ws>, a * quantifier, a call to the <statement> subrule followed by the <.eat_terminator> subrule | 19:30 | ||
| (and <.ws> in appropriate slots) | |||
| most of the calls to "!cursor_*" are designed to be inlinable | |||
| and that's what I've been expecting to eat up a fair bit of time | 19:31 | ||
| (which is why I designed it to be inlinable, so as to eliminate a bunch of methodcalls from the match) | |||
| darbelo | msg plobsing I obliterated the branch and created a new one with your latest patch. | 19:33 | |
| purl | Message for plobsing stored. | ||
| darbelo | msg plobsing I think it should be fuckup-free this time, msg me if not. | 19:34 | |
| purl | Message for plobsing stored. | ||
| pmichaud | okay, this tells me a couple of things to do first (none of which are optimizations on their own, but should make it easier to use the profiler) | ||
| darbelo | msg plobsing trac.parrot.org/parrot/changeset/42314/ | ||
| purl | Message for plobsing stored. | ||
| chromatic | Yeah, even without guaranteed accuracy, it does help. | ||
| darbelo | whiteknight: ping | 19:35 | |
| pmichaud | first, I should go ahead and either get nqp to compile from the four .pir files (with .include statements already squashed), to make it easier to see the annotated source code | ||
| whiteknight | darbelo: pong | ||
| pmichaud | (I think kcachegrind might be confused by the -I options used during compile) | ||
| or I should work a bit on getting nqp-rx into the parrot repo | |||
| (allison has indicated that we can go ahead and bundle nqp-rx with parrot, at least for the time being) | |||
| darbelo | whiteknight: I created a new branch (libjit_framebuilder) with plobsing's latest libjit patch. | 19:36 | |
| whiteknight: saw you cc'ed on the ticket, figured you migh want to give it a spin. | |||
| pmichaud | then after doing those, I should probably remove the tailcalls from PCT and see if that makes it easier to use the profiler | ||
| chromatic | If it's a short thing, I'm interested to see if that helps. | 19:37 | |
| darbelo | I don't have libjit here, so I only checked that it doesn't regress anything. But it looks good. | ||
| pmichaud | I might be able to write a perl script to do the .tailcall conversions | ||
| whiteknight | darbelo: okay, I'll try to look at it tonight | ||
| pmichaud | if I do them automatically, it'd be in a form where it could be easily reversed back, I suspect | ||
| darbelo | whiteknight++ | 19:38 | |
| pmichaud | or I could try creating a tailcall macro that let's us swit.... <SLAP!> Sorry. | ||
| (imcc macros = evil) | |||
| chromatic | They're less evil now. | ||
| darbelo | I'd really like to get this merged before the next Great Disruption. | ||
| pmichaud | basically I think it involved taking lines of the form | 19:39 | |
| .tailcall <something>.'methodname'(<args>) | |||
| and turning it into | |||
| $P9999 = <something>.'methodname'(<args>) | |||
| .return ($P9999) | |||
| whiteknight | that only covers single-item return signatures | 19:40 | |
| pmichaud | ....but have to be careful to specifically handle the cases where the thing being tailcalled is r.... right | ||
| have to handle multi-return items | |||
| but there aren't many of those in PCT | |||
| whiteknight | ($P999 :slurpy) = <something>.'methodname'(<args>) | ||
| .return($P9999 :flat) | |||
| pmichaud | more often is ($P0, $P1) = ... | ||
| anyway, I'll do that conversion also | |||
| and then re-run the profiler and see what happens | 19:41 | ||
| if someone was looking for an easy-ish "I don't have to really know what I'm doing" sort of task, converting the tailcalls in PCT would be a good one :) | 19:42 | ||
| anyway, thanks for the profiler help. I'm looking forward to having tailcalls working (if that is indeed why the call totals look weird here) | 19:43 | ||
| chromatic | It's not always. Callgrind on C code can be weird too sometimes. | 19:45 | |
| I'm sure there are bugs in the profiler though. | |||
| cotto_work | chromatic, do you think you'll have the tuits to add perl Test::More code to enable testing the profiler? | 19:46 | |
| the PARROT_PROFILING_OUTPUT environment variable will probably come in handy there | 20:00 | ||
|
20:03
kj joined
|
|||
| dalek | rrot: r42315 | darbelo++ | branches/libjit_framebuilder/src/frame_builder.h: Rename a header guard to make codingstd test happy. |
20:06 | |
| chromatic | I'm thinking about how to do that, cotto_work. | 20:11 | |
| cotto_work | Thanks. | 20:12 | |
| dalek | rrot: r42316 | darbelo++ | branches/libjit_framebuilder (8 files): Set svn props for new files. |
20:13 | |
|
20:22
particle joined
20:25
joeri joined
21:00
mikehh joined
|
|||
| chromatic | Ugh, no .deb for libjit. | 21:03 | |
| auto::libjit - Is LibJIT installed..../test_20464: error while loading shared libraries: libjit.so.0: cannot open shared object file: No such file or directory | 21:10 | ||
| darbelo | odd, I don't get that here. | 21:15 | |
| chromatic | Do you have libjit installed? | 21:18 | |
| darbelo | No. I thought you didn't either. | 21:19 | |
| You have it but can't open the .so? | |||
| chromatic | I just installed it. | 21:20 | |
| I have the .so in /usr/local/lib and I can run nm and ldd on it. | |||
| darbelo | Hm. Is /usr/local/lib in your $LIBPATH (or eqivalent)? | 21:23 | |
| chromatic | Yes, the linker looks there. | 21:25 | |
| I can never remember how to run a single configuration step, and Configure.pl's --help doesn't tell me. Does anyone remember? Can we patch the docs to help? | 21:29 | ||
| darbelo | I didn't even know Configure allowed that. | 21:32 | |
| particle | chromatic: see reconfigure.pl | 21:35 | |
| chromatic | perl tools/dev/reconfigure.pl --step=auto::libjit ? | 21:38 | |
| particle | sounds right to me | 21:39 | |
| chromatic | cc -L/usr/local/lib -Wl,-E test_25527.o -ljit -o test_25527 -ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline | ||
| particle | you might want --verbose | ||
| chromatic | No -L/usr/local/lib there; that must be the problem. | ||
| auto::libjit - Is LibJIT installed.................................yes. | 21:40 | ||
|
21:42
desertm4x joined
|
|||
| chromatic | t/pmc/nci.t ................................. 568/652 | 21:46 | |
| # Failed test 'nci_ssc' | |||
| # at t/pmc/nci.t line 596. | |||
| # got: 'loaded | |||
| # dlfunced | |||
| # nok 1 | |||
| # 1075970054 | |||
| # ' | |||
| # expected: 'loaded | |||
| # dlfunced | |||
| # ok 1 | |||
| # ' | |||
| Otherwise, everything is fine on 32-bit Linux. | |||
| modulo that /usr/local/lib isn't in my library path. | |||
| ... and after running ldconfig, it is. | 21:48 | ||
|
21:52
whoppix joined
|
|||
| darbelo | We should try to get some better error messages into that step. | 21:54 | |
| But I'm not sure where to put them. | 21:55 | ||
|
22:14
masak joined
|
|||
| darbelo caves in and gets a 32-bit linux. | 22:31 | ||
| dalek | l: 2059793 | fperrad++ | (2 files): install as 2 libraries |
22:37 | |
| l: 99ae092 | fperrad++ | (23 files): reorg tree (step 1) |
|||
| l: 6ce7dc3 | fperrad++ | (5 files): reorg tree (step 2) |
|||
| l: f394414 | fperrad++ | (5 files): reorg tree (step 3: builtins) |
|||
| l: 685bb8d | fperrad++ | (10 files): reorg tree (step 5) |
|||
| l: af5db76 | fperrad++ | plumage/xml.json: add xml.json (Plumage) |
|||
| pmichaud | chromatic / cotto : update on profiling | 22:41 | |
| independently we've discovered that the code gen phase *is* far slower than it ought to be -- i.e., the results that kcachegrind are showing are in fact somewhat real | 22:42 | ||
| in the sense that the thing eating up all of the time are indeed the subroutines at the top | |||
| so I'm investigating why it suddenly got so slow | |||
| I'll keep you posted :) | 22:43 | ||
| chromatic | I like the phrase "somewhat real". | ||
| japhb | I like quasi-real myself. | 22:44 | |
| chromatic | <bender>I'm out, meatbags! I'd be lying if I said it's been fun. Keep it somewhat real.</bender> | ||
| cotto_work | It's nice to know that the profiler was right. | 22:45 | |
| chromatic | Right-ish. | 22:46 | |
| pmichaud | I'll let you know how right soon | ||
| cotto_work | yes, as in not completely wrong | ||
| My value of "right" is a bit depressed atm. | 22:47 | ||
| japhb | cotto_work, chromatic: how difficult would it be to change the format of the raw profile lines to be faster to parse? Might make pprof2cg a decent amount faster ... | ||
| chromatic | Less data ======> faster. | ||
| cotto_work | It's a ripe area for optimization. | 22:48 | |
| chromatic | One problem is that we don't know exactly where it's wrong yet, nor why. | ||
| Though I know that line numbers are wrong-ish in some places. | |||
| cotto_work | btw, is there a probe for zlib? it'd be nice to use that to compress the pprof output. | 22:49 | |
| chromatic | Did I hear a hint drop? YES WE CAN. | ||
| cotto_work | chromatic, how feasible do you think it'd be to write profiler tests in pir? It might not be too bad if I could use nqp-rx regexes to scrub out timing information. | 22:58 | |
| chromatic | We need a way to run a subprocess and capture its output. That's not difficult, but I don't know if we can do that from PIR yet. | 22:59 | |
| I keep getting hung up on the other feature, though. | |||
| We need a way to review that output and see if *pieces* of it are sane. | |||
| That is, if we profile a specific tailcall, we should be able to see if we've recorded that information in a way that makes sense to us and (hopefully) to the Callgrind output format. | 23:00 | ||
| cotto_work | Yes. Checking the whole output for every test would be burdensome. | ||
| chromatic | I know that we need to do that, but I don't have a good idea about *how* to do that. | 23:01 | |
| cotto_work | I suppose annotation-awareness could be a big help here. | 23:05 | |
| chromatic | I don't really want to write a *third* parser/emitter for our profiling format. | 23:07 | |
| If we had a PIR object model to represent profiling output, we could check nodes and attributes. | |||
| Then we wouldn't need the Perl 5 parser. | 23:08 | ||
| cotto_work | That's be really nice. | ||
| chromatic | We could even fork() off a new Parrot instance at the appropriate time to parse the output into callgrind format. | ||
| Just when I get excited about that, I think "But we don't know it's correct now!" and "Hey, we really need STRINGNULL!" and "That's a lot of work!" and "Aren't you supposed to be writing a book today?" | 23:09 | ||
| pmichaud | nqp(-rx) might be able to do a reasonable job here | 23:13 | |
| I dunno. | |||
| you would get regexes | |||
| I'm hoping to write some Test::* modules in nqp :-) | 23:14 | ||
| chromatic | I think it's a reasonable avenue of exploration. | ||
| cotto_work | sounds like it's time for some exploring then | 23:18 | |
|
23:19
kesselhaus joined
|
|||
| dalek | rkdown: b2ef811 | fperrad++ | (14 files): reorg tree (step 1) |
23:20 | |
| rkdown: a5d1d68 | fperrad++ | (3 files): reorg tree (step 2: builtins) |
|||
| rkdown: 050f234 | fperrad++ | (7 files): reorg (step 3) |
|||
| japhb | chromatic: Plumage has a working qx() in NQP/PIR. Is that what you were looking for earlier about capturing output from a subprocess? | 23:22 | |
| chromatic | Yes, basically a profiler test would need to run a subprocess, figure out where its output is, parse that output, and test portions of that output. | 23:23 | |
| pmichaud | I wonder what it would take for me to put a qx{...} diretly into nqp | 23:25 | |
| *directly | |||
| kesselhaus | if i install parrot 1.7.0 not in C:\\parrot-1.7.0\\ but in C:\\parrot\\ how can i set parrot to use C:\\parrot as prefix to look for it and the languages? | 23:28 | |
| chromatic | If you used the --prefix to Configure.pl, that behavior should happen automatically. | 23:29 | |
|
23:30
kid51 joined
|
|||
| kesselhaus | i installed from the installers | 23:30 | |
| darbelo | installers? | 23:31 | |
| purl | installers are HARD | ||
| chromatic | fperrad might have more information then. | 23:32 | |
| jonathan | as far as I know, the Parrot installed by the installer is not relocatable. | ||
| (this has come up before) | 23:33 | ||
| IIRC you can install it on a different drive. | |||
| But not a different directory. | |||
| :-/ | |||
| kesselhaus | don't tell me. the paths are hardcoded into the executables... | ||
| jonathan | Believe so. | ||
| kesselhaus | hmm | 23:34 | |
| dalek | kudo: fe6dd27 | (Kyle Hasselbacher)++ | src/setting/Any-str.pm: [setting] comb takes Regex, not Code. Fixes RT #66340 |
23:40 | |
|
23:40
mikehh joined
23:45
selenamarie_ joined
|
|||
| kesselhaus | hmm, the whole windows builds seem to be flawed... unless you are on drive C:, none of the parrot executables run properly | 23:50 | |