|
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. |
|||
| Whiteknight | urg. Github isn't allowing me to look at TCL's files | 00:01 | |
| jonathan has probably created more PMCs that override find_method than most. :-) | 00:04 | ||
| You can do a lot of cool stuff that way. :-) | 00:05 | ||
| Whiteknight | yeah | 00:06 | |
| how do I get a copy of a repo from github? | |||
| specifically, I'm trying to pull a local copy of partcl/partcl | 00:07 | ||
| darbelo | git clone? | ||
| purl | git clone is probably at 87% | ||
| darbelo | purl forget git clone | ||
| purl | darbelo: I forgot git clone | ||
| Whiteknight | I tried "git clone git@github.com:partcl/partcl.git" and it said permission was denied | 00:08 | |
| jonathan | git clone git://github.com/partcl/partcl.git | ||
| darbelo | try git clone git://github.com/partcl/partcl.git | ||
| jonathan | (the other one is if you want to authenticate, iirc) | 00:09 | |
| Whiteknight | fatal: Unable to look up github.com (port partcl) (Servname not supported for ai_socktype) | ||
| darbelo | wtf? | ||
| Whiteknight | nevermind, tried again, worked | ||
| jonathan | Computers are SO not deterministic some days. | 00:10 | |
| :-) | |||
| darbelo | Whiteknight: git@ urls are for repos you have commit bits in. | ||
| japhb | ENOCHROMATIC, dangit | 00:17 | |
| OK, I'll open this up to the peanut gallery: Is there a community convention for where to put test data that is more than a single file in size? I was thinking /test-data/, just to make it self-documenting, barring a better suggestion | 00:19 | ||
| (This is for plumage, not parrot) | |||
| darbelo | I did t/data for decnum-dynopmcs | 00:20 | |
| japhb | darbelo, as long as the test harness knows that directory is special ... plus it kinda makes you think there is a pile of tests for "data" in there, rather than a group of data for other tests ... | 00:21 | |
| but I'm not strongly against it, it just feels a little off. | |||
| It does have the benefit of keeping all testing-related bits in the same tree | 00:22 | ||
| darbelo | I was actually storing the data I used to generate my tests. Not acutal test data. | 00:23 | |
| japhb | Hmmmm, perhaps if all test scripts were in t/\\d+-\\w+/ , then t/[anything else] is freed up conceptually. | 00:24 | |
| dukeleto, thoughts? | |||
| darbelo | Also, my harness only runst ".t" files in the t/ directory and leaves the subdirs alone. | 00:25 | |
| Whiteknight | is pcc_reapply supposed to be completely broken right now? | 00:37 | |
| darbelo | define "completely" | ||
| But I'd guess no. | 00:38 | ||
|
00:41
rhr joined
00:42
rdice joined
|
|||
| japhb | dukeleto, darbelo: For git at least, we don't need to ship a test repo -- we can just init one as needed. For subversion, this might be a little harder, unless we can assume svnadmin ships with svn everywhere. | 00:44 | |
| (It does on my Debian box, FWIW ... but Debian packages tend to be "less broken" than average.) | 00:46 | ||
| Tene | Whiteknight: no | ||
| Whiteknight: allison merged chromatic's callsignature.pmc rewrite | 00:47 | ||
| Whiteknight: that's the biggest change recently | |||
| darbelo | japhb: OpenBSD ships the in the same package. Works for me , but I don't really know if it it's the right thing. | 00:48 | |
| Tene | Whiteknight: realcleaned? can you paste the failure? | ||
| japhb | darbelo, OK, let's go crazy and assume proper packaging until some moon OS proves otherwise. ;-) | 00:49 | |
| darbelo | fwiw I've found the BSD's tend to not break up upstream tarballs into a gazzillion sub-packages, like some linux distros do. | 00:51 | |
|
00:51
davidfetter_ joined
00:55
darbelo left
|
|||
| japhb | darbelo: Proper, that. I find the "gazillion packages that you somehow end up downloading all of anyway" to be infuriating. On Debian, OpenOffice is unfortunately packaged like this. | 00:56 | |
| Whiteknight | Tene: nevermind, I think I had some local mods | 00:57 | |
| works just swell | |||
| Tene | Whiteknight: Okay. :) | ||
|
00:59
rhr joined
01:00
kid51 joined
|
|||
| japhb | dukeleto, a couple new things in Plumage's TASKS, just making above ideas concrete. | 01:05 | |
| japhb now thinking about dep handling | |||
|
01:06
Eevee joined
|
|||
| dalek | rrot-plumage: 33b0f44 | japhb++ | : [META] New TASKS, and update an old one |
01:07 | |
| shorten | dalek's url is at xrl.us/bfsf6j | ||
| Whiteknight | I don't see anything in thread.c that is obviously relying on old-style argument passing | 01:11 | |
|
01:11
rhr joined
01:19
rhr joined
|
|||
| Whiteknight | the thread argument PMC is coming out as garbage inside the NCI invoke | 01:20 | |
| what is "PP@" as a signature string? | 01:22 | ||
| I've never seen an @ in a sig before | |||
| (and I suspect it is an error) | 01:23 | ||
| solved one failure | 01:28 | ||
| dalek | rrot: r41867 | whiteknight++ | branches/pcc_reapply/tools/build/nativecall.pl: [pcc] fix several (but not all) failures in threads.t. Problem was a bad signature string being automatically generated with '@' instead of 'Ps' for a slurpy array |
01:29 | |
| japhb | dukeleto, See latest parrot-plumage commit for more fun stuff to work on. :-) | 01:38 | |
| purl, msg darbelo See latest parrot-plumage commit for more fun stuff to work on. :-) | |||
| purl | Message for darbelo stored. | ||
| japhb | dalek will notice the new commit about the time I'm eating my pizza, I think. :-) | 01:39 | |
| Whiteknight | I don't see a "join" method defined anywhere in ParrotThread | ||
| dalek | rrot-plumage: 9d32829 | japhb++ | : [META] Two more (big) groups of TASKS |
||
| shorten | dalek's url is at xrl.us/bfsga6 | ||
|
01:42
mikehh joined
01:45
rdice joined
|
|||
| Whiteknight | I might have a fix for more tests coming up too | 01:53 | |
| we're down to 9 failing tests now | 01:56 | ||
| that's single digits, baby! | |||
| dalek | rrot: r41868 | whiteknight++ | branches/pcc_reapply/tools/build/nativecall.pl: [pcc] invocants should have a signature of Pi in NCI calls, not just P. This doesn't affect any tests, but still is a change that needs to be made |
01:58 | |
|
02:05
rhr joined
|
|||
| Whiteknight | that's all I have for now. Goodnight | 02:05 | |
| mikehh | pcc_reapply - make smoke #29021 at r41867 - 10,752 ok, 13 failed, 262 todo, 560 skipped and 0 unexpectedly succeeded - Ubuntu 9.10 beta amd64 | 02:09 | |
|
02:28
rhr joined
02:34
JimmyZ joined
02:41
janus joined
|
|||
| dalek | rrot: r41869 | mikehh++ | branches/pcc_reapply/src/pmc/callsignature.pmc: fix codetest failures - unwrapped macro arguments and space between function name and parenthesis |
02:47 | |
|
02:55
JimmyZ joined
|
|||
| dalek | rrot: r41870 | mikehh++ | branches/pcc_reapply/src/call/args.c: fix codetest failure - space after opening parenthesis |
02:57 | |
| rrot-plumage: 24db387 | leto++ | : [configure] Mention how to run the test suite when Configure says hello |
03:49 | ||
| shorten | dalek's url is at xrl.us/bfsgu9 | ||
| dalek | rrot-plumage: 7d43fa6 | leto++ | : Merge remote branch 'origin/master' |
||
| shorten | dalek's url is at xrl.us/bfsgvd | ||
| dukeleto | yuck, my merge commit got pushed | 04:31 | |
| a mock git repo, consisting only of one commit with an empty .gitignore file is only 92K. after I delete the sample post-commit hooks, 42K | 04:38 | ||
| 1609 bytes compressed. not bad at all | 04:42 | ||
| msg japhb how should i compress the mock repo? currently I have it as a .tar.gz . but what happens if tar/gzip are not available? | 04:45 | ||
| purl | Message for japhb stored. | ||
| japhb | Did you see my comment about using 'git init' and 'svnadmin create' during test setup instead of shipping a mock repo? | 04:46 | |
| dukeleto, feel highlighted | 04:47 | ||
| dukeleto | japhb: oooh, i didn't realize that you meant doing that at test setup time. sneaky! | ||
| japhb | :-) | 04:48 | |
| dukeleto | japhb: so do we assume that git and svn are on the system? | ||
| japhb: or should we detect both and not run those tests if one/other is not present? | |||
| japhb | we can't test the fetch without them ... my feeling is, we check if they are there, and ... yeah, what you just said | ||
| dukeleto | japhb: do we actually check for svn/git being installed currently? | 04:49 | |
| japhb | dukeleto, that's part of the latest TASKS | ||
| ;-) | |||
| dukeleto | i like the idea of creating at test time | 04:50 | |
| japhb: i read TASKS, but perhaps too quickly :) | |||
| japhb | heh | ||
| well, a couple relevant items were ... | |||
| 1) make a function that acts like the 'which' shell command (path search) | |||
| 2) Use %VM<config> to find the local executable name for each of the basic build programs, and use the function from 1) to detect them | 04:51 | ||
| BTW, if one of the programs we want doesn't have a %VM<config> entry, for the time being lets just default to assuming it is the unix name plus the platform executable extension (e.g. .exe) | 04:52 | ||
| dukeleto, make sense to you? | 04:53 | ||
| dukeleto | japhb: i think that I will write tests that check for a value in %VM<config> for svn/git binaries, if it doesn't find any, then we just go with the default that you described | 04:54 | |
| japhb: yes, mostly | |||
| japhb | yep, that's what I meant | ||
| Oh, I see, | |||
| you meant do 2) without 1) | 04:55 | ||
| Fair enough. | |||
| Baby steps. | |||
| purl | baby steps! baby steps! | ||
| dukeleto | japhb: so 'which' iterates over entries in PATH, opens each directory and searches for the binary in each | ||
| japhb | inch-pebbles | ||
| dukeleto, yup. | |||
| dukeleto | japhb: yes, 2) without 1) in anticipation of 1) getting done :) | ||
| japhb | heh | ||
| dukeleto | japhb: i can make the tests check if the initial git/svn command returns an error and skip the rest of the tests | 04:56 | |
| japhb: i am in need of a function like qx() which gives me the return code of the command as well | |||
| japhb | Grrr, parrot doesn't record the platform PATH separator. I guess we have to start writing a platform hints section ... | 04:57 | |
| dukeleto | japhb: yak stacks within yak stacks | ||
| japhb: currently I would have to run every test twice in the plumage test suite to get the return code and the output | |||
| japhb: so I just don't check return codes currently | 04:58 | ||
| japhb | dukeleto, I'm not sure parrot currently provides what you want out of qx() ... and yeah, I saw where you were going with the question. ;-) | ||
| There are a number of places in the IO subsystem of Parrot that are ... clearly prototypes at best. | |||
| And your idea for just paying attention to whether git init succeeds is a good one | 04:59 | ||
| dukeleto | japhb: yes, i will just check the status code on running git/svn the first time, and skip the test file if they don't exist | 05:00 | |
| japhb | nodnod | ||
| dukeleto | looks like dalek doesn't notice commits to branches other than master | 05:02 | |
| japhb | Yeah, I think right now that's the only Atom feed dalek is watching. | 05:03 | |
| I'm not sure what the other feed URIs would actually be, come to think of it | 05:04 | ||
| dukeleto | it's not a bid deal, just noticing | ||
| japhb: is it using gitorious.org/parrot-plumage.atom ? | |||
| japhb: that should include all branches | 05:05 | ||
| japhb | Hmmm, I think it's gitorious.org/parrot-plumage/parrot-plumage.atom , IIRC | ||
| japhb chuckles at mode changes in last commit | 05:07 | ||
| dalek | rrot-plumage: d3ff89f | leto++ | : [cage] Fix permissions in t/ |
||
| shorten | dalek's url is at xrl.us/bfsg29 | ||
| dalek | rrot-plumage: 95caad6 | japhb++ | : [META] TODO updates |
||
| shorten | dalek's url is at xrl.us/bfsg3b | ||
| dalek | rrot-plumage: 05dc282 | japhb++ | : Merge branch 'master' of git@gitorious.org:parrot-plumage/parrot-plumage |
||
| shorten | dalek's url is at xrl.us/bfsg3d | ||
| japhb | Oy vey those merges are annoyin | ||
| g | |||
| dukeleto | japhb: yes, things were exactly opposite what they should have been | ||
| japhb: sorry about that. i need to git pull --rebase | |||
| japhb | no, me too | 05:08 | |
|
05:08
JimmyZ joined
|
|||
| japhb | what's the config key to make that default again? | 05:08 | |
| dukeleto | japhb: oh yeah, that is *your* mere commit | ||
| but I have a few as well | |||
| japhb: there is one, but I forget | |||
| japhb | found it | ||
| dukeleto | japhb: enlighten us? | 05:09 | |
| japhb | Sorry, was actually just typing it in myself. :-) | ||
| 'git config branch.<branch>.rebase true' | 05:10 | ||
| dukeleto | japhb: thanks | 05:11 | |
| japhb: we need a way to mock out the repo URL in the metadata. is it possible to provide plumage with an alternate metadata directory? | 05:12 | ||
| japhb | checking ... | ||
| purl | i guess checking ... is it complicated to get to work with google and yahoo ? | ||
| japhb | not right now, but give me a sec, I might be able to hack it in. | 05:13 | |
| dukeleto | shweet | 05:15 | |
| japhb | stick that in your pipe and smoke it. | 05:18 | |
| You just have to provide a config file that overrides plumage_metadata_dir now. | |||
| Or at least it *should* work. :-) | 05:19 | ||
| dukeleto | japhb: nice! that should all me to start hacking on the tests | 05:22 | |
| japhb | excellent | ||
| dukeleto | japhb: does t/metadata/ sound good to you? | ||
| japhb: next question: can local paths be used in the metadata file? | 05:23 | ||
| dalek | rrot-plumage: 449259e | japhb++ | : [plumage] Allow plumage metadata dir to be overridden by conf file |
||
| shorten | dalek's url is at xrl.us/bfsg36 | ||
| dukeleto | japhb: uck. I meant relative paths | ||
| japhb | dukeleto, yes, t/metadata/ is fine | 05:24 | |
| relative paths to what? | |||
| dukeleto | japhb: the repo URLs. i don't know that I need that or if it even makes sense | 05:25 | |
| dukeleto is still fighting a cold and is a bit out of it today | 05:26 | ||
| japhb | The repo urls just have to be understandable by the tools, not by us. | ||
| dukeleto | japhb: yeah. i need to fiddle with repository{checkout_uri} and make it a local file. | 05:27 | |
| japhb: i think i can use file:// in there and git and svn should know what to do | |||
| japhb | dukeleto, cool beans | 05:28 | |
| dukeleto | japhb: what does Plumage::Downloader get used for? deps? | ||
| japhb | It will be used sometime in the future for several things. The two most important are: fetching projects that are in tarballs instead of source repos (especially useful for fetching release versions :-), and for interacting with the metadata server | 05:30 | |
| dalek | p-rx: c5a7893 | pmichaud++ | (4 files): Add Regex::P6Grammar as temporary scaffolding for bootstrapping the parser. |
05:31 | |
| shorten | dalek's url is at xrl.us/bfsg49 | ||
| dalek | p-rx: 2bb5b72 | pmichaud++ | .gitignore: Update .gitignore. |
||
| shorten | dalek's url is at xrl.us/bfsg5b | ||
| dalek | p-rx: f80ba14 | pmichaud++ | (2 files): Change "make test" target to specify $(PARROT) executable (suggested |
||
| dukeleto | japhb: ok, so when we need to fetch tarballs, that is when we need to make P::Downloader understand file:///, to be properly tests. just getting things straight in my head | ||
| purl | dalek: that doesn't look right | ||
| shorten | dalek's url is at xrl.us/bfsg5d | ||
| japhb | dukeleto, exactly so | 05:32 | |
| dukeleto | s/tests/tested/, but you got the gist | ||
| shweet | |||
|
05:49
uniejo joined
|
|||
| japhb | dukeleto, those last couple commits might make your life easier | 05:52 | |
| dalek lag ... | |||
| dalek | rrot-plumage: f5d478f | japhb++ | : [CORE] Glue.pir: Add path_exists() |
05:56 | |
| shorten | dalek's url is at xrl.us/bfsg6p | ||
| dalek | rrot-plumage: fd0f294 | japhb++ | : [plumage] Switch to path_exists() everywhere |
||
| shorten | dalek's url is at xrl.us/bfsg6r | ||
| dalek | rrot-plumage: ec431fc | japhb++ | : [plumage] Add find_program() utility function |
||
| shorten | dalek's url is at xrl.us/bfsg6t | ||
| dalek | p-rx: e7e5924 | pmichaud++ | src/Regex/P6 (2 files): Add the ability to parse arglists after colons in subrule calls. Bootstrap progress: The "p6grammar" executable is now able to parse its own grammar definition; test via ./p6grammar --target=parse src/Regex/P6Grammar/Grammar.pm |
06:11 | |
| shorten | dalek's url is at xrl.us/bfsg78 | ||
| dalek | p-rx: e04a163 | pmichaud++ | src/Regex/P6Regex/Grammar.pm: Add parsing of simple single-quoted literals in regexes. |
06:22 | |
| shorten | dalek's url is at xrl.us/bfsg8x | ||
| dalek | p-rx: 41bdc6b | pmichaud++ | src/Regex/P6Regex/Actions.pm: Add quoted literals to regexes. |
||
| shorten | dalek's url is at xrl.us/bfsg8z | ||
| dalek | p-rx: 0dfed1f | pmichaud++ | STATUS: Update STATUS a bit. |
||
| shorten | dalek's url is at xrl.us/bfsg83 | ||
| dalek | p-rx: 75fd363 | pmichaud++ | src/Regex/P6Grammar/Grammar.pm: Use single quotes instead of backslashes for quoted literal punctuation. |
||
| p-rx: 3b052a5 | pmichaud++ | src/Regex/P6Regex/Grammar.pm: Clean up a few regex parsing definitions in P6Regex. ./p6grammar --target=parse src/Regex/P6Grammar/Grammar.pm ./p6grammar --target=parse src/Regex/P6Regex/Grammar.pm |
|||
| shorten | dalek's url is at xrl.us/bfsg85 | ||
| shorten | dalek's url is at xrl.us/bfsg87 | ||
| Tene | pmichaud: excellent work | ||
| japhb | pmichaud++ | 06:24 | |
| pmichaud | thanks | ||
| next step will be to have P6Grammar generate a standalone parser that parses its own | |||
| grammars. | 06:25 | ||
| purl | grammars are classes, and classes are dynamically modifiable... hmmmm.... | ||
| pmichaud | then we won't need Perl6Grammar anymore :) | ||
| or PGE, for that matter. | 06:26 | ||
| (others will need it, yes, nqp-rx won't need it) | |||
| japhb | Excellent. | 06:27 | |
| How is the progress towards replacing the old NQP (to a level that I could switch Plumage over)? | |||
| pmichaud | well, this is all part of that. | 06:28 | |
| What is currently p6grammar in the nqp-rx repo is the beginnings of the new NQP. | |||
| japhb | Poorly worded, sorry. I meant, what is the current estimated time frame? | ||
| pmichaud | I don't know for sure. I'd hope just a few days. Somewhat depends on schedule and timing around the house. | ||
| getting to this point has been quite a bit easier than I had anticipated. | 06:29 | ||
| (it's taken longer than I anticipated, but that's due to lots of other factors) | |||
| however, I'm finding that each new feature I add is easier to do than the ones that came before it | 06:30 | ||
|
06:33
JimmyZ joined
|
|||
| japhb | That's got to be a great feeling .... | 06:33 | |
| g'night all! | |||
|
06:49
fperrad joined
06:53
barney joined
07:01
chromatic joined
07:18
bacek joined
07:19
s1n joined
|
|||
| chromatic | The good news is that we've cut off 31.183%. The bad news is that we still have a ways to go. | 07:26 | |
| If we double the speed in the branch, we come out ahead. | |||
| Doubling that speed won't be easy though. | |||
| bacek | o hai | 07:29 | |
| chromatic | hey | 07:30 | |
| bacek | chromatic: how is going with CallSignature hacking? | 07:33 | |
| chromatic | We merged it into pcc_reapply today. | 07:34 | |
| mikehh | we are down to 13 failing tests | 07:40 | |
| dalek | rrot: r41871 | pmichaud++ | trunk (4 files): [nqp]: Add simple class inheritance to NQP. |
07:42 | |
| chromatic | I have 9. | ||
| mikehh | Well that's that's what smolder reports #29022 at r41870 | 07:44 | |
| chromatic | Maybe my count is off. | 07:45 | |
| bacek | chromatic: why you reserving 3 bits? Not 2? | 07:46 | |
| mikehh | t/library/coroutine.t - Parse errors: Bad plan. You planned 6 tests but ran 2 | 07:47 | |
| probably accounts for the difference - (4 tests missed - but counted as failures by smolder) | 07:48 | ||
| chromatic | bacek, I should be reserving two. | ||
| If I have the math wrong, I won't act surprised. | |||
| Tene | bacek: he masks against ~3 because 3 is 1+2 | ||
| so just 2 bits | 07:49 | ||
| bacek | ah.. I misread code... | ||
| chromatic | We could turn that magic number into an intelligible #define though. | ||
| ... and fix the comment. | 07:50 | ||
| dalek | p-rx: bbbca64 | pmichaud++ | src/Regex/P6Regex/Actions.pm: Refactor named assertions slightly for better argument handling later. |
07:56 | |
| shorten | dalek's url is at xrl.us/bfshf8 | ||
| dalek | p-rx: 2b0f1ad | pmichaud++ | (3 files): More updates to P6Grammar bootstrapping. for its own grammar definition (in src/Regex/P6Grammar/Grammar.pm). Still need a metachar:<{*}> action method to produce action methods. :-) |
||
| shorten | dalek's url is at xrl.us/bfshga | ||
|
08:05
iblechbot joined
08:18
AndyA joined
|
|||
| dalek | rrot: r41872 | mikehh++ | trunk/compilers/nqp/t/30-subclass.t: set svn properties |
08:25 | |
|
08:25
FullMetalHarlot joined
|
|||
| dalek | rrot: r41873 | mikehh++ | trunk/compilers/nqp/src/Grammar/Actions.pir: fix codetest failure - trailing whitespace |
08:32 | |
|
08:39
mokurai left
|
|||
| bacek | chromatic: (your patch in list) Main problem with :flat args | 08:50 | |
| We have to build proper signature in run-time based on passed arguments | 08:51 | ||
| chromatic | I wasn't sure. One of the tests that it failed didn't have flat args. | ||
| bacek | chromatic: around line 557. | 08:53 | |
| dissect_aggregate_arg returns new signature bit | |||
| chromatic | Oh, somehow I overlooked flat_list. | 08:54 | |
| We could make that function manipulate the RIA instead. | 08:55 | ||
| If you feel motivated to replace all of that STRING fun, feel free. | 08:58 | ||
| The good news is that we have another 43% faster to make the branch to reach the trunk's speed on fib.pir. | 09:01 | ||
| bacek | I don't think that RIA will be faster... | ||
| dalek | rrot: r41874 | bacek++ | branches/pcc_reapply/src/call/args.c: [uncage] Poke more into CallSignature guts for performance sake. |
||
| rrot: r41875 | bacek++ | branches/pcc_reapply/src/call/args.c: Create final result in single shot, not repeatedely in loop in dissect_aggregate_arg. |
|||
| bacek | chromatic: can you benchmark with my latest commits? | 09:04 | |
| chromatic | Running now. | ||
| dalek | rrot: r41876 | bacek++ | branches/pcc_reapply/src/pmc/callsignature.pmc: Reorder checks in CallSignature.get_attr_str to put "named" on top. We are mostly use this attribute. |
||
| rrot: r41877 | chromatic++ | branches/pcc_reapply/src/call (2 files): [PCC] Removed unnecessary GC registration and unregistration of CallSignature unnecessary (and on platforms where it is necessary, we'd have other GC problems). This provides a 6.36% performance improvement in the fib.pir benchmark. |
|||
| purl | It seems faster | ||
| rrot: r41878 | chromatic++ | branches/pcc_reapply/src/call/args.c: [PCC] Removed unnecessary (and too frequent) MMD type tuple creation in it itself if necessary. |
|||
| rrot: r41879 | chromatic++ | branches/pcc_reapply/src/pmc/callsignature.pmc: [PMC] Fixed comment about tag bits in CallSignature and turned a magic number |
|||
| chromatic | Hah, we have overlapping commits. | ||
| Three in the last five minutes. | |||
| No change, bacek. | |||
| bacek | strange... | 09:06 | |
| purl | well, strange is but true | ||
| bacek | I expected 0.1% improvement | ||
| chromatic | Big gains: merging CallSignature and Context, removing use of CPointer. | 09:07 | |
| We might be able to cut out 2/3 of our PMC allocations if we do that. | 09:08 | ||
| Huge win. | |||
| Modest improvement: preallocate appropriate size of returns array in Parrot_pcc_build_sig_object_returns_from_op. | 09:10 | ||
| bacek | What about :slurpy? | 09:11 | |
| chromatic | No idea. | 09:12 | |
| bacek | btw, op set_returns still have gc_unregister_pmc | 09:13 | |
| chromatic | It goes! | 09:14 | |
| bacek | chromatic: my benchmark says 16,013,422,581 vs 15,199,915,860 on fib.pir at rr41873 41876 (unoptimised build) | 09:18 | |
| chromatic | I have an optimized build. | 09:19 | |
| 5.08% though, not bad. | 09:20 | ||
| bacek | We probably have to put PARROT_CALLING_START/_END inside call_from_sigobject | 09:25 | |
| to properly mark C stack | 09:26 | ||
| but I'm not sure about it. | |||
| chromatic | I'm not sure either. | ||
| bacek | 14,330,100,550 on most recent commit | 09:27 | |
|
09:28
donaldh joined
|
|||
| bacek | purl: (16013422581-14330100550)/16013422581 | 09:28 | |
| purl | 0.10511944104924 | ||
| chromatic | Handy. | ||
| bacek | chromatic: it was your commits :) | 09:29 | |
| chromatic | A couple more and I'm calling it a night. | 09:31 | |
| 43.2% to go. | 09:35 | ||
| dalek | rrot: r41880 | chromatic++ | branches/pcc_reapply/src/ops/core.ops: [ops] Removed another gc_unregister_pmc() now unused from set_returns op. See |
09:37 | |
| p-rx: 468b4eb | pmichaud++ | src/ (3 files): Add keyed reductions / action triggers. |
09:40 | ||
| shorten | dalek's url is at xrl.us/bfshr3 | ||
| dalek | p-rx: 0c574ea | pmichaud++ | src/ (2 files): Determine regex name to be used for action methods. |
||
| shorten | dalek's url is at xrl.us/bfshr5 | ||
| dalek | p-rx: 672674d | pmichaud++ | src/Regex/P6Grammar/ (2 files): Update P6Grammar to attach names to regexes, set modifiers for |
||
| shorten | dalek's url is at xrl.us/bfshr9 | ||
|
09:41
masak joined
09:43
payload joined
09:44
payload joined
|
|||
| bacek | purl: (14330100550-14255582083)/14330100550 | 09:56 | |
| purl | 0.00520013566827345 | ||
| bacek | yet another half percent :) | ||
| dalek | rrot: r41881 | bacek++ | branches/pcc_reapply/src/call/args.c: Preallocate string_sig in Parrot_pcc_build_sig_object_from_op |
09:59 | |
|
10:20
integral joined
10:39
JimmyZ_ joined,
cconstantine joined
11:01
plobsing joined,
allison joined
11:33
jan joined
11:38
einstein joined
|
|||
| Coke | msg dukeleto pinged perl webmasters about the planet feed. | 11:55 | |
| purl | Message for dukeleto stored. | ||
|
12:04
whiteknight joined
|
|||
| whiteknight | good morning parrot | 12:05 | |
|
12:28
mikehh joined
|
|||
| mikehh | pcc_reapply - make smoke #29042 at r41881 - 10,752 ok, 13 failed, 262 todo, 560 skipped and 0 unexpectedly succeeded - Ubuntu 9.10 beta amd64 | 12:33 | |
|
12:35
bluescreen joined
|
|||
| whiteknight | 13 failed? We we down to 9 last night before I logged off | 12:39 | |
| at least, on my system | 12:41 | ||
| some good optimization work happened last night though, so that's good to see | 12:43 | ||
|
12:59
davidfetter joined
|
|||
| Coke | I need to get my own server to run builds on. :| | 13:03 | |
|
13:03
payload joined
|
|||
| moritz | Coke: I can give you access to a quad core machine with linux amd64 | 13:04 | |
| Coke | moritz: did you already do that? | ||
| moritz | not that I know of | ||
| Coke | Someone gave me access to a box that I was unable to get parrot to build on, and then I got distracted. =-) | ||
| moritz | I gave japhb access to it for his plumage meta data server | 13:05 | |
| and I had no troubles building parrot on that machine | |||
| Coke | azawawi? | ||
| moritz | no | ||
| Coke | no, that's who's eating up the CPU on feather atm. =-) | 13:06 | |
| moritz | he has no access on that other machine :-) | ||
| Coke | moritz++ | 13:22 | |
| moritz | :-) | ||
| look, your build is finished :-) | 13:23 | ||
|
13:30
mikehh joined
|
|||
| nopaste | "mikehh" at 81.149.189.7 pasted "pcc_reapply branch - summary of fulltest failures at r41881" (47 lines) at nopaste.snit.ch/18348 | 13:32 | |
| mikehh | whiteknight - it is true that 9 failed but 4 were missed because t/library/coroutine.t exits after test 2 - Parse errors: Bad plan. You planned 6 tests but ran 2 | 13:36 | |
| and you get Failed 4/6 subtests which is picked up by smoke/smolder | 13:37 | ||
| have a look at the TAP output in smolder.plusthree.com/app/public_pr...ails/29042 | 13:40 | ||
| shorten | mikehh's url is at xrl.us/bfsic4 | ||
| mikehh | or if you like what shorten suggests | 13:42 | |
| Coke | mortiz++ # again | 13:43 | |
| moritz | karma mortiz | 13:44 | |
| purl | mortiz has karma of 2 | ||
|
13:50
whiteknight joined
|
|||
| Coke | hah! | 13:56 | |
| mortiz-- | |||
| moritz++ | |||
|
14:03
whiteknight_ joined
|
|||
| dukeleto | 'ello | 14:09 | |
|
14:10
Psyche^ joined
|
|||
| dalek | kudo: d5a2ee9 | moritz++ | CREDITS: restore alphabetical order in CREDITS |
14:13 | |
| shorten | dalek's url is at xrl.us/bfsihp | ||
|
14:19
schmalbe joined
|
|||
| dalek | rrot: r41882 | fperrad++ | trunk/tools/dev/fetch_languages.pl: [languages] Partcl moves on Github |
14:21 | |
|
14:22
whiteknight_ joined
|
|||
| whiteknight | internet connection today is TEH SUXXOR | 14:26 | |
|
14:35
theory joined
|
|||
| dalek | rrot: r41883 | fperrad++ | trunk/tools/dev/fetch_languages.pl: [languages] matrixy moves on Github |
14:37 | |
|
14:42
JimmyZ joined,
Limbic_Region joined
14:44
Hunger joined
|
|||
| Coke | Limbic_Region: hey | 14:46 | |
| dukeleto | funny URL of the day: www.nonblocking.io/ | 14:49 | |
| moritz wanted to register std.io but was too slow | |||
| Coke | moritz: spectest is, oddly, passing more tests on your box. =-) | 14:50 | |
| I was just doing a speed comparison against feather, but this is odd. | |||
| Limbic_Region | salutations Coke - love to stay and chat but I am TTFN | 14:53 | |
|
15:03
schmalbe joined
|
|||
| Coke | moritz: ooh, segfault. :| | 15:10 | |
|
15:11
hercynium joined
|
|||
| moritz innocent | 15:11 | ||
| purl | well, innocent is guilty... | ||
| moritz | Coke: did you also test on amd64 before? | ||
| Coke | likely not | 15:12 | |
|
15:12
allison joined
|
|||
| Coke | moritz++ | 15:18 | |
| Tene | hi allison | ||
| allison | hi Tene | 15:19 | |
| Tene: just got back from classes | 15:20 | ||
| Tene: looks like quite a few checkins in pcc_reapply | |||
| Tene: (she says, hoping for more passing tests) | |||
| moritz | less, actually - because tests that we previously never reached are run now, and fail | 15:21 | |
| wait | |||
| still more passing tests | |||
| purl | more passing tests are always useful | ||
| allison | moritz: just also more failing tests | ||
| moritz | right | ||
| dalek | p-rx: ec4637c | pmichaud++ | (6 files): Change src/parrot/ to more correctly named src/cheats/ . |
15:24 | |
| purl | dalek: that doesn't look right | ||
| shorten | dalek's url is at xrl.us/bfsisa | ||
| allison | moritz: still, down from 18 failing tests to 12 failing tests, that's progress | 15:32 | |
| whiteknight | I was down to 9 failing tests when I turned off the computer last night | 15:34 | |
| allison | msg chromatic I wonder if it's worth merging CPointer down to an internal array in CallSignature instead of a separate PMC? We're planning to rip it out in January anyway, but the speed gains might be worth it. | 15:35 | |
| purl | Message for chromatic stored. | ||
| whiteknight | fixed some issues in the nativecall.pl | ||
| Tene | allison: he's already planning to do that, I believe. | 15:36 | |
| allison | Tene: good | 15:39 | |
| dalek | rtcl: d1c5cc3 | (Will Coleda)++ | docs/spectest- (2 files): Spec test run for amd64; |
15:40 | |
| shorten | dalek's url is at xrl.us/bfsiua | ||
| Tene | allison: at least, he's already mentioned "getting rid of CPointer" a few times as part of his goals here. | 15:44 | |
| allison | Tene: yes, we're definitely getting rid of it in January | 15:45 | |
| Tene: but, we hadn't talked so far about getting rid of it now | |||
| Tene: (but, a lot happens during the time I'm asleep in this timezone) | |||
| Tene | That is, "stop using cpointer for results passing" | 15:46 | |
| allison | Tene: yes | 15:47 | |
| Tene: in january we'll just be doing results passing the same as arg/param passing | 15:48 | ||
| Tene | Right. | 15:50 | |
| whiteknight | getting rid of CPointer in the CallSignature logic would hugely reduce GC pressure, I think | 16:02 | |
| and for essentially zero extra complexity. The space for the PMC* to the CPointer could be reused to hold another void* pointer to the arg | |||
| mikehh | allison: I don't know if you saw, but I put up a summary fulltest report in nopaste.snit.ch/18348 | 16:13 | |
| whiteknight | okay, that corroborates the numbers I saw last night. 9 failures in coretest | 16:16 | |
| t/library/coroutine.t looks like the next big source of errors to target | |||
| allison | mikehh: thanks, that's helpful | 16:27 | |
| whiteknight: so, the 'resume' method in runtime/parrot/library/Parrot/Coroutine.pir is taking a parameter of 'args' as a :slurpy, and returning that same variable as a :flat | 16:30 | ||
| whiteknight | so are we not flattening returns? | 16:31 | |
| allison | whiteknight: and yet, it's complaining about :flat on a non-array | ||
| whiteknight: we are flattening returns | 16:32 | ||
| whiteknight: perhaps it's an off-by-one error in the flattening... | |||
| whiteknight | ok | ||
| allison | whiteknight: see src/call/args.c starting around lin 1725 | 16:33 | |
| line | |||
| whiteknight | okay, let me update | 16:34 | |
| ok, so that's the error that's being thrown? | 16:36 | ||
| I'm going to try to rebuild, but last time I did on win32 it broke horribly | |||
| allison | whiteknight: the error is "flattened return on a non-array" | 16:38 | |
| whiteknight | no, same problem | ||
| (doesn't build on win32) | |||
| that raises two questions: (1) are we sure the return in question is an aggregate and (2) is this the behavior we really want in this case? | 16:39 | ||
| it seems to me that :flat on a non-aggregate would just be that PMC itself | |||
| allison | whiteknight: digging down in gdb, it's getting a :flat flag on an Integer PMC | 16:41 | |
| whiteknight | the resume method is tailcalling the resume continuation | 16:42 | |
| allison | which would seem like the argument after the :optional | ||
| (the :opt_flag) | 16:43 | ||
| dalek | p-rx: fbb15ef | pmichaud++ | src/Regex/Cursor.pir: Add lang argument to Cursor.!cursor_start. |
||
| shorten | dalek's url is at xrl.us/bfsi5y | ||
| dalek | p-rx: fb80e2d | pmichaud++ | src/Regex/P6Grammar (2 files): [p6grammar]: Action methods to automatically create grammar object. |
||
| shorten | dalek's url is at xrl.us/bfsi52 | ||
| dalek | p-rx: 8cd492a | pmichaud++ | src/Regex/P6Grammar/Actions.pm: [p6grammar]: Add ability to declare a parent grammar. |
||
| shorten | dalek's url is at xrl.us/bfsi54 | ||
| cotto_work | did chromatic's branch ever get deleted? | 16:45 | |
| dukeleto | cotto_work: which branch? | 16:46 | |
| purl | hmmm... which branch is this? bacek's? | ||
| dukeleto | purl, forget which branch | ||
| purl | dukeleto: I forgot which branch | ||
| allison | cotto: pcc_optimize_sig? | 16:47 | |
| cotto_work | the one where he reimplemented callsignature | ||
| that one | |||
| purl | it has been said that that one is silly to. It's an impl detail, right? | ||
| allison | cotto: not yet | ||
|
16:49
theory joined
16:51
darbelo joined
|
|||
| dukeleto | what happened to docs.parrot.org/parrot/latest/html/...e.pod.html ? it used to be a valid link and is now a 404 | 17:01 | |
| shorten | dukeleto's url is at xrl.us/bfsjat | ||
| dukeleto | shorten: you should check if something is a 404 before shortening it. just sayin' | ||
| whiteknight | we can't make the bots too intelligent! | 17:02 | |
| dukeleto: pages in the book all got moved around | |||
| you'll have to look through the repo /docs/book/* to find it's current resting place | |||
| (thanks moritz++) | |||
| moritz | don't we have bots for opping? | 17:04 | |
| opbots: trust whiteknight | |||
| slavorgn | But I already trust whiteknight | ||
| slavorg | But I already trust whiteknight | ||
| moritz | I see that. | ||
| whiteknight | yay! I'm trustworthy apparently | ||
| dukeleto | looks like it moved to docs/book/draft/ | ||
| moritz | whiteknight: no, you are trusted ;-) | ||
| purl | okay, moritz. | ||
| whiteknight | no, you? | 17:05 | |
| whiteknight: no you? | |||
| purl | good you. | ||
| moritz | whiteknight? | ||
| purl | whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/ | ||
| whiteknight shakes his fist at purl | |||
|
17:07
Austin joined
|
|||
| dukeleto | looks like the docs/book/draft directory does not get html-ified on docs.parrot.org, shouldn't it be? | 17:08 | |
| it was publicly accessible and people linked to it, now it got moved around and is not even accessible, which sucks. | |||
| whiteknight | I dont know what black magic puts those docs on the web in the first place, but yes, I think it should be there | ||
| moritz | I think it's Coke's black magic | 17:10 | |
| Austin | Are there really still different cores? | 17:13 | |
| whiteknight | cores? | 17:14 | |
| Austin | And if so, does executing a 7 trace 1 switch them out? | ||
| run cores | |||
| whiteknight | oh yes, there are different runcores | ||
| I am not familiar with "trace 1" | |||
| Austin | Trace is an opcode. | ||
| 1 would be an argument to the opcode. | |||
| whiteknight | yes, I just don't know how it does what it does | ||
| Austin | Ah. | ||
| Well, the --help-debug suggests that running with --trace uses the slow core. | 17:15 | ||
| But it doesn't say what happens if I turn on trace via opcode. | |||
| (What happens is that I get a segfault.) | |||
| Not at the site of the trace1, but later, trying to return from a sub call. | 17:16 | ||
| whiteknight | maybe that's what is supposed to happen | ||
| moritz | then we should rename it to segfault ;-) | ||
| Austin | Indeed. | ||
| Put it right next to "clone" | |||
| whiteknight | we still need to fix that clone nonsense I guess | 17:17 | |
| whiteknight has been reminded | |||
| Austin | You mean the other segfault opcode? | 17:18 | |
| :) | |||
| I thought you had that taken care of. | |||
| whiteknight | I had something that was sort of a solution at one point | 17:26 | |
| and then it was suggested that both my solution sucked and that I should use it to solve other problems | |||
| darbelo | whiteknight: ping | 17:31 | |
| whiteknight | darbelo: pong | ||
| darbelo | I'm looking at matrixy right now, and it's Configure.pl has *ancient* assumptions in it. | 17:32 | |
| How would you feel about replacing it with something else? | 17:33 | ||
| s/Configure.pl/Configure.pl and Makefile templates/ | 17:34 | ||
| dalek | TT #1112 created by brianwisti++: Subject: Draft Parrot Book chapters no longer available on docs.parrot.org | 17:35 | |
| TT #1113 created by coke++: segfault in ?? | 17:38 | ||
| Coke | (docs) no black magic. just "make html" | 17:40 | |
| dalek | p-rx: 07b5fef | pmichaud++ | src/Regex/P6 (2 files): Add node (line+file) annotations to P6Regex generation. |
17:41 | |
| shorten | dalek's url is at xrl.us/bfsjik | ||
| darbelo | whiteknight: Also, what' up with the patch in the top-level dir? | 17:43 | |
| whiteknight | darbelo: the configure script is ANCIENT' | ||
| literally, we made that back before Parrot was even installable | |||
| so please, if you know how to replace it with something better, please do | 17:44 | ||
| the patch was supposed to add Complex support to PGE, which I think has already been done and can be deleted | |||
| there is a LOT of cleanup to do, obviously | 17:45 | ||
| darbelo | Hmm. I think I can make Configure.pl work with some minor modifications, gimme a sec. | 17:46 | |
|
17:46
joeri joined
|
|||
| darbelo | Hm. No, I can't. Nevermind. | 17:48 | |
| Coke | partcl (unsurprisingly) fails against pcc_reapply branch. | 17:49 | |
| whiteknight | yeah, it's in bad shape | ||
| Coke | the fake-cutable segfaults. | 17:50 | |
| whiteknight | what runcore does the fakecutable use? | 17:51 | |
| isn't it the fast core? | |||
|
17:58
bacek joined
|
|||
| Austin | Argh. | 18:06 | |
| Of course the solution to my segfault problem is to remove a file from the makefile, rebuild, then add it back, re-rebuild. No more segfault. | 18:07 | ||
| Austin is being shagged by a rare parrot. | |||
| Coke | bad makefile rules. | ||
| Coke guesses. | |||
| purl | guesses are fine, right now.. I don't have a clue what could be wrong :P | ||
| Austin | www.youtube.com/watch?v=9T1vfsHYiKY | ||
| Nah, the makefile rules are fine - it just cats a bunch of stuff into a gen_library file. | 18:09 | ||
| There's something twitchy in the parrot innards that I was bothering. | 18:10 | ||
| whiteknight | that's umpossible! | ||
| Coke is up to 3 segfaults... | 18:11 | ||
|
18:12
chromatic joined
18:15
hercynium joined
18:19
gaz joined
|
|||
| Coke | smolder.plusthree.com/app/public_pr...ails/29049 - look at the failure in t/cmd_expr.t ... huh? | 18:22 | |
| shorten | Coke's url is at xrl.us/bfsjq6 | ||
| Coke | (same with the other one.) | 18:23 | |
| ... got "foo", expected "foo" ? | |||
| wtf? | |||
| kthakore | hi | 18:27 | |
| purl | bonjour, kthakore. | ||
| kthakore | morning chromatic | ||
| chromatic | morning | 18:29 | |
| Coke | whee, different segfaults for partcl based on amd64 vs. feather. | 18:30 | |
| Tene | hi chromatic. | ||
| kthakore: It's nice to see you sticking around. I'm looking forward to seeing patches from you eventually. ;) | |||
| dukeleto | kthakore: howdy | 18:31 | |
| kthakore | Tene: ok if I see patches for SDL Perl from you ;) | 18:32 | |
| dukeleto: hit | |||
| oops | |||
| hi | |||
| purl | hi, kthakore. | ||
| kthakore | Tene: I am just trying to get a head start on Parrot for SDL Parrot in Jan | ||
| dukeleto | kthakore: what are you hackin on in parrot these days? | ||
| kthakore | dukeleto: line above | 18:33 | |
| purl | line above is the precise line on wich I get the error | ||
| dukeleto | kthakore: where does SDL Parrot live? | ||
| kthakore | dukeleto: NCI bindings of SDL Parrot but really really far from now | ||
| Tene | There are already some SDL bindings... | ||
| dunno what state they're in. | |||
| kthakore | Tene: I know | ||
| Tene: teh are the suck | 18:34 | ||
|
18:34
AndyA joined
|
|||
| dukeleto | kthakore: i am learning about Parrot NCI now as well, since I want to have access to the GNU Scientific Library (GSL) from Parrot | 18:34 | |
| kthakore | dukeleto: ooh any linkies | 18:36 | |
| dukeleto: SDL is a very modular C library and I am already having trouble with it in p5 but chromatic tells me its eaiser for Parrot | 18:37 | ||
| chromatic | I found it was. | ||
| kthakore | dukeleto: eventually I would like to have one NCI for both Perl 5 and Perl6/Parrot SDL Bindings | ||
| Tene | "one NCI"? | 18:38 | |
| kthakore | chromatic: so do I | ||
| Tene: bindings are in XS right now | |||
| Tene | Right. | ||
| kthakore | Tene: P5NCI also exists so if I have NCI then hopefully have Parrot and Perl5 supported from one set of bindings | 18:39 | |
| search.cpan.org/~chromatic/P5NCI-0....b/P5NCI.pm | |||
| Coke | planet parrot unstuck, should reflect soon. | 18:40 | |
| ... now, actually. enjoy. | 18:41 | ||
| kthakore | Tene: so ya ... one set of bindings. Don't even know if its possible with current P5NCI. | 18:43 | |
| dalek | TT #1012 closed by coke++: Add leto.net/parrot.xml to Planet Parrot | ||
|
18:44
davidfetter joined
|
|||
| kthakore | work time!! | 18:44 | |
| dukeleto: Tene I be back | |||
| Tene | bye | 18:47 | |
| treed | Perl question: is there already a mock TCP server? | 18:50 | |
| like the mock DBI, but for straight TCP | |||
| dalek | rtcl: 658dde1 | coke++ | (3 files): Move list of skippable tests into repo instead of pulling from the wiki. |
||
| shorten | dalek's url is at xrl.us/bfsjwf | ||
| treed | dammit | 18:51 | |
| wrong channel | |||
| Well, kinda. | |||
| Not a totally wrong channel. | |||
| But, not my intended channel. | 18:52 | ||
| davidfetter | "this is my channel. there are many like it, but this one is mine..." | ||
|
19:02
AndyA joined
|
|||
| chromatic | Moving CPointer into CallSignature would be easy if we could differentiate between a CallSig that handed params and a CallSig that handled returns. | 19:04 | |
| The returns-filling code creates a new RPA, stores that in the CallSig by attribute, and pushes into the RPA directly. | 19:05 | ||
| dukeleto | chromatic: does that imply that that we should perhaps mitosize CallSignature into 2 PMCs? | ||
| chromatic | Good news: that's two extra PMCs (the RPA and the CPointer) that can go away in the one-parameter case. | ||
| I'm thinking about that, dukeleto. | 19:06 | ||
| They store two different things. The param CallSig stores INSPs. The returns CallSig stores pointers to INSPs. | 19:07 | ||
|
19:08
desertm4x joined
|
|||
| Coke | would it make sense to make them both have pointers or both have not? | 19:09 | |
| chromatic | It's less intrusive right now to retain pointers in the returns case. | 19:10 | |
| Coke | k | ||
| chromatic | 40% fewer PMCs if I can pull this off though. | 19:11 | |
| Coke | I imagine that would be very nice for partcl. | ||
| dukeleto | that sounds like quite a performance increase | 19:13 | |
| dalek | p-rx: 40101f8 | pmichaud++ | src/PAST/Compiler-Regex.pir: Optimize quantification of common character classes like \\s, \\d, \\w, etc. |
||
| shorten | dalek's url is at xrl.us/bfsj22 | ||
| chromatic | I wonder how long this needs to live, given a pending unification of Context and CallSignature though. | ||
| bacek | Good morning | 19:14 | |
| chromatic: It will be useful even after unification | |||
|
19:15
whiteknight joined
|
|||
| PerlJam | chromatic: I don't know if it gets said enough, but once more can't hurt: I really appreciate your efforts to optimize things. It gives me a little thrill to see parrot go faster. | 19:16 | |
| whiteknight | ditto! chromatic++ | 19:17 | |
| Tene | Yes, me too. chromatic++ | ||
| japhb piles on with a chromatic++ as well | |||
| dukeleto | chromatic++ # for being lord of optimization | 19:18 | |
| darbelo | chromatic++ # aol | ||
| allison | chromatic: after the post 2.0 unification, we will have two separate CallSigs, one for args and one for returns | 19:24 | |
| chromatic: (or, we may recycle the PMC for efficiency, since we don't need the call sig any more when we prepare the return sig) | |||
|
19:25
mokurai joined
|
|||
| allison | chromatic: but, yes, for now we need returns stored inside the call sig, and returns are pointers to INSP instead of INSP directly | 19:25 | |
| dalek | tracwiki: v101 | darbelo++ | Languages | 19:29 | |
| tracwiki: Point the Matrixy entry to the language's new home in github. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Langua...ction=diff | |||
| shorten | dalek's url is at xrl.us/bfsj5n | ||
| allison | chromatic: we could store a return CallSignature object inside the call CallSignature object as self->results (instead of a ResizablePMCArray) | 19:30 | |
| chromatic: and use the unionval trick to store the pointer directly as the positional element of the return CallSignature | |||
| darbelo | Hmm, we should create a Wiki page for parrot libraries, and teach dalek to scrape it for repos. | 19:34 | |
| dalek | rrot: r41884 | bacek++ | trunk/t/compilers/imcc/syn (2 files): [t][cage] Fix tests for macro line numbering. Not all cores track |
19:36 | |
| TT #1102 closed by bacek++: test failures with t/compilers/imcc/syn/macro.t and regressions.t in fast, ... | |||
| chromatic | I'm thinking of making another (though I guess if the return size is known, it can be an array) linked list of tagged returns and storing that with get_pointer and fetching it with set_pointer. | 19:37 | |
| It'd be an array of void *. | 19:38 | ||
| That's super easy to walk, it can be type safe, and it's much, much more compact and GC friendly than another PMC for the container and a PMC for each pointer. | 19:39 | ||
| bacek | chromatic: we can precalculate args/returns size. | 19:40 | |
| Tene | exactly what I was thinking of. | 19:42 | |
| chromatic | Wow, look at all the loops in fill_results. | ||
| bacek | chromatic: or we can explicitly extend internal storage on handling :flar/:slurpy | ||
| :flat | 19:43 | ||
| Tene | fill_* handles flat and slurpy. no need to deal with them when building the callsig | 19:45 | |
| and yes, ETOOMANYLOOPS | |||
| chromatic | The problem is that it's a 507-line C function. | 19:46 | |
| Tene | YES. | ||
| chromatic | Let's call that Step Zero. | ||
| Tene | I was planning to look to see if I could unify/factor out anything common between fill_* | ||
| chromatic | It's like a regular step but has fewer calories and Coke can have a dozen a day. | ||
| Unification would be nice, but even extracting individual steps into their own named encapsulation units will help. | 19:47 | ||
| Coke | ^_- | 19:54 | |
| whiteknight | so long as the optimization doesn't hurt the ongoing failure debugging, I'm all for it | 19:55 | |
| some of these failures are rediculous though | |||
| bacek | chromatic: any objections on storing pointer to last cell in CallSignature to avoid loop in APPEND_CELL? | 19:58 | |
| Coke | msg dukeleto adding a link to the babysteps article you mentioned on teh blog at www.parrot.org would be nifty. | 20:02 | |
| purl | Message for dukeleto stored. | ||
| dukeleto | Coke: i am confused. where should I add the link? | 20:09 | |
|
20:10
Limbic_Region joined
|
|||
| Coke | I was going to suggest just a mini story that pointed to his docs. | 20:14 | |
| kthakore | Tene: back ... | 20:18 | |
| Tene | hi kthakore | ||
| kthakore | Tene: were we talking about something? | ||
| Tene | kthakore: No, we weren't. | ||
| kthakore | ok | 20:20 | |
| dukeleto | Coke: oh, you mean adding a blog post to parrot.org about "baby steps", right ? I was misunderstanding | 20:21 | |
| Coke | yes | ||
| dukeleto: regarding missing chapters of books, perhaps: | 20:23 | ||
| "lib/Parrot/Docs/Section/Parrot.pm" | |||
| I don't see the text "draft" in that file at all. | |||
| dukeleto | Coke: yes, it seems that the parrot book got reorganized, but the "make html" target didn't get updated | 20:24 | |
| cotto_work | iirc make html could use a refactor. A couple people have tried to figure it out and given up. | ||
| dukeleto | cotto_work: yeah, like me :) | ||
| cotto_work: i tried to get the dynops docs htmlified, and I got close, but punted | 20:25 | ||
|
20:25
bacek joined
|
|||
| dukeleto | cotto_work: probably another 30min of fiddling and I will get it to work, but I haven't touched it in weeks | 20:25 | |
| is there a "goto" person for docs/book/ ? particle? | 20:26 | ||
| cotto_work | You could add it to ItsABughunt | ||
| I don't know | |||
| dukeleto | cotto_work: good idea | ||
| purl | dukeleto: Good Idea: Throwing a surprise party for your father. Bad Idea: Throwing a surprise party for your grandfather. | ||
| dukeleto | botsnack | ||
| purl | :) | ||
| chromatic | bacek, I thought about it, but I'm not sure it adds a lot. It's a minor optimization. | ||
| cotto_work | It'd save on future party expenses. | ||
| bacek | chromatic: yeah, but still optimisation. | 20:27 | |
| hercynium | blog post: "FUCK THE CLOUD, BEFORE THE CLOUD FUCKS YOU." ascii.textfiles.com/archives/2255 | ||
| sorry! | |||
| wrong channel :( | |||
| chromatic | I'm not sure it's a measurable optimization at this point. | ||
| dukeleto | hercynium: but I am still checking it out :) | 20:28 | |
| hercynium | heh... I'm not a cloud fan m'self | ||
| Coke | dukeleto: which book? | ||
| hercynium | (but I *am* a parrot fan) | ||
| Coke | allison, chromatic, any one else. (roughly in that order.) | ||
|
20:29
frodwith left
|
|||
| Coke | whiteknight, IIRC. | 20:29 | |
| (if you mean content issues) | |||
| dukeleto | Coke: any book | 20:31 | |
| purl | rumour has it any book is out of date the moment it hits paper | ||
| dukeleto | hercynium: yeah, there is a high correlation between people who actively use the term "the cloud" and asshats | 20:32 | |
| hercynium | s/use/sell/ | ||
| dukeleto | hercynium: indeed. | 20:34 | |
| allison | Coke? | 20:50 | |
| purl | i think Coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed. or magical ticket robot or (if Diet), something that turns into formaldehyde in my blood. | ||
| allison | oh, goto person for docs/book, right | 20:51 | |
| dukeleto | allison: i was wondering what the deal with the docs/book/draft directory is | 20:52 | |
| allison | dukeleto: yes, chromatic or I have the ability to push changes to update the printed version | ||
| dukeleto | allison: people linked to ch11 of the the book but then it got reorged and now everything in the docs/book/draft directory is not htmlified | 20:53 | |
| allison | dukeleto: it's the unfinished chapters (either from the old book or new chapters) that didn't make it into the first Parrot book on PIR | ||
| dukeleto | allison: should they still be publicly accessible as html on the docs.parrot.org site? | ||
| allison | dukeleto: the drafts are mainly unreadable and unreliable | ||
| whiteknight | they could be improved | ||
| hell, they should be | |||
| dukeleto | allison: i can understand that, but people linked to them in blog posts and now they are 404s. that sucks | ||
| allison | whiteknight: sure | 20:54 | |
| Coke | allison: yes? | ||
| ah. | |||
| dukeleto | allison: should I try to fix "make html" to make it include the draft directory? | ||
| Coke | dukeleto: yes. | ||
| (I could have answered that. =-) | |||
| allison | dukeleto: we aren't going to perpetually preserve all the links in the docs directory | ||
| dukeleto | Coke: i know you are on board, I just wanted to hear what allison has to say :) | 20:55 | |
| Coke | allison: but it's not included /at all/, even in a draft/ dir. | ||
| allison | dukeleto: if they want a permenant link, they should link to the page for a particular version of parrot | ||
| dukeleto | allison: that solves the problem at hand, thanks! | ||
| Coke | allison: we don't really advertise that link, only latest. | ||
| s/advertise/link to, even./ | 20:56 | ||
| allison | Coke: the chapters that are reasonably finished and useful in the site are linked in | ||
| Coke | I would treat the book in that respect like our placeholder code. make available, but mark as experimental. | ||
| allison | I'd avoid linking in draft chapters that are inaccurate or nonsensical | ||
| (which means reviewing them) | 20:57 | ||
| Coke | I would rather just publish everything and concentrate on reviewing them. | ||
| allison | last I checked, some of them don't even parse | ||
| if thery're not on the front page, and clearly marked as drafts, it shouldn't throw anyone too far off | 20:58 | ||
| dukeleto | just to give a concrete example, someone linked to docs.parrot.org/parrot/1.3.0/html/d...e.pod.html in a blog post, which looks like a useful chapter | ||
| shorten | dukeleto's url is at xrl.us/bfskox | ||
| dukeleto | i just changed the link to 1.3.0, but the person was using the link with 'latest' instead of 1.3.0, so the link went dead | ||
| Coke | IWBNI if .../docs/book/ worked, btw. | 20:59 | |
| (even if only to redirect back to the top level page.) | |||
| dukeleto | IWBNI? | ||
| purl | IWBNI is "it would be nice if" | ||
| dukeleto | botsnack | ||
| purl | thanks dukeleto :) | ||
| allison | dukeleto: except it's wrong in several places | ||
| Coke | I think we're more like to get our docs fixed if we publish them warts and all (with DRAFT as appropriate). | 21:00 | |
| allison | Coke: a page could be added for that | ||
| dukeleto | allison: what about putting "THIS IS A DRAFT AND VERY POSSIBLY IS WRONG/OUT OF DATE" at the top of draft chapters? | ||
| Coke | allison: yes, I'm feeding dukeleto tasks. =-) | ||
| allison | Coke: the current html doc processing is a bit byzantine | ||
| dukeleto | coke++ # sunshine is a pretty decent disinfectant | ||
| Coke | dukeleto: I think "DRAFT" is fine, yes. | ||
| perhaps a "NEEDS REVIEW", even. | 21:01 | ||
| allison | dukeleto: yes, DRAFT in the title is fine | ||
| (or some other large/prominent text | |||
| but, not on the front page | 21:02 | ||
| dukeleto | allison: so, are you saying that draft chapters should be available but linked to? | 21:03 | |
| s/linked to/not linked to/ | |||
| allison | dukeleto: how about just one link on the front page to Book? | 21:04 | |
| dukeleto: then chapter links on the Book page | |||
| dukeleto: (or Books) | |||
| dukeleto | allison: that sounds fine with me. | ||
| allison | dukeleto: then break that page down into "Programming Parrot: PIR", and "DRAFT", and whatever the other books in docs/book are | 21:05 | |
| dukeleto: IIRC, there's a rough draft for compiler tools too | |||
| dukeleto | allison: ok, sounds like a plan | ||
| Coke | the chapter links for books will include links to draft chapters, yes? | 21:11 | |
|
21:33
cconstantine joined
|
|||
| cotto_work | chromatic, do you think the pcc refactor will yield any potential optimizations for the profiling runcore? | 22:01 | |
| chromatic | Nothing comes to mind. | 22:05 | |
| I had an idea (with Whiteknight? bacek?) a while back about changing the way we index annotations in the annotation chunk of the bytecode. | |||
| It's O(n) to find the annotations for any particular opcode, and that adds up for the profiling runcore. | 22:06 | ||
| cotto_work | quite | ||
| Maybe I should dust off my todo list and get hacking on that. | 22:07 | ||
| chromatic | I think we need to fix line numbering first, but japhb had some thoughts on that. | 22:08 | |
| cotto_work | yeah, but that involves imcc | 22:11 | |
| chromatic | That's not the awful part of IMCC. | 22:15 | |
| Mostly I just need to know which syntactic constructs are wrong. It's reasonably easy to fix then. | |||
| japhb | chromatic: sorry I have not had the time to deal with that. RL has been in the way last week and this. :-( | 22:17 | |
|
22:22
theory joined
|
|||
| treed | Is there a way to get a diff of just the recent commits *I* made? | 22:22 | |
| (git) | |||
| Tene | git log | grep treed | ... | 22:23 | |
| moritz | git log --author=treed | ||
| and if you also want the diff, add the -p option | 22:24 | ||
| treed | Aha, thanks. | ||
| Tene | Huh. Nice. | ||
| moritz++ | |||
| cotto_work | chromatic, do you think we'll eventually want parrot to load libraries that can take CLI options? | ||
| Tene | "libraries that can take CLI options"?? | 22:25 | |
| chromatic | IMCC versus PIRC, for example? Assuming a PIR parser is loadable. | ||
| Suppose the profiling core is loadable but has optional CLI options. | |||
| Tene | ah | ||
| cotto_work | yeah, like that | 22:26 | |
| chromatic | cotto_work, eventually yes. | ||
| cotto_work | ok | ||
|
22:29
mikehh joined
|
|||
| dalek | tracwiki: v5 | cotto++ | ItsABughunt | 22:37 | |
| tracwiki: add cli argument parsing | |||
| tracwiki: trac.parrot.org/parrot/wiki/ItsABu...ction=diff | |||
| shorten | dalek's url is at xrl.us/bfsk8i | ||
| cotto_work | Hmm. Processing seems to be the word I was looking for. | 22:38 | |
|
22:55
Whiteknight joined
23:06
patspam joined
23:09
ash_ joined
|
|||
| darbelo | Okay, let's see if dalek handles the new repo... | 23:26 | |
| Whiteknight | what new repo? | 23:27 | |
| darbelo | Matrixy. | 23:28 | |
| Whiteknight | oh nice | ||
| darbelo | I adjusted the matrixy entry on the wiki to point to github. I think that's enough for dalek to start reporting commits. | ||
| Whiteknight | here's hoping | 23:29 | |
| japhb | darbelo, did you already put in the one for the libs? | ||
| Whiteknight | there are lots of commits needed :) | ||
| darbelo | japhb: We don't have a libs page on the wiki. | ||
| We should have, and dalek should know about it. But we don't, AFAIK. | 23:30 | ||
| japhb | darbelo: I thought we did ... only a couple entries in it, IIRC | ||
| darbelo | I could be wrong. | ||
| japhb looks .... | |||
| Ah, here it is: trac.parrot.org/parrot/wiki/Modules | 23:31 | ||
| darbelo | And I was the last person to edit it. | 23:32 | |
| darbelo feels stupuid. | |||
| darbelo feels doubly stupid. | |||
| japhb | heh | ||
| No worries. Not like any of us have more than a couple things on our mind at any given time or anything .... | 23:33 | ||
| Whiteknight | it's too hard to find pages in that damn wiki | 23:35 | |
| we need to be better about linking pages together | |||
| darbelo | Whiteknight: What would you put on the "Written in" column for parrot-linear-algebra? | 23:36 | |
| Whiteknight | PIR | ||
| it will probably be a combination of C and PIR | |||
| because we're going to need library bindings and wrappers, but we're also going to want matrix PMC types written in C | 23:37 | ||
| darbelo | ok, done. Gave it a "Alpha" Completeness. | 23:38 | |
| Whiteknight | nice | 23:39 | |
| dalek | tracwiki: v3 | darbelo++ | Modules | 23:40 | |
| tracwiki: Add parrot-linear-algebra to the list. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Module...ction=diff | |||
| shorten | dalek's url is at xrl.us/bfsmhy | ||
|
23:41
theory joined
|
|||
| darbelo | But I am pretty sure that dalek doesn't know about that page. | 23:41 | |
| Whiteknight | allison: ping | 23:42 | |
| japhb | darbelo: and thus, your next task. ;-) | ||
| Whiteknight | allison: nvermind, unping | 23:43 | |
| I think tailcalls are borked | 23:45 | ||
| chromatic | I'm sure they are. | 23:46 | |
| Whiteknight | somewhere the call signature of a tailcall needs to get at the returns portion of the parent's callsignature | ||
| and I don't think thta's happening | |||
| darbelo | trac.parrot.org/parrot/wiki/Languages needs pruning. Lots of abandoned languages there. | 23:48 | |
| dukeleto | darbelo: how do we define 'abandoned' ? | 23:49 | |
| Whiteknight | nobdoy working on it. No hope. All alone and nobody cares. | ||
| darbelo | Damm, there was a languages/tap in parrot. | 23:50 | |
| japhb: Hasn't been updated to the brave, new, post-1.0 world. And nobody plans to. | 23:51 | ||
| Whiteknight | I think we could save some complexity if set_args returns the CallSignature PMC, and we pass that to get_results | 23:52 | |
| and then pass it also to invoke | |||
| saves us from having to call Parrot_pcc_[get|set]_signature so many times | 23:53 | ||
| dukeleto | Whiteknight: 'nobody' working on it for how long? | ||
| Whiteknight | AND gives us the flexibility to be more manual in our handling of CallSignatures | ||
| chromatic | Whiteknight, if we unify CallSig and Context, won't we have to undo that? | 23:54 | |
| dukeleto | Whiteknight: just trying to quantify what we consider 'abandoned' | ||
| Whiteknight | chromatic: no, not at all. We'll still call invoke with the Context PMC | ||
| japhb | darbelo: huh what? | ||
| Whiteknight | but that gives us the ability to say "run in this context" a | ||
| and gives us the ability to preinitialize a context for a call if we choose | |||
| chromatic | Which invoke? | 23:55 | |
| Whiteknight | invokecc is the one I am thinking of specifically | ||
| darbelo | japhb: sorry, meant dukeleto. | ||
| Whiteknight | dukeleto: I don't know. Anything that doesn't build against current Parrot is a good candidate | ||
| anything that hasn't been touched since before the last supported release (1.4) and doesn't even build against that is better | 23:56 | ||
| darbelo | dukeleto: I'd call anything that needs a pre-1.0 parrot 'abandoned' | ||
| Whiteknight | darbelo: I agree | ||
| UNLESS it's under active development and is sepcifically targetting that parrot | |||
| jonathan | My initial thoughts on unifying call_sig and context is "omfg don't do that" | 23:57 | |
| erm, CallSig | |||
| Multi-dispatch needs to make a decision on what to invoke based on the call signature and *then* create a context. | |||
| Whiteknight | jonathan: why not? | ||
| jonathan | e.g. the context of the chosen candidate. | 23:58 | |
| Whiteknight | we allocate register storage separately from the Context PMC itself | ||
| jonathan | At the point we call VTABLE_invoke, we don't know whether we're going to want a new context. | ||
| Whiteknight | we can create the Context before hand and initialize it when the candidate is found | 23:59 | |
| jonathan | Whiteknight: That feels hacky/icky. | ||
| Whiteknight | and if we don't use the contexty parts of the new franken PMC, we don't use it | ||
| jonathan | I'm all for optimizations. | ||
| dukeleto | darbelo, Whiteknight: those are some better definitions. but I can also see that a single contributor was working on something and then RL got the way for X months | ||
| it could still pick back up again | |||
| jonathan | But this feels like losing a separation of concerns. | ||
| dukeleto | i think i like the term 'historical' over 'abandoned' | ||