|
Parrot 1.6.0 "half-pie" released! | Test CallSignature PMC | pcc_reapply branch still needs your love! trac.parrot.org/parrot/wiki/Callin...nsOverview Set by moderator on 12 October 2009. |
|||
| mgrimes | wow, I think I got it. To be honest, I really don't understand what the code does, but with a little copy and paste, it seems to work | 00:01 | |
| Should I submit a patch through the bug tracker? | 00:02 | ||
| jonathan | mgrimes: I think that's the right place for patches, yes. | 00:03 | |
| mgrimes | will do. thank. | ||
| Austin | Rock on, mgrimes! | ||
| You got a t/ test case written, too? | 00:04 | ||
| mgrimes | yep: t/compilers/imcc/end.t | 00:05 | |
| Austin | Sweet. | ||
| mgrimes | thanks for the guidance. just pointing me to imcc.l was huge! | 00:07 | |
| Austin | There's always somebody that knows ... | 00:08 | |
| So now you can get more tests perl->pir-ified, yes? | |||
| And I guess the 64-squillion dollar question is, have you submitted a CLA to the Parrot Foundation? | 00:13 | ||
| mgrimes | Can hardly wait to use the new feature. | 00:16 | |
| No CLA yet. Do I really need to submit one? | 00:17 | ||
| chromatic | Not for submitting a patch. | 00:18 | |
| Austin | I'm not sure of the rules. To be a "committer" you do. I think if you submit your patch via trac, one of the official committers can look it over, make sure it does or doesn't do whatever it should or shouldn't, and commit it for you. | ||
| jonathan -> sleep | 00:19 | ||
| mgrimes | Good. | ||
|
00:20
Wolong_ joined
|
|||
| dalek | TT #1118 created by mgrimes++: [PATCH] Added __END__ to pir | 00:30 | |
| mgrimes | I started working on converting t/op/jit.t to pir, and I've gotten to the "2 non jit" which just has two 'print "ok #\\n"' statements. | 00:49 | |
| How is that testing the jit? Any issues with converting that to ok(1,'...')? | 00:50 | ||
| Austin | Should be easy. say "ok #" | ||
| Oh. | |||
| You got me there. | |||
| Maybe they're supposed to get printed really, really fast? | |||
| mgrimes | lol | 00:51 | |
| dalek | ose: r183 | Austin++ | trunk/ (29 files): Cleaned up some code. Created special classes for upper reaches of namespace its root class. (NOTE: There are likely to be some residual problems because of this.) |
00:56 | |
|
00:57
mgrimes joined
00:58
abqar joined
01:03
hercynium joined
|
|||
| dalek | ose: r184 | Austin++ | trunk/close.cfg: Removed close.cfg from svn |
01:05 | |
|
01:07
davidfetter joined
01:38
kid51 joined
|
|||
| dalek | ose: r185 | Austin++ | trunk/ (14 files): Replaced close.cfg with close_cfg.tmpl, per red-book. Fixed up *@children init |
02:16 | |
|
02:25
patspam1 joined
02:41
janus joined
03:17
brooksbp joined
|
|||
| dalek | TT #1119 created by mgrimes++: [PATCH] Converted tests from perl to pir | 03:51 | |
|
04:12
desertm4x joined
04:17
mberends joined
04:31
theory joined
|
|||
| dalek | p-rx: 66906e8 | pmichaud++ | src/NQP/ (2 files): More nqp value handling improvements. |
04:42 | |
| p-rx: 4778331 | pmichaud++ | src/ (3 files): Allow Cursors to bind non-Match objects. |
|||
| shorten | dalek's url is at xrl.us/bfszrv | ||
| shorten | dalek's url is at xrl.us/bfszrx | ||
| dalek | p-rx: 557d3bf | pmichaud++ | src/ (3 files): Allow subrules to return non-Cursor objects. |
||
| shorten | dalek's url is at xrl.us/bfszrz | ||
| dalek | p-rx: 875be8a | pmichaud++ | src/ (3 files): Allow cursors to return things other than Regex::Match. |
||
| shorten | dalek's url is at xrl.us/bfszr3 | ||
| dalek | p-rx: c2b8fd7 | pmichaud++ | src/ (4 files): Clean up match handling a bit. Allow <foo(...args...)> form of subrule. |
||
| p-rx: a27d5d1 | pmichaud++ | (4 files): Initial steps for operator precedence parsing via |
|||
| shorten | dalek's url is at xrl.us/bfszr5 | ||
| dalek | p-rx: 2a077e8 | pmichaud++ | src/cheats/nqp-grammar.pir: Add code for .panic and the <O(...)> subrule. |
||
| shorten | dalek's url is at xrl.us/bfszr7 | ||
| japhb | pmichaud, what is the "magic <O(...)> subrule" about? | 04:48 | |
| Infinoid, it looks like dalek needs to slow down in #perl6, it's getting flood kicked | 04:49 | ||
| Austin | It tells nqp to run in O(...) time. It's a nice way to set optimization levels, and at the same time make it clear to the reader what's going on. | 04:51 | |
| :-> | |||
| cotto | It's about time that a language made optimization that easy. | 04:55 | |
| Austin | I think it's part of the perl6 spec. S39 - Optimization & Performance | 04:56 | |
| cotto | Why waste time twiddling algorithms and pruning data structures when you can change O(n^2) to O(log n). | ||
| Austin | BEGIN { O(log n) unless P == NP }; | 04:57 | |
| What more do you need? | |||
| Speaking of P==NP, a buddy of mine mentioned the other day that someone has written a paper describing how the halting problem can be encoded into a financial derivative. The argument seems to be that the derivative then is effectively "encrypted" by this - legal-wise. I didn't catch all the ramifications, but it was certainly bizarre to encounter computational complexity as a legal instrument. | 04:59 | ||
| dalek | rrot-plumage: 88106a0 | japhb++ | : [CORE] Glue.pir: Add unlink() |
05:00 | |
| shorten | dalek's url is at xrl.us/bfszti | ||
| dalek | rrot-plumage: fd47591 | japhb++ | : [CORE] Util.nqp: Add test_dir_writable(); fix typo |
||
| shorten | dalek's url is at xrl.us/bfsztk | ||
| dalek | rrot-plumage: 3df70d9 | japhb++ | : [plumage] Automatically sudo for make install if Parrot's bin dir is not... |
||
| shorten | dalek's url is at xrl.us/bfsztv | ||
| dalek | p-rx: a5131aa | pmichaud++ | src/ (4 files): Split NQP into shared (HLL) and non-shared (NQP) components. |
05:16 | |
| shorten | dalek's url is at xrl.us/bfszvr | ||
| dalek | p-rx: b25240b | pmichaud++ | (5 files): Split NQP into shared (HLL) and non-shared (NQP) components. |
||
| shorten | dalek's url is at xrl.us/bfszvt | ||
| dalek | p-rx: 532f8aa | pmichaud++ | .gitignore: Some .gitignore updates. |
||
| shorten | dalek's url is at xrl.us/bfszvv | 05:17 | |
|
05:24
mikehh joined
|
|||
| Austin | Howdy, mikehh | 05:24 | |
|
05:28
Zak joined
|
|||
| cotto | clock? | 05:30 | |
| purl | cotto: LAX: Sun 10:30pm PDT / CHI: Mon 12:30am CDT / NYC: Mon 1:30am EDT / LON: Mon 6:30am BST / BER: Mon 7:30am CEST / IND: Mon 11:00am IST / TOK: Mon 2:30pm JST / SYD: Mon 4:30pm EST / | ||
| cotto | rakudo: say "it works" | 05:38 | |
| rakudo | it works | 05:49 | |
|
05:57
uniejo joined
|
|||
| cotto | seen chromatic | 05:57 | |
| purl | chromatic was last seen on #parrot 5 hours, 39 minutes and 23 seconds ago, saying: Not for submitting a patch. | ||
|
06:00
patspam joined
06:31
chromatic joined
|
|||
| chromatic | Only 34 minutes early. | 06:44 | |
| cotto | chromatic, care for a quick patch review? | 06:46 | |
| chromatic | I'm ready. | ||
| cotto | (I'm mostly concerned about variable names, as the rest seems to work) | ||
| nopaste | "cotto" at 74.61.2.46 pasted "Parrot_Sub_get_line_from_pc optimizations for chromatic" (42 lines) at nopaste.snit.ch/18371 | 06:47 | |
| chromatic | Modest; how's it perform for you? | 06:48 | |
| cotto | measurable but modest | 06:49 | |
| chromatic | Yeah, a good compiler and a better language would recognize that those constants are hoistable, but getting const for structs and pointers working sanely in C is more work than I can contemplate. | 06:50 | |
| The only variable name that isn't sufficiently clear to me is offs. | |||
| current_annotation seems better, but it's long. | |||
| cotto | ironically that's not one I changed | ||
| chromatic | While you're in there. | ||
| cotto | sure | ||
| Do you have any thoughts how I could make that function faster? Before the patch it takes up ~38.74% of the time of the profiling runcore. | 06:53 | ||
| s/of the profiling/of the time spent in the profiling/ | |||
| chromatic | The problem is that our ops have variable sizes. Thus if we store annotations by index, we always have to walk the bytecode to get the current pc's annotation index. | 06:54 | |
| cotto | I'm specifically thinking of optimizations to make the data easier to find, but I don't know packfiles well enough thoroughly understand what the code is doing. | ||
| Austin | Actually, names i and n in the same loop are failing to convey much in the way of meaning. | 06:55 | |
| chromatic | I think we should use an array-based binary tree, which is O(log n) lookup if we use opcode addresses as keys. | 06:56 | |
| Insertion time isn't incredibly speedy, but we build that annotation segment once and use it much. | |||
| Austin | cotto: Is this for compiled code only? | 06:57 | |
| Or, put another way, can you count on a "compiler" being involved always? | |||
| Because you could just build an offset table and do a ragged bsearch for it. | |||
| chromatic | That's basically the way to do it. | 06:58 | |
| cotto | The speedup is on the order of 10% for non-optimized. | 06:59 | |
| on oofib.pir | |||
| chromatic | Stupid C and non optimizability, take that all you armchair language benchmarkers! | ||
| cotto | really | 07:00 | |
| Austin | What does ADD_OP_VAR_PART() do? | ||
| cotto | Those changes should make a difference at all, but it's measurable even with --optimize. | ||
| chromatic | Austin, because our ops have varying numbers of arguments, it has to look up the number of arguments for that op and figure out the address of the *next* op based on that. | 07:01 | |
| Austin | Right, but what's the output? | ||
| cotto | the last arg, n | 07:02 | |
| chromatic | It increments the last arg. | ||
| cotto | chromatic, do you have any idea of a better name for n and/or i? | ||
| Austin | The last arg that I can see is "var_args". | ||
| cotto | Austin, yes. That's the one that gets incremented. It's 'n' in the macro's definition. | 07:03 | |
| Austin | Ah. | ||
| chromatic | 'n' might be better as 'op' | 07:04 | |
| Austin | Would it improve things to eliminate 'n' entirely, and recast the loop in terms of base_pc <= pc? | 07:07 | |
| chromatic | Doesn't hurt my feelings. | ||
| Austin | Also, how often does this function get called? | ||
| cotto | nor mine, but I need to go to bed and want to commit something before #ps. | 07:08 | |
| Austin | :) | ||
| cotto | once per op in the profiling runcore | ||
| iirc | |||
| Austin | Oh | ||
| Then why not cache the last result in a couple of statics, and only do the one computation? | |||
| if (pc is still in this range) { re-use statics } else {do everything over} | 07:09 | ||
| chromatic | Threads, for example. | ||
| moritz | would that skew timing operations? | ||
| chromatic | Also it's not trivial to test if we've switched bytecode segments. | 07:10 | |
| Austin | That should be thread-safe, chromatic. If a different thread has a pc in the same sub, the results are still valid. We aren't using the same bytes with different entry points, yet, are we? | ||
| cotto | night | 07:11 | |
| Austin | g'night, cotto | ||
|
07:12
davidfetter joined
|
|||
| chromatic | Sure, now try synchronizing multiple threads writing to that static. | 07:12 | |
| dalek | rrot: r41936 | cotto++ | trunk/src/sub.c: [profiling] hoist some dereferencing out of a loop in Parrot_Sub_get_line_from_pc improve some variable names. |
||
| Austin | Is that an issue? I had the impression threads all had their own cores. | 07:13 | |
| If so, s/static/interp parasite/ | |||
| chromatic | I'm much more comfortable with it as somehow thread/interpreter local storage. | 07:14 | |
| Austin | Why not as an attachment on the sub. Build a table of pc -> line offsets one time, do a lookup. | 07:15 | |
| chromatic | That's better, but why not build it when we build the annotation structure? | 07:16 | |
| Austin | I don't know what the use case is. | 07:17 | |
| chromatic | I can't think of a case where we want to look in the annotation structure *without* tying it to specific ops. | ||
| Austin | If we can jam it into the compiled pbc, that's a win. But if we have to support the current format or something, it's doable on the fly. | ||
| Do we care about size? | |||
| chromatic | Within reason, no. | 07:18 | |
| Austin | So a lookup table, then. Offset -> line | 07:19 | |
| int offset = pc - base_bc; int line = debug_info->sub[subid]->offset2line[offset]; return line; | 07:20 | ||
| chromatic | Exactly. | ||
| Austin | Where's mgrimes at? | 07:21 | |
| He was just hacking imcc earlier tonight. | |||
| :) | |||
| chromatic | This is worse; this is PBC. | ||
| Did you see 300? | |||
| Austin | Nope. | ||
| chromatic | Did you read the book? | ||
| Austin | Like Titanic, I already knew how it was going to end. | ||
| Nope. | |||
| chromatic | Yeah, I have the Battle of Thermopylae trading cards too. | ||
| Austin | I'm 300-ignorant. | 07:22 | |
| Laugh | |||
| chromatic | I'll put it this way: people complain about IMCC because the few people stubborn enough to work on it and I complain about it. | ||
| People don't complain about PBC or freeze/thaw because no one's stubborn enough to work on it. | |||
| Austin | I thought bacek was doing something with PBC generation from pir a few weeks back. | 07:23 | |
|
07:23
joeri joined
|
|||
| chromatic | I thought he *was* a Spartan. | 07:24 | |
|
07:24
gaz joined
|
|||
| Austin | :) | 07:24 | |
| Oh Thpartakis! | |||
| chromatic | Classic whodunit. | 07:25 | |
| Austin | Romani ite domum. Romani ite domum. Romani ite domum. ... | 07:27 | |
|
07:33
fperrad joined
07:34
nopaste joined
07:59
bacek joined
|
|||
| bacek | who called my name? | 08:02 | |
| moritz | some name caller :-) | 08:04 | |
| bacek | moritz: :) | 08:06 | |
|
08:14
TiMBuS joined,
JimmyZ joined
08:29
bacek_ joined
|
|||
| dalek | rrot: r41937 | bacek++ | branches/pcc_reapply/src/pmc/class.pmc: Set and restore current_object during Class instantiate. Fix benchmark tests. |
08:31 | |
| moritz | so what's the state of pcc_reapply? can it be merged right after the release? | 08:34 | |
| bacek_ | moritz: mostly. One failing test atm | ||
| moritz | the threading issue? | 08:35 | |
| bacek_ | moritz: yes. | 08:37 | |
| moritz: but Rakudo can't be build on branch anyway. | 08:39 | ||
| moritz | I know, it pokes the guts too deeply | 08:40 | |
| allison | jonathan: very possibly (references into the constant's table) | 08:43 | |
| bacek_ | allison: question about r41937. Should invoke_from_sig_object always set current_object? | 08:45 | |
| allison | bacek: no, only methods set current_object | 08:46 | |
|
08:47
masak joined
|
|||
| allison | bacek: but then in all other cases current_object should be NULL | 08:47 | |
| bacek: honestly, current_object shouldn't be in the interpreter at all, it should be in the context | 08:48 | ||
| bacek_ | allison: it's in context. Sub PMC copy it across. | 09:02 | |
| But we should remove it from interp anyway | 09:03 | ||
| allison | bacek: ah, I was just skimming through the sub code, was skimming past interp->current_cont | 09:04 | |
| bacek: no 'ext' | |||
| bacek: so, just a knee-jerk reaction | 09:05 | ||
| there is no interp->current_context | |||
| bacek_ | INTERP->current_object | ||
| sub.pmc, line 410 | |||
| allison | bacek: that should be removed | 09:06 | |
| bacek: yes | |||
| bacek_ | probably during CallSignature/Context unification | 09:08 | |
| allison | bacek: yes, after the current refactor | ||
| allison needs breakfast | 09:09 | ||
| bacek just got dinner | |||
| allison: btw, we can avoid :call_sig after merging CallSignature and Context. It will be available from interp anyway | 09:12 | ||
|
09:14
einstein joined
|
|||
| allison | bacek: yes, but we don't want that as the commonly used interface | 09:15 | |
| bacek | allison: why? | ||
| allison | bacek: it's a pain to use, requires writing ugly code for a simple operation | 09:16 | |
| bacek: and, getting people to poke into the internals that way makes them more likely to make errors in the process | 09:17 | ||
| bacek: it's the old Huffman coding principle | |||
| bacek: if an operation is common, it deserves a simple way of using it | |||
| bacek | allison: I don't see much difference between ".param pmc sig :call_sig" and ".local pmc sig; sig = interpinfo .PARROT_CURRENT_CONTEXT" | 09:18 | |
| apart from less code in core | |||
| allison | bacek: people certainly can use the latter at any time, even if they have real parameters in the subroutine signature | 09:19 | |
| jonathan | Either works for me. OTOH, I'm still going to need to grab the current call sig from C anyway, since in at least one place I need it pre-invoke. | ||
| morning, btw | |||
| allison | bacek: but :call_sig is different, it specifies the signature of the subroutine as taking a single PMC | ||
| bacek | evening, jonathan :) | ||
| allison | bacek: it also allows people to pass in a single object as the call signature | ||
| bacek: call it an advanced form of :flat | 09:20 | ||
| bacek | allison: ah. So it's blocking whole PCC? | ||
| allison | bacek: aye, it's a back-door for access | 09:21 | |
| jonathan | ŠŃивеŃ, bacek :-) | ||
| allison | bacek: also, :call_sig on the param says "don't do any of the usual arg/param processing, I'll do that" | ||
| bacek | Š” ГобŃŃŠ¼ ŃŃŃŠ¾Š¼, ŠŠ¶Š¾Š½Š°Ńан :) | ||
| jonathan | bacek: The point is that PCC doesn't have any work to do. | ||
| bacek | allison: thats what I mean by " blocking whole PCC" | 09:22 | |
| allison | BTW, jonathan: for your purposes, when you get a raw call signature, would you rather have :flat args already flattened, or left whole for you to flatten your own way? | ||
| jonathan | It's useful for languages that are insane enough to feel they need their own custom binders. | ||
| ;-) | |||
| allison | bacek: yes, | ||
| jonathan | allison: I was expecting those to have been flattened when building the call_sig | 09:23 | |
| allison: I can handle it either way though. | |||
| allison | jonathan: they are now | ||
| dalek | rrot: r41938 | bacek++ | branches/pcc_reapply/src/call/args.c: Don't append "Pi" in front of signature if it's already present. |
||
| jonathan | allison: That works for me. | ||
| jonathan | allison: The bigger deal is not losing multiple named args when they both have the same name, but you've already suggested I may need my own subclass of CallSignature to make that work. | 09:24 | |
| allison | jonathan: yes, we're not supporting that | 09:25 | |
| jonathan: duplicate names are an explicit error in Parrot calling conventions | |||
| bacek think that we should get rid of Hashes for CallSignature. | |||
| Hashes are slow in this case anyway | |||
| moritz | maybe we can coax perl 6 into adapting the same policy | 09:26 | |
| allison | jonathan: what do you do with duplicate named args? | ||
| jonathan: anything useful? | 09:27 | ||
| jonathan: randomly pick one? | |||
| bacek | moritz: but we have to provide ways to override this behaviour. | ||
| moritz: (from parrot side) | |||
| allison | bacek: we have gotten rid of the internal Hash PMC in CallSignature, but are still using a hashing algorithm internally | 09:28 | |
| bacek: sure, that's a custom CallSignature object, can do anything | |||
| bacek | allison: I still see hashes inside CallSignature | 09:29 | |
| jonathan | allison: I think if we have an array parameter and multiple named args binding to it, then it's meant to collect them all into the array. | ||
| allison: I don't actually care a lot for the feature myself, tbh. | |||
| allison | jonathan: I can see that working, but yeah, it's borderline | 09:30 | |
| jonathan: I can see it leading to some confusion in reading the error messages when duplicate named's are passed accidentally | 09:31 | ||
| jonathan | allison: Heh, yeah. | ||
| allison: I think there may well be enough arguments against it to make it go away. :-) | 09:32 | ||
| allison | jonathan: :) | ||
| bacek thinking about std::multi_map from old good C++ world | 09:33 | ||
| dalek | tracwiki: v15 | bacek++ | CallingConventionsTasklist | 09:34 | |
| tracwiki: Strike out couple of implemented items | |||
| tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff | |||
| shorten | dalek's url is at xrl.us/bfs2xf | ||
|
09:49
desertm4x joined
10:09
mikehh joined
10:28
mikehh joined
10:32
AndyA joined
10:36
Hunger joined
10:54
Hunger joined
10:55
payload joined
11:01
fperrad_ joined
11:02
cconstantine_ joined
11:08
plobsing joined
|
|||
| einstein | does any body know what the current state is off the orderedhash_revamp branch? | 11:20 | |
| does the inplementation of ordered hash in this implementation work properly? | 11:21 | ||
|
11:28
AndyA joined
11:46
mikehh joined
11:53
pancake joined
|
|||
| pancake | what's parrot_nqp? | 11:53 | |
| purl | parrot_nqp is just the name of the fakecutable binary | ||
| pancake | it aborts in my box | ||
| moritz | there's some trouble with parallel builds and parrot_nqp | 11:54 | |
| pancake: are you using make -j $something? | |||
| pancake | no | ||
| moritz | anyway, parrot_nqp is the executable of the NQP compiler | 11:55 | |
| pancake | ok | ||
| dalek | rrot: r41939 | allison++ | branches/pcc_reapply/t/pmc/threads.t: [pcc] Don't compare the constants table to the namespace, as the namespace is |
11:56 | |
|
11:56
Hunger joined
|
|||
| dalek | TT #1120 created by allison++: [CAGE] More rigorous testing for constant tables across threads | 11:56 | |
|
11:58
whiteknight joined
|
|||
| whiteknight | good morning #parrot! | 11:58 | |
| allison | good morning, whiteknight | ||
|
11:59
mgrimes joined
|
|||
| whiteknight | hello allison, how are you today? | 12:02 | |
| allison | very well | ||
| whiteknight: you? | 12:03 | ||
| purl | you is very bed in engrish too | ||
| allison | thanks, purl | ||
| purl | no worries allison | ||
| whiteknight | tired. My wife was a bridesmaid in a wedding this weekend, so between rehearsal/rehearsal dinner/preparations/wedding/reception I was too busy | 12:04 | |
| allison | yes, those events tend to keep you running | 12:05 | |
| whiteknight | did you see the awesome progress in the pcc_reapply branch this weekend? | ||
| we were down to only one test failure when I logged off yesterday | 12:06 | ||
| allison | whiteknight: I did, yes, very impressed! | ||
| whiteknight: that one failure is gone, but I modified the test | |||
| whiteknight | what was the root cause there? | 12:07 | |
| allison | whiteknight: it's a pretty buggy test (fails on various runcores) | ||
| whiteknight | yeah, I noticed that | ||
| allison | whiteknight: it expects the constants table and the namespace to always store the same sub object | ||
| which is true in the main interpreter | 12:08 | ||
| mikehh | there were still failures in benchmark_tests - haven't tested this morning | ||
| doing so now | |||
| allison | but, in the thread the namespace and the sub object stored in it are cloned | ||
| while the constants table remains the same | |||
| whiteknight | okay, that's what I figured the issue was | 12:09 | |
| allison | mikehh: okay, thanks, I'm just running fulltest now | ||
| whiteknight | but then why does that test pass in trunk but not in brnach? | ||
| allison | whiteknight: it can be argued that either a) the constants table should be cloned, b) the namespace and sub object shouldn't be cloned or c) all sub access should be going through the namespace rather than directly through the constants table | 12:10 | |
| (i.e. what if the namespace is dynamically changed?) | |||
| whiteknight | My opinion there is that the NameSpace probably shouldn't be cloned | 12:11 | |
| but the real question is why the test was failing in the branch. | |||
| I didn't see any real changes to the NameSpace PMC or the cloning behavior | |||
| allison | whiteknight: still digging into that, but the time spent on this is seeming less and less useful, when it looks more like we've revealed a preexisting bug than caused one | 12:12 | |
| whiteknight | okay, gotcha | ||
| if it passes, and we're mergable, I say to just focus on that instead | |||
| allison | mikehh: got t/pmc/os.t failure in testr | ||
| whiteknight: aye, it's passing the part of the test that's enabled, just skipping one part of the test, and I added a ticket for that part | 12:13 | ||
| mikehh | running the tests now | ||
| allison | mikehh: mkay, weird, I get the failure in 'testr' in 'fulltest', but can't duplicate it running 'make testr' directly | 12:21 | |
|
12:22
bluescreen joined
|
|||
| mikehh | testr PASSed in fulltest | 12:28 | |
| in fact fulltest Passed all tests | 12:30 | ||
| allison | mikehh: excellent! | ||
| purl | EGG-see-lent! | ||
| allison | mikehh: I'll try a realclean | ||
| mikehh | so as of now r41939 all tests PASS in pcc_reapply branch for me - Ubuntu 9.10 beta amd64 | 12:31 | |
| moritz | purl: forget excellent | ||
| purl | moritz, I didn't have anything matching excellent | ||
| moritz | purl: forget excellent! | ||
| purl | moritz, I didn't have anything matching excellent | ||
|
12:32
ruoso joined
|
|||
| mikehh | pcc_reapply branch - All tests PASS (pre/post-config, smoke (#29190), fulltest) at r41939 - Ubuntu 9.10 (beta updated) amd64 | 12:33 | |
| Coke skips review! | |||
| (how refreshing.) | |||
| whiteknight | all tests pass!?! I | 12:37 | |
| 've been waiting to hear that for weeks | |||
| jonathan | Wow! | ||
| Nice work, all! | |||
| whiteknight | not time for congratulations quite yet. Still need to merge it and fix all the performance issues | 12:38 | |
| jonathan | whiteknight: Oh, for sure. But it's an achievement to have reached this point too. :-) | 12:39 | |
| whiteknight | true | ||
| jonathan | I think Parrot has just achieved a register allocation failure too. :-/ | ||
| whiteknight | a lot of people with a very focused prolonged effort got us to this point. | ||
| jonathan | Investigating. | ||
| whiteknight | damnit! Who the hell is even making changes in trunk right now? | 12:40 | |
| the branch is where the party is | |||
| jonathan | whiteknight: Oh, I doubt this is new... | ||
| whiteknight | oh, okay | ||
| jonathan | whiteknight: If it is that. | ||
| whiteknight: I'm struggling to believe it really is that. But I'm also struggling to see why the address of something in a P register would change betwen two points where I don't set anything to that register. | 12:41 | ||
| moritz | threads! | 12:42 | |
| purl | threads is probably ithreads, Thread is 5.005 threads (older) | ||
| jonathan | moritz: There's the small issue that I only have one thread running, afaik... | 12:43 | |
| :-P | |||
| mikehh | looking at the fulltest log I get 2 TODO passes in testS | ||
| Test Summary Report | 12:45 | ||
| ------------------- | |||
| t/op/debuginfo.t (Wstat: 0 Tests: 8 Failed: 0) | |||
| TODO passed: 7 | |||
| t/pmc/threads.t (Wstat: 0 Tests: 14 Failed: 0) | |||
| TODO passed: 13 | |||
| Files=215, Tests=6028, 57 wallclock secs ( 2.94 usr 0.63 sys + 43.84 cusr 22.42 csys = 69.83 CPU) | |||
| Result: PASS | |||
| einstein | I found a litte but nasty bug which could cause problem in system.c->trace_mem_block | ||
| whiteknight | einstein: do tell! | 12:46 | |
| that whole file is a nasty little bug | |||
| moritz | did anybody benchmark PGE in trunk and pcc_reapply branch? | ||
| whiteknight | :) | ||
| einstein | prefix = mask & buffer_min; should be prefix = maks & (buffer_min < pmc_min ? buffer_min : pmc_min); | 12:47 | |
| Coke | does the no-or-mostly-no-failures-in-pcc-reapply still need buildframes=0? | ||
| mikehh | and t/pmc/threads.t has a TODO pass 13 in testC | 12:48 | |
| whiteknight | t/pmc/threads.t:13 is the devil | ||
| einstein | it is a small one but in certain condition this can cause nasty problems | ||
| allison | mikehh: yes, I commented out a part of t/pmc/threads.t that was failing before in trunk | 12:49 | |
| mikehh | should I remove those TODO's or are we going to do some more work on that | ||
| whiteknight | einsein: ah, that is pretty obscure | ||
| but yes, I can see that being a proble | |||
| einstein | could you make the small change and patch it into the trunk? | 12:50 | |
| whiteknight | einstein: could you make a ticket? I'm not really able to make changes or test them at work | 12:51 | |
| einstein | ok i will do | ||
| whiteknight | thanks | 12:52 | |
| pcc_reapply build still fails on win32 | 12:56 | ||
| src/nci_test.c:750: Undefined reference to 'PMCNULL' | 12:57 | ||
| the parrot executable builds, but this stupid test library does not | |||
| and without that apparently I can't run coretest | |||
| jonathan | whiteknight: It fails when compiling the C file or when linking? | 12:58 | |
| Any warnings? | |||
| whiteknight | jonathan: when linking | ||
| no warnings that I can see, at least none in this file | |||
| dalek | TT #1121 created by jessevdam++: system.c trace_mem_block small bug | ||
| whiteknight | although for some reason it appears to be linking that library with g++ instead of gcc like everything else in the build | 12:59 | |
| that's weird | |||
| oh nevermind, it linked libparrot with g++ too for some reason | |||
| jonathan | whiteknight: Is libparrot referenced in the link line? | ||
| In the same was as for the Parrot executable? | 13:00 | ||
| whiteknight | don't know, already closed the window and am trying something different | ||
| jonathan | ah, ok :-) | ||
| whiteknight | sorry | ||
| jonathan | np | 13:02 | |
| Am I right in thinking that PASM output is broken? | 13:03 | ||
| That is, taking PIR and seeing what PASM it emits? | |||
| moritz | I think somebody mentioned that here last week, yes | 13:04 | |
| jonathan | aww | ||
| Makes it a tad harder to see whether I've actually got a regalloc issue. | 13:05 | ||
| moritz | have fun inspecting the byte code | ||
| jonathan | :'( | 13:08 | |
| whiteknight | PASM output from PIR has always been broken, I think | 13:10 | |
| and I have no idea why | |||
| jonathan: no, libparrot is not included in the link for libnci_test.dll | 13:11 | ||
| purl | okay, whiteknight. | ||
| whiteknight | goddamnit purl! | 13:12 | |
| jonathan | whiteknight: That may well be the issue. | 13:13 | |
| Hmm | |||
| tmp = wrapper.'get_outer'() | |||
| Why on earth would this line affect the value of another symbolic register? | |||
| Commenting it out means a totally unrelated register...doesn't get changed. | 13:14 | ||
| whiteknight | what type is wrapper? | ||
| jonathan | a Sub, or some subclass of it. | ||
| whiteknight | and is this in branch or trunk? | ||
| jonathan | Working against Parrot trunk. | ||
| Thing is, I think it works without my other Rakudo changes. :-S | 13:15 | ||
| I just can't see what on earth it's doing. | |||
| whiteknight | what is tmp then, a context? | 13:17 | |
| jonathan | No, should just be the outer sub. | 13:18 | |
| whiteknight | you could be corruping memory somewhere, overwriting the register storage | ||
| jonathan | Could be. | ||
| Just tyring to work out how/where. | |||
| whiteknight | right | ||
| jonathan | And what has changed that's caused this. | ||
| whiteknight | what project are you trying to work on right now? | ||
| (personal curiosity) | 13:19 | ||
| jonathan | Rakudo | ||
| whiteknight | right, which project in rakudo | ||
| jonathan | I'm trying to deal with the last remaining test failures in the resig2 branch. | ||
| So it can be merged. | |||
| whiteknight | oh, okay | ||
| jonathan | Preferably regressing on as little as possible. | ||
| Somehow the .wrap implementation has got broken. | 13:21 | ||
| Which is the bit I'm trying to work out at the moment. | |||
|
13:26
mj41_ joined
13:28
bluescreen joined
|
|||
| whiteknight | yay! building on win32 again | 13:29 | |
| and testing now... | |||
| jonathan | I think this will count as one of the worst patches I ever commit... | 13:32 | |
| gist.github.com/213359 | |||
| The worst bit is that it actually works. | |||
|
13:45
pancake joined
|
|||
| pancake | parrot fails the build on scratchbox | 13:45 | |
| i get an illegal instruction with ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pir | |||
| whiteknight | illegal instruction? | 13:47 | |
| purl | well, illegal instruction is "fcomi" or a perl's way of saying "You done messed up good, boy!'" | ||
| whiteknight | don't see too many of those around here | ||
| pancake | yep, it's an immigrant | ||
| qemu: uncaught target signal 4 (Illegal instruction) - core dumped | 13:48 | ||
| any idea about how to debug this without ptrace? (qemu-arm doesnt supports ptrace) | |||
|
13:52
payload joined,
JimmyZ joined
14:08
Andy joined
14:09
PacoLinux joined
|
|||
| dalek | TT #1122 created by mgrimes++: [PATCH] Convert more tests from perl to pir | 14:21 | |
|
14:29
payload joined
14:48
payload joined
|
|||
| dalek | rrot: r41940 | cotto++ | trunk/src/hash.c: [hash] typo fix in docs |
14:53 | |
|
14:55
Zak joined
14:57
Psyche^ joined
15:02
rdice joined
|
|||
| whiteknight | pcc_reapply: all tests pass on win32 (except the ones that don't pass in trunk anyway) | 15:12 | |
| cotto | yay for caching! | 15:16 | |
|
15:19
iblechbot joined
|
|||
| dalek | rrot: r41941 | cotto++ | trunk (2 files): [profiling] add a pc->line number cache to the profiling runcore time spent in Parrot_Sub_get_line_from_pc, reducing it from ~38% to ~0%. (parrot_hash_get is at about 2.74%.) This will cause a slowdown for programs without many loops, but such programs are not likely to be profiled in the first place. |
15:21 | |
|
15:25
hercynium joined
|
|||
| whiteknight | cotto++ | 15:26 | |
| dalek | rrot: r41942 | whiteknight++ | branches/pcc_reapply/config/gen/makefiles/root.in: [pcc] update makefile so that libnci_test.dll builds properly on win32. Don't know why this isn't happening already, but this was breaking the build |
15:31 | |
|
15:38
donaldh joined
15:41
zostay joined
|
|||
| dalek | kudo: 1f16505 | moritz++ | README: [README] mention win32 builds |
15:42 | |
| shorten | dalek's url is at xrl.us/bfs37r | ||
|
15:45
Austin joined
|
|||
| cotto_work | I see my counterpart's been active ;) | 15:49 | |
|
16:06
theory joined
16:36
bacek joined
|
|||
| cotto_work | hi bacek_at_work | 16:42 | |
| s/_at_work// | |||
| bacek | cotto_work: I'll be at work soon... | 16:46 | |
| cotto_work | clock? | ||
| purl | cotto_work: LAX: Mon 9:46am PDT / CHI: Mon 11:46am CDT / NYC: Mon 12:46pm EDT / LON: Mon 5:46pm BST / BER: Mon 6:46pm CEST / IND: Mon 10:16pm IST / TOK: Tue 1:46am JST / SYD: Tue 3:46am EST / | ||
| cotto_work | I guess that magical coding robots don't need much sleep. | 16:47 | |
| speaking of magical robots: jwz.livejournal.com/1107303.html | 16:48 | ||
| bacek | cotto_work: sigh... We have big production release at 5AM... | ||
| cotto_work | urg | ||
|
16:49
mikehh joined
|
|||
| Austin | cotto_work: nice video. I have to agree with the guy that asks why they haven't weaponized it yet. Don't they *want* a billion-dollar grant from the Air Force? | 16:59 | |
|
17:03
donaldh left
|
|||
| cotto_work | It looks like the parallel build is br0ken in pcc_reapply | 17:05 | |
| dalek | rrot-plumage: 68f1caa | japhb++ | : [plumage] Dependency resolution step 1: showdeps command |
||
| shorten | dalek's url is at xrl.us/bfs4jv | ||
| whiteknight | stupid build | 17:12 | |
| how goes it Austin? | 17:16 | ||
| how is Close coming along? | |||
| Austin | It's getting closer. | ||
| :) | |||
| whiteknight | yay! puns. | ||
| cotto_work groans | |||
| Austin | I just now stumbled on this error from PCT: rtype not set | 17:17 | |
| I must be making progress if I can make PCT break, no? | |||
|
17:18
payload joined
|
|||
| bacek_at_work | good morning. fsvo good | 17:19 | |
| whiteknight | hello bacek_at_work | ||
| bacek_at_work | whiteknight, hi | ||
| whiteknight | pcc_reapply is passing all tests now | 17:20 | |
| Austin | How goes the production release, bacek? | ||
| whiteknight | so we did good work this weekend!! | ||
| Austin | Congratulations, WhiteKnight. | ||
| cotto_work | isn't that because some tests got todo | ||
| 'd though? | |||
| whiteknight | the one test that was marked TODO was busted anyway | ||
| bacek_at_work | Austin, it's going. | ||
| dalek | p-rx: eb3ae12 | pmichaud++ | src/cheats/hll-grammar.pir: Add some comments and documentation to hll-grammar.pir . |
17:27 | |
| p-rx: b596526 | pmichaud++ | src/ (4 files): Add quote_EXPR subrule, start to handle various combinations for |
|||
| shorten | dalek's url is at xrl.us/bfs4nq | ||
| shorten | dalek's url is at xrl.us/bfs4ns | ||
| dalek | p-rx: 5648720 | pmichaud++ | src/ (5 files): OPP first step -- parse a term. |
||
| shorten | dalek's url is at xrl.us/bfs4nu | ||
| dalek | p-rx: f4c2dcb | pmichaud++ | src/ (2 files): Add a termstack, some infix grammar rules. |
||
| shorten | dalek's url is at xrl.us/bfs4nw | ||
| dalek | p-rx: 0bd524c | pmichaud++ | src/ (4 files): OPP: first stage of handling infix tokens |
||
| shorten | dalek's url is at xrl.us/bfs4ny | ||
| dalek | p-rx: 74835b5 | pmichaud++ | src/ (4 files): Add some precedence to the operator tokens, fix operator spec parsing. |
||
| shorten | dalek's url is at xrl.us/bfs4n2 | ||
| treed | What is nqp-rx? | ||
| Aww, purl doesn't know. | |||
| japhb | treed: a rewrite of NQP and PGE | ||
| treed | Oh! This is that. | ||
| Neat. | |||
| japhb | Indeed! | ||
| Austin | purl, nqp-rx is a rewrite of NQP and PGE. | 17:34 | |
| purl | OK, Austin. | ||
| cotto_work | whiteknight, whatever happened to your proposal for libjit- and llvm-based frame builders? Are you going ahead with that? | 17:35 | |
| Austin | FWIW, "rtype not set" in this particular case meant: Don't write self.declarator := ...; but rather write self.declarator(...) because it's a method. | ||
| whiteknight | cotto_work: yes. pcc_reapply has been priority | ||
| cotto_work | glad to hear it | ||
| it's also excessively nice to see all tests passing in pcc_reapply | 17:37 | ||
| jonathan | Is pcc_reapply likely going to get merged after the next release | 17:40 | |
| ? | |||
| As in, shortly after? | |||
| whiteknight | jonathan: yes | ||
| that's the plan anyway | |||
| jonathan | Excellent. | ||
| whiteknight | and then we can focus on performance issues in trunk | ||
| tomorrow at #ps would be a good time to talk about it more | 17:41 | ||
| and then after the release we can have a merge frenzy | |||
| cotto_work | Heh. I've been enough out of the loop that I didn't even realize how soon the release is when I made those earlier commits. | ||
| whiteknight | yeah, tomorrow is dukeleto, I think | 17:42 | |
| jonathan | \\o/ | 17:43 | |
| Also, looks like Rakudo's signature re-working will land in master in a couple of hours. | |||
| A few days ahead of the Rakudo release. :-) | 17:44 | ||
| After that's in, I'll start a branch to focus on getting it to build against pcc_reapply. | |||
| whiteknight | okay. If it's priority I can probably add :call_sig within afew hours tonigh | 17:45 | |
| jonathan | whiteknight: I was thinking of doing it in two steps. | ||
| First just make it build and work with the slurpies, as it uses now. | |||
| And then when that will fly and pass the tests, do call_sig, which should make us faster. | 17:46 | ||
| whiteknight | I may add :call_sig soon anyway. It's going to be very easy I think | ||
| jonathan | whiteknight: Sure, my point was, don't sweat over it. :-) | 17:47 | |
| It'll be great to have. | |||
| whiteknight | okay, awesome | ||
|
17:47
payload joined
|
|||
| jonathan | :-) | 17:47 | |
| You'll do it on the caller side as well as the callee, yes? | 17:48 | ||
| (when you get to it, that is) | |||
| whiteknight | caller side? How would that work? | ||
| like, specify an existing CallSignature to use? | |||
| jonathan | whiteknight: foo($P1 :call_sig) | ||
| whiteknight: Right. So consider the case where I'm delegating. | |||
| allison | whiteknight: they can pass in any object to use as the call signature | ||
| whiteknight | gotcha. That should be relatively easy to add as well | 17:49 | |
| jonathan | I don't want to take a call signature apart only to build a new one with the same stuff in. :-) | ||
| whiteknight | in set_params, if the input PMC type is a CallSignature, use that directly instead of creating a new one | ||
| jonathan | Sounds about right. | 17:50 | |
| break, bbs | |||
| whiteknight | ok | ||
| Allison: are there any other of these "special" parameter types that we might want to add? | 17:51 | ||
| being able to specify the caller Sub, or a Context or something in a parameter might be interesting | |||
| allison | whiteknight: I'd hold off until we have a specific use for it (can always add features later, harder to remove them). | 17:53 | |
| whiteknight: we're planning to unify context in to call signature, so that'll be the same option | |||
| whiteknight | Okay, what I'm mostly asking about in a roundabout way is whether to make this mechanism general or specific to this case | ||
| cotto_work | allison, with all the fancy stuff that pcc does, is it possible that it'll be faster for a language with C-style function calls to do its own processing? | 17:54 | |
|
17:55
fperrad_ joined
|
|||
| allison | cotto: if the language only uses simple positionals, it's pretty cheap | 17:55 | |
| cotto: the expense comes when you use the fancy features | |||
| cotto_work | ok | ||
| allison | cotto: and we can do more to make the simple case even cheaper | 17:56 | |
| whiteknight | we have the pretty algorithm now, there is plenty we can do to make it faster all around | ||
| cotto_work | I'm sure there are many optimizations lurking in all that freshly-written code. | ||
| whiteknight | and more importantly, we have a lot of developers empowered to make those changes | ||
| cotto_work | very yes | ||
| allison | aye | 17:57 | |
| cotto_work | and it's much more discoverable for the rest of us | 17:58 | |
| nopaste | "pmichaud" at 72.181.176.220 pasted "operator precedence parsing in nqp-rx" (38 lines) at nopaste.snit.ch/18372 | 17:59 | |
| whiteknight | pmichaud: looks awesome | 18:00 | |
| Allison: do we want any particular rules concerning :call_sig? I'm thinking it should be the one and only parameter | |||
| that makes a lot of short-circuiting logic cleaner, I think | 18:01 | ||
| allison | yes, other args or params would be an error | ||
| whiteknight | okay. Perfect. I could have that added tonight then if no issues come up | ||
| (or wait till after the merge too) | |||
| allison | work on it tonight, but don't commit it | 18:02 | |
| (keep the scope creep down on the branch) | |||
| it's a small feature, can be committed right after the merge | |||
| dalek | p-rx: 9083197 | pmichaud++ | src/ (2 files): Refactor the opstack and termstack to hold Match objects instead of cursors. |
18:03 | |
| shorten | dalek's url is at xrl.us/bfs4tb | ||
| dalek | p-rx: ecc6416 | pmichaud++ | src/cheats/hll-grammar.pir: Add left associativity to precedence parser. |
||
| shorten | dalek's url is at xrl.us/bfs4td | ||
| dalek | p-rx: 5b872f0 | pmichaud++ | src/ (3 files): Reduce higher predecence operators immediately. |
||
| shorten | dalek's url is at xrl.us/bfs4tf | ||
| dalek | p-rx: 0428b85 | pmichaud++ | src/cheats/hll-grammar.pir: Remove some debugging code. |
||
| shorten | dalek's url is at xrl.us/bfs4th | ||
| whiteknight | fair enough, I'll put together a patch | 18:04 | |
| dalek | rrot-plumage: 950fede | japhb++ | : [CORE] Glue.pir: Add readdir(); add missing SYNOPSIS entry for unlink() |
18:13 | |
| shorten | dalek's url is at xrl.us/bfs4ut | ||
| dalek | rrot-plumage: 20d3533 | japhb++ | : [plumage] Dep. handling 2: Separate missing projects v. unrecognized dep... |
||
| shorten | dalek's url is at xrl.us/bfs4uv | ||
| dalek | rrot-plumage: 14fc150 | japhb++ | : [plumage] Add projects command to list known projects |
||
| shorten | dalek's url is at xrl.us/bfs4ux | ||
| whiteknight loves watching the commits roll through | |||
| it's so exciting when things are happenig | |||
| japhb | whiteknight, yeah, it's a good day, isn't it? :-) | ||
|
18:16
mikehh joined
|
|||
| dukeleto | 'ello | 18:20 | |
| whiteknight | hello dukeleto | ||
| ready for your big day tomorrow? | |||
| dukeleto | tomorrow is release day, anything I should know about, to add to the release notes? | ||
| whiteknight | it should be an easy month for release notes, much of the focus was in the pcc_reapply branch | ||
|
18:21
darbelo joined
|
|||
| dukeleto | whiteknight: trying my best. I am chilling in the airport right now, waiting to go to SFO and then the GSoC summit on Wed | 18:21 | |
| whiteknight | lucky | ||
| dukeleto | whiteknight: yes, seems so | ||
| whiteknight | I'm sitting at work, waiting to go back to work tomorrow | ||
| cotto_work | whiteknight, nothing to do? | 18:22 | |
| whiteknight | cotto_work: lots of work to do | ||
| but nothing else | |||
| purl | nothing else is counting how many hours scrottie's computer has been on! SMART rules! | ||
|
18:25
payload joined
|
|||
| dukeleto | the pcc_reapply branch fails to build without an installed parrot already present. can someone fix that? | 18:26 | |
| nopaste | "dukeleto" at 67.88.206.98 pasted "pcc_reapply fails at without an installed parrot" (5 lines) at nopaste.snit.ch/18373 | 18:27 | |
| dukeleto | gotta board soon | ||
| cotto_work | dukeleto, are you using -j with make? | 18:28 | |
| whiteknight | that can't be true, I don't ever install Parrot and it works on my machine | ||
| cotto_work | I saw a similar problem with a parallel build earlier today | ||
| whiteknight hates makefile problems | 18:29 | ||
| whiteknight hates makefiles | |||
|
18:29
fperrad_ joined
|
|||
| makefiles hate whiteknight | 18:33 | ||
| darbelo | ;) | 18:34 | |
| whiteknight | ah, poetic irony | ||
| darbelo | whiteknight: Do you have a tasklist of TODO for matrixy or parrot-linear-algebra? | 18:35 | |
| whiteknight | darbelo: nothing formal, no. I talked about it on my blog recently. | 18:36 | |
| Maybe we should come up with a roadmap for those projects | |||
| One thing we could start on immediately would be to create that 2-D matrix PMC type | |||
| if you have any ideas about that, I would love to hear them | 18:37 | ||
| because right now Matrixy is using nested RPAs, and that's a huge mess | |||
| Also, we're going to need something better if we want to properly support Cell arrays | 18:38 | ||
| darbelo | Not many ideas, I was expecting matrixy to be harder to get going. It was a case of "Wait. I'm done? Where do I go from here?" | ||
| whiteknight | I have't even tried, but do the tests work and all? | 18:40 | |
| The tests that rely on the libraries won't pass, of course | |||
| darbelo | I only tried the fakecutable/REPL | ||
| And only did very basic stuff there, multiplied vectors, etc. | 18:42 | ||
| darbelo barely recalls any MATLAB | |||
| whiteknight | the hardest part about Matlab to reproduce is all the syntax, which can be a little weird. | 18:44 | |
| I think Matrixy faithfully reproduces the whitespace handing, and the function dispatcher is working well too | 18:45 | ||
| next big steps are variadic input/output arguments, and then supporting Cell arrays | |||
| and structures | |||
| once that's done, syntax is mostly complete and we can write all the rest in M itself | 18:47 | ||
| darbelo | self-hosting++ | 18:49 | |
| nopaste | "darbelo" at 200.49.154.173 pasted "matrixy test output." (29 lines) at nopaste.snit.ch/18374 | 18:50 | |
|
18:50
desertm4x joined
|
|||
| darbelo | Seems to work, but I don't know where that "error: Direct creation of Iterator" is coming from. | 18:51 | |
| whiteknight | that is weird. Never saw that error before | 18:52 | |
| and more tests should have run, there are like 2 dozen test files | |||
| oh, did you make test? | |||
| darbelo | nope, just ran individual test files. | 18:53 | |
| whiteknight | oh, okay | 18:54 | |
| ah, I know. These files come from before the iterators refactor by bacek++ | 18:55 | ||
| so we're using the wrong syntax for some of our helper functions somewhere | |||
| need to replace all "new 'Iterator'" to use "iter" opcode | |||
| darbelo | I haven't fixed the harness yet. So, make test fails horribly, but I probably can do that today. | 18:56 | |
| whiteknight | src/internals/stdio.pir contains a few instances of "new 'Iterator'" that need to be fixed | 18:58 | |
| darbelo | src/builtins/sum.pir has another one. | 18:59 | |
| whiteknight | those are the ones probably borking up the test output | ||
| yeah, just goes to show how old some of this code is | |||
| darbelo | And yet, it worked with minor tweaks. | 19:00 | |
| It's a nice change from breaking partcl and rakudo every week. | |||
|
19:00
Ron joined
|
|||
| whiteknight | we definitely need to write proper bindings for CBLAS and CLAPACK in parrot-linear-algebra first | 19:04 | |
| We might also want to have bindings for GSL as well | |||
| I don't know what all libraries people might want, or what's sticktly "in scope" | 19:05 | ||
| darbelo | dukeleto had ideas about that. | ||
| whiteknight | ...and he's probably on a plane now | ||
| there are a lot of ways we could go about it, even if we just look at CBLAS | 19:06 | ||
| like we could create a matix PMC type that contains bindings for all the CBLAS routines internally, as methods and stuff | 19:07 | ||
| or we could provide raw NCI bindings and a dumb PMC type and let the PIR programmers worry about the details | |||
| desertm4x | I would prefer the first one. | 19:08 | |
| But actually, one of the things that worries me most is the fact that there are lots of different types of matrices (even having different packing formats). | 19:09 | ||
| whiteknight | right, that's what I'm worried about | 19:10 | |
| the average user might not know whether they have a diagonal matrix, or a hermitian matrix, etc. And then nothing gets dispatched to the correct functions | |||
| of course, most of them are optimizations | 19:11 | ||
|
19:12
bacek joined
|
|||
| darbelo | handling sparse matrices gracefully is more of a need thatn an optimization for matrixy. | 19:12 | |
| whiteknight | Matlab syntax does require sparse matrices | ||
| desertm4x | yes, but general sparse matrices are a bit out of scope as they are not well supported by LAPACK | ||
| whiteknight | so we could end up with a few PMC types: 2DNumber, 2DComplex, 2DSparseNumber, 2DSparseComplex, etc | 19:13 | |
| desertm4x: true. Of course, we could provide translation routines Sparse<->Dense | |||
| desertm4x | Yes, that's actually what MATLAB does when multypling a sparse matrix and a dense matrix, for example, I think. | 19:14 | |
| whiteknight | So all the LAPACK bindings could convert automatically | ||
| right | |||
| desertm4x | What I wanted to say is that we need a different library for sparse matrices and that this is probably not the first step, though we should consider it when thinking about the data types, etc. | 19:15 | |
| whiteknight | do libraries for that exist? | ||
| nevermind, ACML | 19:16 | ||
| desertm4x | Well, MATLABs implementation for sparse matrices is proprietary, I think, but I do not know exactly. | ||
| whiteknight | me either | 19:18 | |
| darbelo | Octave has sparse matrices, we could take a look at that. | 19:19 | |
| whiteknight | Yes, I really should look more at the Octave source for some of these things | ||
| I don't want to steal from them wholesale, but it would be nice to see how they do it | 19:20 | ||
| PerlJam | You could look at how PDL does its magic too | 19:22 | |
| whiteknight | I always forget about PDL | ||
| but I suspect they are using a lot of XS evilness that I don't want to deal with | |||
| PerlJam | could be. | ||
| darbelo | "XS: evilness that I don't want to deal with." | 19:23 | |
|
19:24
ash_ joined
|
|||
| dalek | rrot-plumage: 483e9e1 | japhb++ | : [CORE] Glue.pir: Add append() I/O function; Util.nqp: Add set_from_array... |
19:30 | |
| whiteknight | Matrixy currently stores everything in nested ResizablePMCArrays. And for every BLAS call has to rearrange those data items into a dumb buffer for the function call and then ack out again afterwards | ||
| dalek | rrot-plumage: 10a25e1 | japhb++ | : [plumage] Dep. handling 3: Remember installed projects; use them to reso... |
||
| shorten | dalek's url is at xrl.us/bfs5bf | ||
| shorten | dalek's url is at xrl.us/bfs5bh | ||
| whiteknight | at the very least we want a solution that doesn't have these algorithmic problems | 19:31 | |
| darbelo | Ouch. | 19:32 | |
| whiteknight | right | ||
| so I'm thinking we do two things: (1) PMC types that implement buffer storage, use BLAS library calls to implement some VTABLEs, and add a few methods as well as necessary | 19:33 | ||
|
19:33
Zak joined
|
|||
| whiteknight | and (2) proper NCI bindings for PIR so other people can play with those if they are interested | 19:33 | |
| since LAPACK calls are going to be tricky, we will probably want to keep them as bindings and not integrate them into the PMC directly | 19:34 | ||
| desertm4x | Yes. | 19:35 | |
| whiteknight | otherwise we would end up with a PMC type that has hundreds of methods, or something equally lousy | 19:36 | |
| darbelo | We should leverage the vtable interface as much as possible there. Methods have a speed penalty. | 19:37 | |
| whiteknight | very true. VTABLE_add, VTABLE_multiply, VTABLE_divide would all be good to implement directly | ||
| VTABLE doesn't really have a good interface for specifying rectangular coordinates though | 19:38 | ||
| brb | 19:39 | ||
|
19:39
zerhash joined
19:42
whiteknight joined
|
|||
| whiteknight | back | 19:43 | |
| darbelo | Say, have you given any thought to plot()? | 19:44 | |
| whiteknight | we should probably decide which libraries we want to target | ||
| darbelo: no. Not at all | |||
| none of that graphics stuff is going to be doable for a while | 19:45 | ||
| darbelo is all about the pretty pictures. | |||
| ;) | |||
| whiteknight | yeah | ||
| desertm4x | =) | ||
| whiteknight | well, I think moritz was doing some cool SVG libraries for Perl6, so we could import his library | ||
| and I know proper Tk bindings are in the pipeline somewhere | 19:46 | ||
| Octave taps into GNUPlot, so maybe we could do the same | 19:47 | ||
| desertm4x | Concerning the matrix PMC, CBLAS is the only option. Using LAPACK within the PMC is not a good idea, in my opinion (though I do not have any experience about what is good and bad when talking about PMCs). | 19:50 | |
|
19:50
joeri left
|
|||
| desertm4x | We may also should think about implementing a separate vector PMC, especially to avoid confusion about norms. | 19:51 | |
| whiteknight | desertm4x: Right, but which BLAS implementation do we want to use? CBLAS? ATLAS? GSL? | ||
| vector PMC would be very very good, so long as we had a solid way to convert | 19:52 | ||
| or a PMC with an "is_vector" flag | |||
| because we need row and column vectors | |||
|
19:53
pnate joined
|
|||
| desertm4x | Yes, but that could also be a "transposed" flag or we could implicitly treat it as a vector if either the number of rows or columns is 1. | 19:53 | |
| ash_ | i think there is an issue with make test on at least OS X 10.6.1, with a fresh checkout, the first time i run it, it gives me an error, is this a known issue? for some reason if you run make test again, it works fine, but the first time it gives me an error | 19:56 | |
| darbelo | ash_: Can you nopaste the error? | ||
|
19:57
mikehh joined
|
|||
| desertm4x | Do we need to decide which BLAS implementation we use? Can't we detect the one that is available if one is available? | 19:57 | |
| darbelo | I'd go for cblas. | ||
| whiteknight | if we can detect, that would be best | 19:58 | |
| ash_ | darbelo: nopaste.com/p/a8EsOqgAl | ||
| whiteknight | but then we would need to add in checks to the configure/build process | ||
| darbelo | GSL is a lot more than a BLAS, and I don't have anything other than those two on my platform ;) | ||
| ash_ | pnate had the same issue, paste.lisp.org/display/88921 | ||
| whiteknight | so let's come up with a Configure.pl script that attempts to detect CBLAS. Once we have that, we can try to extend it to discover other implementations as well | 19:59 | |
| desertm4x | Sounds good to me. | 20:00 | |
| darbelo | +1 | ||
| purl | 1 | ||
| darbelo | purl: die in a fire. | 20:01 | |
| purl | HALP | ||
| darbelo | ash_: That's one odd failure. Can you open a trac ticket for it? | 20:02 | |
| ash_ | sure | 20:03 | |
| its happened on 2 OS X 10.6.1 computers, don't know how long its been going on, we both had the trunk checked out too | |||
| whiteknight | okay, I think CBLAS is a good bet then | 20:12 | |
| desertm4x | Yes, I think it's widely-used as well. | 20:13 | |
|
20:15
kurahaupo joined
|
|||
| whiteknight | ok. I think that's enough information for us to really get started | 20:16 | |
| which is good, since I have to pack up and go home now | |||
| desertm4x | Yes, in the long term we still should think about matrix types and sparse matrix formats, but a dense full matrix type is the thing we need first anyway. | 20:17 | |
| whiteknight | true | ||
| tonight I'll update the README file, and then create a CREDITS file where we can all "sign in" | 20:18 | ||
| kurahaupo | desertm4x: How does a tensor differ from a fixed-size numeric array? | ||
| whiteknight | tensor is more then 2D | ||
| kurahaupo | (Yes, that's why I said "tensor" rather than "matrix" or "vector") | 20:19 | |
| darbelo throws his colection of 1D tensors away. | |||
| moritz | actually a tenso is a mathematical object that follows certain transformation properties | ||
| *tensor | |||
| whiteknight | Okay, I am signing off and heading home. Talk to you guys later | ||
| moritz | so not every matrix is a tenso | ||
| r | |||
| but there are also 3-dim tensors | |||
| kurahaupo | moritz: point taken | 20:20 | |
| purl | Hey, give that back! | ||
| desertm4x | kurahaupo, so you are interested in differences between a matrix and a fixed-size numeric array? | 20:25 | |
| dalek | TT #1123 created by ash.gti++: Make Test errors on OS X 10.6.1 | 20:29 | |
| kurahaupo | desertm4x: yes please. Have been looking at the implementation of arrays and realising that variable-sized arrays are bad for thread-safety vs performance | 20:30 | |
| (fixed-sized arrays are better, but only if we "do it right") | 20:32 | ||
| dalek | ose: r186 | Austin++ | trunk/ (18 files): Got function marshalling working better. |
20:35 | |
| ose: r187 | Austin++ | trunk/src/Slam/Visitors/FunctionMarshalling.nqp: Got function marshalling working better. (Now with FunctionMarshalling.nqp) |
|||
| ose: r188 | Austin++ | trunk/ (2 files): Added NamespaceDefinition - models the input code structure better than |
|||
| desertm4x | I do not know much about fixed-size arrays yet, but internally the data is stored similarly. The matrix allows more types than there are fixed-size arrays for, as far as I can see, for example. And operations are defined quite differently. I do not see too much these containers have in common actually, but maybe I'm just missing your point. | 20:36 | |
| dalek | ose: r189 | Austin++ | trunk: Ignoring close.cfg now that close_cfg.tmpl is working. |
20:39 | |
| rrot-plumage: ad0dd7d | japhb++ | : [plumage] Dep. handling 4: Automatically install project dependencies be... |
20:40 | ||
| shorten | dalek's url is at xrl.us/bfs5ni | ||
| japhb | I'm thinking that the code that maintains and updates the metadata (basically, server-side stuff) can be in "real" Perl 6, unlike the code that uses the metadata (client-side stuff), which is all in NQP and PIR. Anyone disagree? | 20:45 | |
| Tene, dukeleto, darbelo: feel highlighted and look up a line. | |||
| kurahaupo | desertm4x: the internal implementation of a fixed-sized 2D array of number-like things is basically identical to a Matrix, or at least should be if we do arrays right. | ||
| moritz | japhb: no objections, just make sure are explicit about the Rakudo version you're using | 20:46 | |
| kurahaupo | (The trick is treatment of arrays as *values* rather than *containers*. Which also makes multithreading go faster -- MUCH faster.) | ||
| japhb | moritz, how do you mean? | ||
| moritz | japhb: like "current rakudo from git" or "latest release" or "release $xy" or whatever | 20:47 | |
| it still has incompatible changes occasionally | |||
| japhb | moritz, Ah, I get it. Yes, understood. | ||
| darbelo | We target moving targets on top of moving targets ;) | 20:52 | |
| japhb | darbelo, BTW, as of latest commit, you should be able to express the dependency between matrixy and the library project, and plumage will DTRT. | 20:53 | |
| darbelo | japhb++ #Adding new feature for me to break. | 20:54 | |
| japhb | heh | ||
|
21:14
bluescreen joined
|
|||
| dalek | rrot-plumage: 0c082d3 | japhb++ | : [TOOLS] Add README introducing news tools/ directory |
21:19 | |
| shorten | dalek's url is at xrl.us/bfs5s6 | ||
| darbelo | Mmmmm, tasty, tasty dog food! | 21:25 | |
| cotto_work | cachegrind has some interesting output | 21:26 | |
|
21:30
cconstantine joined
|
|||
| cotto_work | Wow. Looking at Parrot_Sub_get_line_from_pc before those changes, the cache misses are epic. | 21:37 | |
| I need to buy the valgrind and kcachegrind guys a pizza or something. | 21:40 | ||
| darbelo | cotto++ # profiling *after* commiting. | 21:41 | |
| cotto_work | I profiled before committing. I just wanted to see if cachegrind would have helped. | 21:42 | |
| Answer: yes. | |||
|
21:43
mokurai joined
|
|||
| darbelo | It's a very cool tool. But they aren't getting any pizza out of me until it's ported to OpenBSD ;) | 21:44 | |
| cotto_work | nm. misread | ||
|
21:44
mokurai left,
mokurai joined
|
|||
| dalek | kudo: b1ffd35 | jonathan++ | src/classes/Routine.pir: Epic hack to work around an apparent Parrot register allocation bug. Gets us passing more of wrap.t. |
21:49 | |
| shorten | dalek's url is at xrl.us/bfs5y4 | ||
| dalek | kudo: aa20505 | jonathan++ | src/builtins/control.pir: The various other refactors mean that callsame and nextsame can now become way simpler. |
||
| shorten | dalek's url is at xrl.us/bfs5y6 | ||
| dalek | kudo: 7c28f95 | jonathan++ | src/classes/Routine.pir: Add comment about why we have the p6i_copy workaround, as suggested my moritz++. |
||
| shorten | dalek's url is at xrl.us/bfs5y8 | ||
| dalek | kudo: e0c6910 | jonathan++ | src/ (3 files): Correct our hanlding of package blocks somewhat. They're now immediate blocks, as per spec. This does, along the way, also fix the lexicals and classes bugs. |
||
| shorten | dalek's url is at xrl.us/bfs5za | ||
| dalek | kudo: f55aa6f | jonathan++ | src/parser/signature.pm: Fix for named unicode parameters, hopefully. |
||
| shorten | dalek's url is at xrl.us/bfs5zc | ||
| dalek | kudo: b641d31 | jonathan++ | src/binder/bind.c: Do capture types for invocants. Fixes my last failing test on 32-bit ICU-less. |
||
| shorten | dalek's url is at xrl.us/bfs5ze | ||
| dalek | kudo: 3819f41 | jonathan++ | src/binder/bind.c: Awesomimze the error messages in the new signature binder. |
||
| shorten | dalek's url is at xrl.us/bfs5zp | ||
| dalek | kudo: 1d15716 | jonathan++ | : Merge branch 'resig2' |
||
| shorten | dalek's url is at xrl.us/bfs5zr | ||
|
21:53
athomason joined
|
|||
| dalek | kudo: fca32d8 | jonathan++ | build/Makefile.in: Try to unbreak parallel build. |
21:54 | |
| shorten | dalek's url is at xrl.us/bfs52f | ||
| darbelo | japhb: ping | 21:56 | |
| japhb | darbelo, pong | 22:07 | |
|
22:07
hercynium joined
|
|||
| darbelo | I started playing with the deps in plumage. | 22:08 | |
| japhb | and? | ||
| darbelo | I caused a failure in the fetching of the dep and the build kept going. | ||
| japhb | That's odd ... oh, duh, yes, I know why that error was not being transmitted back. OK, will deal with that in a bit, sorry. | 22:09 | |
| japhb trying to keep toddler from causing major damage to self or house | 22:10 | ||
| darbelo | Heh, self is manageable, house is a lost cause. | ||
| japhb | afk for a while, buit will backlog | 22:13 | |
|
22:19
Whiteknight joined
|
|||
| Whiteknight | good afternoon, Parrot | 22:23 | |
| cotto_work | hi Whiteknight | ||
| Whiteknight | hello cotto_work | ||
| I hate Piper and Tweety | 22:26 | ||
| and I don't know how to tell xchat to ignore them forever | |||
| cotto_work | Window -> ignore list ? | 22:27 | |
| Whiteknight | do I want to block ~robert@x3.develooper.com? | 22:29 | |
| cotto_work | Tweety!*@*.* | ||
| As you'd expect, that blocks Piper. | 22:30 | ||
| darbelo | Piper was offline for a while, right? | ||
| cotto_work wasn't paying attention | |||
|
22:31
mikehh joined
|
|||
| Whiteknight | piper and tweety were both offline for a while | 22:31 | |
| how do I update my local git repo to match changes made on github? | 22:32 | ||
| darbelo | git pull? | 22:33 | |
| purl | git pull is not slow. | ||
| darbelo is probably missing something here. | |||
| Whiteknight | oh damnit, I was in the wrong directory | ||
| nevermind | |||
| ...no, still not working | 22:35 | ||
| darbelo | nopaste the error? | 22:37 | |
| jonathan | Note for anyone interested: what's in Rakudo master is now ready to be branched so we can get it running under pcc_reapply. | 22:38 | |
| I'll probably start looking at that in a day or two if nobody beats me to starting on it. :-) | |||
|
22:38
kid51 joined
|
|||
| nopaste | "Whiteknight" at 69.249.176.251 pasted "git error for darbelo++" (4 lines) at nopaste.snit.ch/18376 | 22:39 | |
| darbelo | Whiteknight: try it without the git@... | 22:40 | |
| just 'git pull' | |||
| Whiteknight | same error | 22:41 | |
| darbelo | Or with a capital W in Whiteknight. But your local copy should already know where it came from. | ||
| Whiteknight | it didn't come from github, mine is the original and I pushed to github | ||
| darbelo | Then try with the capital 'W' | 22:42 | |
| Whiteknight | that did it | 22:43 | |
| I must be retarded | |||
| darbelo | github usernames look like they are case sensitve. | ||
| Whiteknight | I want to set up that in the config, but that's probably a battle for a different day | 22:45 | |
|
22:48
cognominal joined
|
|||
| dukeleto | 'ello | 22:50 | |
| Whiteknight | hello dukeleto | ||
| dukeleto | made it to SFO, after some rain delays | 22:51 | |
| Whiteknight | Can't open perl script "/usr/local/lib/parrot/1.6.0-devel/tools/dev/gen_makefile.pl": No such file or directory | ||
| you see that error darbelo? | 22:52 | ||
|
22:52
cognominal joined
|
|||
| darbelo | Hmm, matrixy? | 22:52 | |
| Whiteknight | yeah, matrixy | ||
| oh, I only did make install, probably needed install-dev | 22:53 | ||
| jonathan | Forgot to make install-dev ? | ||
| damm too slow :) | |||
| Whiteknight | at was it | ||
| dukeleto | cotto_work: yes, I was using -j with make | 22:56 | |
| cotto_work: is -j not working on pcc_reapply ? | 22:57 | ||
| cotto_work | dukeleto, no afaict | 22:59 | |
| I' | |||
| d hack on it but I can't commit from here. ;) | |||
| dukeleto | cotto_work: ok. /me is backlogging | 23:00 | |
| cotto_work is fat-fingered today | |||
| dukeleto is cloning matrixy for the first time, w00t | 23:01 | ||
| first time on this machine, i guess. | 23:02 | ||
| darbelo | dukeleto++ | ||
|
23:02
patspam joined
|
|||
| dukeleto really needs to start prepping for the release | 23:03 | ||
| which docs should I be reading? #lazyirc | |||
| dalek | p-rx: 2188043 | pmichaud++ | src/cheats/regex-cursor-protoregex.pir: Empty protoregexes return a fail. |
23:04 | |
| shorten | dalek's url is at xrl.us/bfs6cj | ||
| dalek | p-rx: 2d1ddd7 | pmichaud++ | src/ (5 files): Add prefix: and postfix: processing. |
||
| shorten | dalek's url is at xrl.us/bfs6cm | ||
| cotto_work | dukeleto, docs/project/release_manager_guide.pod | 23:05 | |
| dukeleto | cotto_work++ | ||
|
23:05
cconstantine joined
|
|||
| cotto_work | it's surprisingly easy, if time-consuming | 23:07 | |
| dukeleto | done backlogging. I missed lots of matrixy talk! Vector, Matrices, Tensors, oh MY! | 23:09 | |
| dalek | p-rx: 7574241 | pmichaud++ | src/NQP/ (2 files): Verify that right associativity is working (it is). |
23:10 | |
| shorten | dalek's url is at xrl.us/bfs6c8 | ||
| dukeleto | Whiteknight, darbelo: GSL has binding to BLAS built in. if we target GSL, we get those for free, along with 45 other subsystems | ||
| Whiteknight | this is true | ||
| But GSL has a lot of stuff we won't necessarily use | 23:11 | ||
| I think it's the best idea to stick to the BLAS API, and detect multiple implementations like GSL | |||
| dukeleto | Whiteknight: it has lots of stuff that we might not want in the beginning, but there is probably 10 subsystems or so that we really want | ||
| Whiteknight | true | ||
| dukeleto | broken link in release guide: trac.parrot.org/parrot/wiki/ParrotRoadmap | 23:12 | |
| where should that be? | |||
| Whiteknight | report 14 | ||
| hold on | |||
| trac.parrot.org/parrot/report/14 | |||
| dukeleto | if anybody has pdates to NEWS, CREDITS, PLATFORMS, RESPONSIBLE_PARTIES, DEPRECATED.pod | 23:13 | |
| let me know | |||
| updates, even | |||
| Whiteknight: that link looks the same as trac.parrot.org/parrot/roadmap | |||
| Whiteknight: should the first link in the release guide be the same as the first? | 23:14 | ||
| so, should I ask people to stop committing anything non-release-related about now? | |||
| at least to trunk | 23:15 | ||
| darbelo | dukeleto: probably. | ||
| Whiteknight | I don't know | ||
| dalek | p-rx: 29c3519 | pmichaud++ | src/ (4 files): Add circumfix: . |
||
| shorten | dalek's url is at xrl.us/bfs6d3 | ||
| cotto_work | dukeleto, I might need to revert something, but yes it'd be a good idea | 23:16 | |
| for future reference, it'd have been a better idea on Saturday | 23:17 | ||
| moderator | Parrot 1.7.0 "African Grey" is coming soon, no non-release-related commits to trunk, please | Test CallSignature PMC | pcc_reapply is almost there! trac.parrot.org/parrot/wiki/Callin...nsOverview | 23:20 | |
| cotto_work | dukeleto, I think that name's been taken | 23:21 | |
| nm. | |||
| dukeleto | cotto_work: it isn't in parrothist | ||
| darbelo | parrothist? | 23:22 | |
| dukeleto | cotto_work: i consulted docs/parrothist.pod | ||
| cotto_work | parrothist is docs/parrothist.pod | ||
| darbelo | purl: parrothist is docs/parrothist.pod | ||
| purl | i already had it that way, darbelo. | ||
| Whiteknight | urg, we have to fix this test harness | 23:23 | |
| darbelo | Whiteknight: I'm looking at it now- | ||
| Whiteknight | darbelo++ | ||
| I just fixed that iterator issue | |||
| dukeleto | looks like 'bytecode testing framework' and 'prune c data structures' are not happening before tomorrow. should I remove the 1.7 milestone from them? | ||
| Whiteknight | and added a CREDITS file, which you should sign | ||
| cotto_work | I really shouldn't be surprised at how long it takes to run rakudo hello world with profiling under valgrind | ||
| darbelo | Ugh. | 23:24 | |
| dukeleto | 'prune c data structures' is quite an ambiguous TT, no wonder it has been kicked around so much | ||
| darbelo | Well, we did some pruning. But not enough. | 23:25 | |
| chromatic was supposed to put some notes on the wiki about that. | 23:26 | ||
| Whiteknight | all tests successful Ubuntu 9.04, x86_64 | ||
| cotto_work | darbelo, at least I'm not trying that with Druid. ;) | ||
| but yeah, it'll be a while | |||
| wow. 20 minutes or so and valgrind dies with a bus error | 23:28 | ||
| darbelo | ouch | ||
| dukeleto | cotto_work: maybe run valgrind on valgrind on ... | 23:29 | |
| darbelo | Or write an x86 emulator in parrot and ... | 23:30 | |
| cotto_work | I don't even want to think about that. | 23:32 | |
| darbelo | It could even self-host! | 23:33 | |
| dalek | rrot: r41943 | dukeleto++ | trunk/docs/project/release_manager_guide.pod: [cage] Fix Parrot roadmap link in Release Manager Guide |
23:35 | |
| mikehh | dukeleto: All tests PASS (pre/post-config, smoke (#29194), fulltest) at r41942 - Ubuntu 9.10 (beta updated) amd64 | 23:37 | |
| Whiteknight | dalek isn't tracking matrixy commits | ||
| at least, it hasn't noticed any of my changes yet tonight | 23:38 | ||
| darbelo | Hmm. I added it to the languages page, but it looks like that's not enough. | 23:39 | |
| Somebody should ping Infinoid about it. | |||
| Whiteknight | Infinoid: ping | 23:40 | |
| dukeleto | mikehh++ # thanks! | ||
|
23:43
ash_ joined
23:44
plobsing joined
|
|||
| cotto_work | it looks like the profiling optimizations make rakudo less painful to profile. | 23:47 | |
| probably at the expense of memory | 23:48 | ||
|
23:48
payload joined
|
|||
| jonathan | Given developers mostly profile rather than uses, I'm not sure that extra memory for faster profiling results is a bad trade-off, unless it's like, unusably more. :-) | 23:48 | |
| cotto_work: I just landed a big branch in Rakudo. Startup is still really quite slow, though. I'd be really interested to know where we spend our time. | 23:49 | ||
| cotto_work | it makes a hash with ~30000 elements for rakudo hello world | ||
| jonathan | Oh? | ||
| Wow. | |||
| cotto_work | (pointer/int pairs) | ||
| jonathan | That's kinda...impressive. | 23:50 | |
| "impressive" | |||
| cotto_work | basically one per unique pc value | ||
| Whiteknight | how do I commit to my github repo? Do I always have to do "git push origin master"? | ||
| jonathan | cotto_work: oh, you mean the profier does | ||
| cotto_work: Sorry, it's kinda late her. :-) | |||
| *here | |||
| cotto_work | jonathan, yes | ||
| you don't say ;) | |||
| jonathan | cotto_work: OK, phew. I thought you menat Rakudo makes a hash like that on startup. ;-) | 23:51 | |
| cotto_work | nope. I'm pretty rakudo-agnostic. | ||
| dukeleto | somebody throw me something that they want to so in NEWS or Changelog | ||
| cotto_work | "improved HLL profiling" | 23:52 | |
| s/improved/faster/ | |||
| dukeleto | why is NEWS not in POD, but some other crazy format ? | ||
| cotto_work | because we've always done it that way | 23:53 | |
| bacek_at_work | Whiteknight, just git push | ||
| Whiteknight | bacek_at_work: not git dcommit or something like that? | 23:55 | |
| dukeleto | Whiteknight: dcommit is a git-svn thing | ||
| Whiteknight: what are you trying to do | |||
| cotto_work: that is an explanation, but not a reason ;) | 23:56 | ||
| bacek_at_work | Whiteknight, just commit, just push, just git without svn perversions | ||
| Whiteknight | dukeleto: I'm just trying to figure out workflow | ||
| every time I try to commit, it gives me some weird message and I have to git add first | |||
|
23:57
tokuhirom_________ joined
|
|||
| cotto_work | It's an underscore party! | 23:57 | |
| darbelo | Whiteknight: you *do* have to git add <FILE> before commiting. | 23:59 | |
| or using commit -a | |||