|
Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Onward and upward with Google Code-In | Please test all nwellnhof/* branches | Merge html_cleanup Set by moderator on 24 December 2010. |
|||
| Yuki`N | groups.google.com/d/msg/gci-discus...U8asYw9joJ this guy is just infuriating. | 00:10 | |
|
00:11
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
00:12
kid51 joined
00:19
Patterner left
00:20
Myhrlin joined
|
|||
| Matt_ | Can someone here approved this task: www.google-melange.com/gci/task/sho...9360426329 | 00:22 | |
|
00:24
Psyche^ joined,
Psyche^ is now known as Patterner
00:25
hercynium left
00:26
whiteknight joined
|
|||
| whiteknight | what nwellnhof branches do we need to test? | 00:34 | |
| nwellnhof | whiteknight: all of them! | 00:35 | |
| whiteknight | okay! | ||
| nwellnhof: I count three? | |||
| dalek | rrot: edecaa9 | nwellnhof++ | / (2 files): Fix bugs when deleting from a hash while iterating |
00:36 | |
| whiteknight | three that should all be merged before 3.0, methinks | ||
| nwellnhof | whiteknight: yes, those 3. | ||
| compiler_flags is probably too experimental for 3.0 | |||
| cotto_work | Matt_: done | ||
| Matt_ | cotto_work: thanks! Any good resources on learning PIR besides the docs online? Since they're so many tasks on writing tests I figured I'll learn the langugae well | 00:37 | |
| cotto_work | Matt_: existing test are a good place to pick up the relevant bits. | ||
| arnsholt | Matt_: There's a fair bit of PIR around as well | 00:38 | |
| The language itself is reasonably simple, so it's pretty quick to learn | |||
| cotto_work | nwellnhof: did the bugfix come from figuring out how to cover the mysterious if (attrs->pos == attrs->total_buckets) line? | 00:39 | |
| rather, the break after that line | 00:40 | ||
| nwellnhof | cotto: yes | ||
| cotto_work | headdesk | ||
| 98.1% coverage and there's a bug in the single untested line | 00:41 | ||
| arnsholt | Murphy strikes again, one supposes | ||
| nwellnhof | there was another bug, too. | ||
| NotFound | cotto_work: I've already fixed a few like that. | 00:42 | |
| plobsing | are we still looking for GCI tasks? | 00:44 | |
| NotFound | Given our frequent changes to almos anything, untested => buggy | 00:45 | |
| cotto_work | definitely shows the value of test coverage | 00:46 | |
| nwellnhof | yes, hashiterator.pmc is at 100% | ||
| NotFound | Hurrah | ||
| cotto_work | nwellnhof++ | ||
|
00:50
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
00:56
Patterner left
|
|||
| dalek | rrot: 4ae20f3 | Whiteknight++ | .gitignore: update .gitignore to cover .o files in src/embed |
00:56 | |
| rrot: d0cf409 | Whiteknight++ | / (3 files): Merge remote branch 'origin/kapace/api-serialize' |
00:57 | ||
| Kapace_ | I was making tests for ParrotLibrary, and apparently theres a null pmc access in clone(), test here: gist.github.com/759310 | 01:05 | |
|
01:05
contingencyplan joined
|
|||
| Kapace_ | the null pmc access happens regardless of any other code. (clone $P0 always fails apparently) | 01:06 | |
| whiteknight | nwellnhof: I was hoping to be able to move the encoding logic into Handle PMC, and be able to inherit it from StringHandle, Socket, etc | 01:07 | |
| cotto_work | Kapace_: this is why we want increase coverage | 01:08 | |
| Kapace_ | ok, I was trying to put this in a branch | ||
| but I totally failed with git, | |||
| according to the tutorial, I create a branch with git branch test_parrotlibrary, switch to it with git checkout test_parrotlibrary.. | 01:09 | ||
| nwellnhof | whiteknight: the encoding logic is where much connected to the buffering logic. so i think we should simply redo it for StringHandles. | ||
| Kapace_ | that worked ok, but then I couldn't commit the new tests, or push them to my github | ||
| whiteknight | nwellnhof: I wanted to extract the buffering logic too. Socket uses buffering too and I would like to unify if possible | 01:10 | |
| if not possible, that's fine too, but I would like to keep it in mind | |||
| nwellnhof | whiteknight: yes, we should use the buffering/encoding code for sockets, too. | ||
| we will probably have to pass function pointers or something vtable like to Parrot_io_read_buffer, so it can use different backends to refill the buffer. | 01:11 | ||
| whiteknight | ok | 01:12 | |
| cotto_work | Kapace_: can you nopaste what's not working for you? | ||
| whiteknight | Does anybody use Parrot_secret_snprintf? | ||
| ack doesn't return any uses | 01:13 | ||
|
01:15
stilgar joined
|
|||
| Kapace_ | cotto_work: you mean the failing test, or the failing git commands? | 01:15 | |
| whiteknight | ....I'm going to delete it | ||
| cotto_work | whiteknight: it appears to exist for systems without snpritnf | 01:16 | |
| no idea which systems that means | |||
| whiteknight | cotto_work: yeah, but there are absolutely no references to it | ||
| cotto_work | Kapace_: the git stuff | ||
| whiteknight | not in conditional code, not in macros, not anywhere in the config system | ||
| cotto_work | #ifndef PARROT_HAS_C99_SNPRINTF | ||
| # define snprintf Parrot_secret_snprintf | |||
| #endif | |||
| include/parrot/misc.h | |||
| whiteknight | where the hell is that? and why doesn't my ack show it? | 01:17 | |
|
01:17
kid51 left
|
|||
| Kapace_ | nopaste.info/f7b5f78731.html | 01:17 | |
| cotto_work | Kapace_: that probably means you need to pull master or just push your branch | 01:18 | |
| git push origin your_branch | 01:19 | ||
| it's also trying to push master, which apparently isn't up-to-date with origin | |||
| Kapace_ | git push origin test_parrotlibrary fails: error: Cannot access URL github.com/parrot/parrot.git/, return code 22 | 01:20 | |
| whiteknight | Parrot_secret_snprintf doesn't use the len parameter at all. It doesn't actually limit the size of the output string at all | 01:21 | |
| even a basic test for it causes stack corruption | |||
| cotto_work | ... | 01:22 | |
| rfw | whiteknight: ack isn't better than grep, it would seem :D | 01:23 | |
| whiteknight | rfw: I think I was misreading some of the ouput | ||
| rfw | lol | ||
| cotto_work | Kapace_: you'll have to ask dukeleto for help | 01:24 | |
| Matt_ | whiteknight: having weird issues here. Wrote a unit test for 'exists_keyed_str' in the Capture PMC, and it passes fine but doesn't seem to be included in the coverage reports | 01:25 | |
| whiteknight | Matt_: yeah, I've seen that with a few tests lately. I don't know what causes it | ||
| Matt_ | (i.e. coverage doesn't go up. Using make quickcover_new here) | ||
| whiteknight | my only possible suggestion is to make realclean and reconfigure | ||
| Kapace_ | Matt_: are you trying to test the functions found in here trac.parrot.org/parrot/ticket/1914? | 01:26 | |
| Matt_ | yup! | 01:27 | |
| (as well as exists_keyed_str) | |||
| Kapace_ | well apparently whiteknight says that there are no opcodes that call those vtables, | ||
| and probably the only things that call them are other HLLs or extensions | 01:28 | ||
| whiteknight | Kapace_: no opcodes that I can find. They can still be called directly from C | ||
| Yuki`N | There are quite a few vtables that are not called via PIR opcodes. | ||
| whiteknight | but those are not exactly common vtables | ||
| Kapace_ | I've been trying to remove them, and see if rakudo still builds | ||
| Matt_ | so thats the cause of my issues | 01:29 | |
| Yuki`N | Removing VTABLEs shouldn't be done lightly. | ||
| Rakudo is not the only HLL, keep in mind. | |||
| Kapace_ | yeah, but jsut as a test | ||
| cotto_work | Yuki`N: you have learned well | 01:30 | |
| whiteknight | how do I TODO a Perl test? | 01:31 | |
| I thought I knew, but it's not working | 01:32 | ||
| Yuki`N | I think you can add a fourth paramter. | ||
| output_is_pir( <<'CODE', <<'OUTPUT', "something", { todo: "why" }); iirc | |||
| Check bigint.t | 01:33 | ||
| There' | |||
| Or bignum.t | |||
| there's about 9001 perl todo tests in there. | |||
|
01:35
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| plobsing | what? 9000? | 01:35 | |
| Kapace_ | over 9000! | 01:36 | |
| Matt_ | whiteknight: So is there anyway to work around those 'dead' VTABLE's in Capture.pmc ? Fixing those alone would increase code coverage quite a bit | 01:37 | |
| dalek | rrot: d45d1bc | Whiteknight++ | t/src/misc.t: Merge remote branch 'origin/gci_rfw_coverage' |
||
| rrot: d2ee492 | Whiteknight++ | t/src/misc.t: fix two C-based tests in misc.t for the g++ build |
|||
| rrot: 952208a | Whiteknight++ | t/src/misc.t: 'fix' the Parrot_secret_snprintf test, by commenting out the code that causes a core dump and marking the test TODO. Parrot_secret_snprintf is more harm than good, methinks |
|||
| whiteknight | Matt_: If they really are dead and not used in Rakudo or elsewhere, the best idea is to delete them | ||
| Kapace_ | ok, in my fork of parrot, I tried to do: git pull github.com/parrot/parrot.git/ master but this fails with conflicts | 01:43 | |
| whiteknight | I hereby propose that we upgrade Parrot to C99 | ||
| Kapace_ | is there a way to discard all the stuff in my fork and overwrite it with the updated files in parrot/master? | ||
| cotto_work | whiteknight: sure. Just find a version of msvc patched to support it. | ||
| whiteknight | because C99 has snprintf, and Parrot relies on snprintf | ||
| cotto_work | also, everyone has to be using it | ||
| whiteknight | cotto_work: we don't need to use all features of C99. We can use a subset | ||
| snprintf, long long, etc. We use those things, MSVC supports them, and we should be free to use them | 01:44 | ||
| rfw | did i write a crappy test for parrot_secret_sprintf :| | ||
| whiteknight | rfw: no, Parrot_secret_snprintf is crappy | 01:45 | |
| your test was good. That function dumps core | |||
| rfw | ah | ||
| whew | |||
|
01:54
Patterner left
|
|||
| Kapace_ | ok, if I have the error "Null PMC access in clone()" should I keep the test and expect it to fail, or comment it out for now? | 01:56 | |
| cotto_work | TODO it | 02:03 | |
|
02:04
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| Kapace_ | can I do that for a PIR test? | 02:09 | |
|
02:11
stilgar left
|
|||
| Matt_ | cotto_work: can you accept this: www.google-melange.com/gci/task/sho...0940323#c1 | 02:13 | |
| Gave up other task after the issue [Ticket 1914] Kapace_ reported in Capture.pmc | 02:14 | ||
| cotto_work | Matt_: It appears that I can. | 02:15 | |
| Kapace_: use todo() instead of ok() | 02:17 | ||
| it's clunky. Fixing it might make a nice gci task. ;] | 02:18 | ||
| Kapace_ | ok, ill try that | ||
| Matt_ | cotto_work: thanks! | ||
|
02:19
dmalcolm left
|
|||
| Kapace_ | I think the failed clone() call makes the test return 1, which makes the test fail | 02:22 | |
|
02:22
kennym left
|
|||
| cotto_work | Kapace_: you can set up an exception handler for hat | 02:24 | |
| *that | 02:25 | ||
| look for tests that use push_eh | |||
| Kapace_ | ugh, totally forgot | ||
| I just remember about exception handlers lol | |||
| (sometimes I think this is a really low level language with no features) | 02:26 | ||
| cotto_work | It has mmd. That's a feature. | 02:27 | |
|
02:28
whiteknight left
|
|||
| Yuki`N | It'd be cool if aloha could give you links for trac ticker numbers. | 02:31 | |
|
02:31
Patterner left
|
|||
| Yuki`N | *ticket | 02:31 | |
| plobsing | Yuki`N: you could use irclog.perlgeek.de it converts TT references into links | 02:33 | |
| or write a small script for whatever irc client you use | 02:34 | ||
| Yuki`N | I suppose so. | ||
| Kapace_ | is there any more debug info I should give to the ticket for failing clone in parrotlibrary? | 02:39 | |
|
02:42
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| cotto_work | Kapace_: a failing test case is sufficient | 02:45 | |
| cotto_work goes home | 02:47 | ||
| Kapace_ | sorry If im being thick, but a failing test case in the ticket, or just the failing ticket? | ||
| erm, just the failing test | |||
|
02:51
lidden left
03:07
contingencyplan left
03:10
contingencyplan joined
03:21
Tene left
03:24
Patterner left
03:35
Psyche^ joined,
Psyche^ is now known as Patterner
03:50
Patterner left
|
|||
| cotto | ~ | 03:56 | |
|
04:00
Psyche^ joined
|
|||
| Kapace_ | cotto: I didn't understand, do I want to make a ticket with a test case, or just commit the test? | 04:00 | |
|
04:00
Psyche^ is now known as Patterner
04:10
nwellnhof left
04:13
cottoo joined
04:14
cotto left
04:23
cottoo is now known as cotot,
cotot is now known as cotto
04:30
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
04:33
Matt_ left
04:47
Patterner left
04:50
Matt_ joined
04:59
Psyche^ joined,
Psyche^ is now known as Patterner,
Matt_ left
|
|||
| cotto | I like having a modern vcs. | 05:12 | |
| plobsing | what brought on this observation? | 05:13 | |
| Kapace_ | my lack of expirience with it | 05:15 | |
| rfw | i love how fast git is | ||
| Kapace_ | however, I think I got my work on a branch github.com/kapace/parrot/tree/test_coverage :) | ||
| dalek | rrot/encapsulate-main: 4896bc7 | plobsing++ | frontend/pbc_merge/main.c: headerizer and cpp comments |
05:16 | |
| rrot: fafd33c | plobsing++ | / (2 files): don't run :immediate or :postcomp subs from libparrot These are the responsibility of the compiler (IMCC), which already takes care of them. That these are sometimes run even when a compilation has not occured is a bug. |
|||
| rrot: e9e296a | plobsing++ | t/pmc/sub.t: skip :immeidate/:postcomp tests under testr these should not execute when loading bytecode |
|||
| cotto | plobsing, in this case, using --signoff instead of crediting a contributor in the commit message | ||
| rrot: d9c0033 | plobsing++ | compilers/imcc/main.c: imcc loads bytecode too apparently |
|||
| rrot: 2477d42 | plobsing++ | / (4 files): Merge branch 'encapsulate-compilation-phasors' |
|||
| rrot: b99cde0 | (Matt Rajca)++ | src/pmc/orderedhash.pmc: [pmc] comment out defined_keyed_str, which seems to be unreachable. Signed-off-by: Christoph Otto <christoph_git@mksig.org> |
05:18 | ||
| rrot: 3eeace2 | (Matt Rajca)++ | t/pmc/orderedhash.t: [pmc] increase OrderedHash's test coverage Signed-off-by: Christoph Otto <christoph_git@mksig.org> |
|||
|
05:19
Coke left
|
|||
| Kapace_ | cotto: sorry to bug you, but should I create a ticket or not? | 05:20 | |
| cotto | Kapace_, yes. Attaching a way to reproduce the bug is preferable but it's fine as long as you give sufficient instructions so that someone who's familiar with Parrot can figure it out easily. | 05:21 | |
| Kapace_ | ok, thanks :) | ||
|
05:28
Tene joined
|
|||
| dalek | TT #1915 created by DavidCzech++: Cloning ParrotLibrary results in Null PMC access | 05:36 | |
| TT #1915: trac.parrot.org/parrot/ticket/1915 | |||
|
05:41
Patterner left
|
|||
| dalek | rrot: 9d077ec | plobsing++ | src/pmc/parrotlibrary.pmc: null checks on PMCs should also check against pmcnull |
05:44 | |
| TT #1915 closed by plobsing++: Cloning ParrotLibrary results in Null PMC access | 05:52 | ||
| TT #1915: trac.parrot.org/parrot/ticket/1915 | |||
| Kapace_ | that was fast :) | ||
| plobsing | gdb ftw | 05:53 | |
| speaking of which, can we get some gdb/parrot scripting as GCI tasks? Its a little long winded and dumb right now. | 05:54 | ||
| plobsing sleeps | 06:05 | ||
|
06:06
Psyche^ joined,
Psyche^ is now known as Patterner
06:11
plobsing left
06:15
Patterner left
|
|||
| cotto | plobsing++ | 06:17 | |
| Yuki`N | Do you need a special trac bit to do things to tickets besides opening them? | 06:21 | |
|
06:27
Psyche^ joined,
Psyche^ is now known as Patterner
06:32
Yuki`N left
06:37
TonyC joined
06:41
Patterner left
06:48
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| dalek | rrot: 4111621 | GeJ++ | / (2 files): [codingstd] Pet code tests. |
06:54 | |
|
06:58
Patterner left
07:06
bacek left
07:09
Psyche^ joined,
Psyche^ is now known as Patterner
07:17
Patterner left
07:49
fperrad joined
07:56
Psyche^ joined,
Psyche^ is now known as Patterner
08:16
Patterner left
08:33
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| dalek | rrot: 396de46 | cotto++ | src/packfile/ (2 files): [packfile] switch to exceptions for some packfile error reporting |
08:36 | |
|
08:42
he joined
08:43
mikehh left
08:49
Patterner left
08:50
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| cotto | msg whiteknight Can you set up a gci task to rename packfile functions to Parrot_pf_*? | 08:52 | |
| aloha | OK. I'll deliver the message. | ||
|
08:53
mikehh joined
09:02
Patterner left
|
|||
| dalek | tracwiki: v4 | cotto++ | PackfileTasklist | 09:10 | |
| tracwiki: add notes about potential and actual gci tasks in this area | |||
| tracwiki: trac.parrot.org/parrot/wiki/Packfil...ction=diff | |||
|
09:26
Psyche^ joined,
Psyche^ is now known as Patterner
09:31
rfw left
|
|||
| dalek | rrot: a00c8f2 | mikehh++ | MANIFEST (2 files): re-generate MANIFEST and MANIFEST.SKIP |
09:36 | |
| rrot: 1d615b1 | mikehh++ | t/src/misc.t: add missing coda |
09:42 | ||
|
09:44
theory left
09:46
Patterner left
09:58
Psyche^ joined,
Psyche^ is now known as Patterner
10:15
Patterner left
10:33
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| mikehh | cotto: ping | 10:47 | |
| dalek | rrot: 6da188c | (Gerd Pokorra)++ | docs/parrot.pod: update platform information |
11:25 | |
|
11:26
bluescreen joined
11:32
Patterner left
11:42
Psyche^ joined,
Psyche^ is now known as Patterner
11:51
lucian joined
11:53
perlite left,
perlite joined
12:06
mikehh left,
Coke joined
12:20
mikehh joined
12:22
lucian left
12:47
mtk joined
12:56
mtk left
13:04
mtk joined
13:16
mtk left
|
|||
| mikehh | opbots, names | 13:17 | |
|
13:21
contingencyplan left
13:22
mtk joined
|
|||
| dalek | rrot: d6c805a | Coke++ | src/pmc/orderedhash.pmc: Remove commented out code. |
14:00 | |
|
14:04
whiteknight joined
14:21
he left
|
|||
| whiteknight | good morning, #parrot | 14:26 | |
| msg cotto I was waiting on the Parrot_pf_ function renames because we haven't really set up a "Packfile API" yet. We need to move several functions out of src/packfile/api.c first, which shouldn't be visible outside that subsystem | 14:27 | ||
| aloha | OK. I'll deliver the message. | ||
| whiteknight | maybe that can be a GCI task in itself | 14:28 | |
|
14:39
lucian joined
14:53
dmalcolm joined
|
|||
| whiteknight | ack PBC_PBC | 14:59 | |
|
15:07
lucian left
|
|||
| whiteknight | aloha, coverage? | 15:24 | |
| aloha | whiteknight: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
|
15:26
plobsing joined
|
|||
| mikehh | been gettin intermittent failures with t/pmc/threads.t (especially in testr and testf) but when I re-run the test or individually it does not fail | 15:27 | |
|
15:27
Patterner left
|
|||
| dalek | tracwiki: v5 | whiteknight++ | PackfileTasklist | 15:30 | |
| tracwiki: +some tasks about sub pragmas, which need major cleanup | |||
| tracwiki: trac.parrot.org/parrot/wiki/Packfil...ction=diff | |||
| whiteknight | mikehh: That's weird. We may have a timing issue popping up now | 15:39 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1918) fulltest) at 2_11_0-369-g6da188c - Ubuntu 10.10 i386 (gcc-4.5) | 15:41 | |
| whiteknight: I don't think I am over happy with our implementation of threads anyway | 15:42 | ||
| I generally run with TEST_JOBS=4, which might effect the timing, but I don't think so | 15:43 | ||
| I think that allows tests to run in parallel, but each individual test is run serially I think | 15:45 | ||
| so t/pmc/threads.t will run test1 then test2 etc but might run at the same time as t/pmc/toimer.t | 15:46 | ||
| timer | |||
| dalek | tracwiki: v6 | whiteknight++ | PackfileTasklist | 15:47 | |
| tracwiki: +more tasks | |||
| tracwiki: trac.parrot.org/parrot/wiki/Packfil...ction=diff | |||
| whiteknight | mikehh: I am *extremely* unhappy with our threading implementation. I really want to completely rip it out and start from the ground up | 15:49 | |
| mikehh | I had problems with this when I ran smoke at the same time as fulltest (before smoke allowed TEST_JOBS=4) | ||
| Whiteknight: yes | |||
| whiteknight | mikehh: the threading system has enough bugs that I think it's not usable anyway for realistic non-toy applications | ||
| mikehh | ha - it does not even work reliably for simple tests | 15:50 | |
| whiteknight | yeah, I guess you are right | 15:51 | |
| open a ticket, suggest we deprecate it pre-3.0 | |||
| plobsing | whiteknight: I don't think packfile dump functions belong as pmcmethods (more namespace polution). I'd like to see pretty-print use a more clos-y multi-method-based approach. | ||
| s/multi-method/multi-sub/ | |||
| whiteknight | plobsing: My main drive with that idea is that I don't think we need packfile dump functions here in this subsystem at all. They should be external to the subsystem | 15:52 | |
| If we want to create new PMC types PackFileDumper, etc, that would do the same general thing | |||
| plobsing | I don't like the concept of special case classes for something that should be doable on most objects (pretty-print) | 15:53 | |
| mikehh | the test cotto added to t/embed/pmc.t fails to build with g++ (the test sets up c files and then builds and runs them) - also those files should be in .gitignore - git status reports them although they are removed my make realclean | 15:56 | |
| plobsing | If we wait until we get packfile pmcs (admittedly a little far away ATM), we could put implement them in an HLL. If we're unwilling to wait, I suggest we create an NCI lib. | 15:57 | |
| whiteknight | plobsing: I much less like the idea of keeping around a bunch of special-case routines in the core subsystem for something we rarely use (pretty-print) | ||
| I really don't care where those functions go, so long as they get out of src/packfile/* | |||
| delete them for all I care | |||
| mikehh | t/src/embed/pmc_1.c 11..7) and t/src/embed/strings_1.c | 15:59 | |
| bah - try again | |||
| the files are t/src/embed/pmc_1.c (1..7) and t/src/embed/strings_1.c - the t/src/embed/*.t seem to only be run with fulltest - src_tests | 16:01 | ||
|
16:06
Matt_ joined
|
|||
| whiteknight | I sort of don't want to lose pbc_dump, but if we had a PMC-based interface to dumping packfiles we could rewrite that program in ~100 lines of PIR | 16:08 | |
|
16:10
mtk left
|
|||
| whiteknight | plobsing: I am still very much interested in having a VTABLE_visit which we can pass in an arbitrary visitor PMC to. The pretty-printing is just a matter of passing in a PrettyPrintVisitor to it | 16:14 | |
| and freeze/thaw already use this pattern | |||
| we could probably just rename VTABLE_freeze to VTABLE_visit | |||
|
16:14
mtk joined
|
|||
| plobsing | we already have visit. freeze/thaw partially makes use of it. | 16:14 | |
| there is actually nothing stopping us from removing either freeze & thaw vtables or the visit vtable except inertia | 16:15 | ||
| whiteknight | I don't think we can replace both freeze and thaw with visit | 16:16 | |
| we could have visit_read and visit_write to handle the difference between push/unshift | |||
| and visit_finish, to round out the bunch | 16:17 | ||
| plobsing | visit works in multiple directions. such functions are often identical except for the direction of dataflow. | ||
| having 1 function do both is very DRY. I've used macros in C to even hide the difference (eg: VISIT_PMC_ATTR) | 16:19 | ||
| whiteknight | ah, I wasn't aware of the VISIT_PMC_ATTR macro | ||
| I say plobsing: We should jump on that. We should put in deprecation notices for freeze/thaw vtables before 3.0 so we can replace with visit at our leisure later | 16:23 | ||
| plobsing | ok. I'll do that soon. | 16:25 | |
| whiteknight | I can do it. I just wanted somebody to agree :) | 16:26 | |
| Matt_ | whiteknight: If I find any more dead VTABLE's while writing unit tests should I just removed the code? Can you list the places to check so I don't delete anything that's used | 16:32 | |
| dalek | tracwiki: v7 | whiteknight++ | PackfileTasklist | 16:36 | |
| tracwiki: +use visit | |||
| tracwiki: trac.parrot.org/parrot/wiki/Packfil...ction=diff | |||
| TT #1860 closed by whiteknight++: Move pbc subsystem to src/packfile | |||
| TT #1860: trac.parrot.org/parrot/ticket/1860 | |||
| whiteknight | Matt_: Don't just delete it. Ask first. | 16:38 | |
| msg cotto I created a new deprecation ticket #1916. I would like to put the notice in DEPRECATED.pod asap before the release, so let me know if you have any major problems with it beforehand | 16:39 | ||
| aloha | OK. I'll deliver the message. | ||
| Coke | whiteknight: I think a better plan, in general, when faced with a crappy subsystem, is to implement a non-crappy subsystem to replace it, then deprecate the crappy version, then remove it. Just in generael. | ||
|
16:40
kennym joined
|
|||
| whiteknight | Coke: depends on the subsystem. The packfiles system for instance is far too intertwined with other systems to just be replaced whole-hog like that | 16:42 | |
| in a general sense, yes your way is the cleanest | |||
| Coke: I would tend to prefer the mechanism we've been doing a lot of: Create a new API for crappy subsystem, move everybody to the new API, then we can freely replace what's behind it so long as the behavior is the same | 16:43 | ||
| that chain of events pays more dividends, because we can continually make improvements to system internals so long as the API does not change | 16:44 | ||
| Coke | that's pretty much what I said, yes. | 16:45 | |
| as long as that's the general plan. (we've had too many cases where we've just said "oh, this will change, LOOK OUT". hll devs can't cope with that. | 16:46 | ||
| whiteknight | Coke: there are some things where I think the best course of action in the near-term is to simply rip out the old version and offer no immediate replacement. Threads is an example | 16:47 | |
| luckily, the number of systems in this category is much smaller now than it was some years ago | |||
| for most subsystems now, encapsulation and then changing the implementation is a much better approach | 16:48 | ||
| mikehh | nopaste.snit.ch/ seems to be unavailable at present | 16:51 | |
| and the bot doesn't seem to be around either | 16:52 | ||
| whiteknight | mikehh: darn, that stinks | ||
| mikehh: try gist.github for now? | |||
| dalek | TT #1916 created by whiteknight++: Deprecate freeze, thaw, and thawfinish VTABLEs | 16:53 | |
| TT #1916: trac.parrot.org/parrot/ticket/1916 | |||
| Matt_ | whiteknight: What exactly is sharing of a PMC? (share / share_ro) | 16:57 | |
| mikehh | git://gist.github.com/759997.git\tt/src/embed/t failure with g++ | 16:58 | |
|
16:58
lucian joined
17:06
Psyche^ joined,
Psyche^ is now known as Patterner
17:10
wagle left
|
|||
| whiteknight | Matt_: I don't think we use those anymore | 17:11 | |
|
17:11
Myhrlin left
|
|||
| whiteknight | mikehh: Drat, I thought I had ran that test last night with g++ | 17:12 | |
| mikehh: I may need to evaluate that test and maybe rewrite portions of it. It shouldn't be calling Parrot_str_byte_length | 17:13 | ||
|
17:13
wagle joined
|
|||
| mikehh | whiteknight: well it works fine with gcc, but yes I wondered about that | 17:15 | |
| whiteknight | mikehh: I'm testing a fix now. | 17:19 | |
| I don't have g++ here though. I will try to fix the function problem but I may need you to fix the casting problem to make sure that gets done correctly | |||
| mikehh | whiteknight: whenever you are ready | 17:26 | |
| Coke wonders how you can freeze an arbitrary PMC using "visit" only. | 17:34 | ||
| whiteknight: most g++ errors show up as warnings on gcc. | |||
| dalek | rrot: c103611 | fperrad++ | runtime/parrot/library/TAP/Parser.pir: [TAP] fix TAP;Parser constructor |
17:42 | |
| rrot/leto/embed_grant: 80d6515 | dukeleto++ | t/src/embed.t: [t] Test for Parrot_PMC_i_neg |
17:44 | ||
| rrot: 7d2140e | Whiteknight++ | / (2 files): attempted partial fix for g++ build problems found in test by mikehh |
17:48 | ||
| rrot: 3e42494 | Whiteknight++ | runtime/parrot/library/TAP/Parser.pir: Merge branch 'master' of github.com:parrot/parrot |
|||
|
17:49
estrabd joined
|
|||
| dalek | rrot/leto/embed_grant: 990977d | dukeleto++ | t/src/embed.t: [t] Parrot_PMC_increment |
17:49 | |
|
17:52
davidfetter joined
|
|||
| dalek | rrot/leto/embed_grant: 8c873ea | dukeleto++ | t/src/embed.t: [t] Parrot_PMC_decrement |
17:54 | |
| Matt_ | Can someone here approve this task: www.google-melange.com/gci/task/sho...0930967#c1 | 17:59 | |
|
18:05
Myhrlin joined
18:06
theory joined
18:13
Myhrlin left
|
|||
| cotto_work | ~~ | 18:13 | |
|
18:17
Myhrlin joined
|
|||
| whiteknight | Matt_: accepted | 18:18 | |
| Matt_ | whiteknight: Submitted pull request: github.com/parrot/parrot/pull/54 | 18:20 | |
| whiteknight | Matt_: give me a few minutes to examine it | 18:22 | |
| moritz | cotto_work: fwiw my last rakudo spectest on RELEASE_2_11_0-343-g0264a39 was clean | 18:25 | |
| dalek | rrot/gci_undef_coverage: 3d53ab3 | (Matt Rajca)++ | t/pmc/undef.t: Increased code coverage for Undef PMC |
||
| rrot/gci_undef_coverage: afac169 | (Matt Rajca)++ | src/pmc/undef.pmc: Removed share_ro VTABLE as it wasnt used |
|||
| cotto_work | moritz: good to know. I'm glad the failures weren't Parrot's fault. | 18:29 | |
| Kapace_ | cotto_work: for parrotlibrary.pmc, I have 89%, and I thought the bugfix would bring it to 95, but apparently not.. | 18:31 | |
| I need to either give it metadata or make oplib_init() for the last 5%, not sure how to do that | 18:32 | ||
| cotto_work | Kapace_: ok. Do your best to get to 95%, but don't worry if it's not possible or practical. | ||
|
18:32
aloha left
|
|||
| dalek | rrot: 3d53ab3 | (Matt Rajca)++ | t/pmc/undef.t: Increased code coverage for Undef PMC |
18:32 | |
| rrot: afac169 | (Matt Rajca)++ | src/pmc/undef.pmc: Removed share_ro VTABLE as it wasnt used |
|||
| rrot: ecd7551 | Whiteknight++ | / (2 files): Merge remote branch 'origin/gci_undef_coverage' |
|||
| Kapace_ | ok | ||
| whiteknight | Matt_: merged, and task closed. Thanks! | 18:34 | |
| Matt_ | whiteknight: thanks! | ||
| whiteknight | cotto_work, dukeleto: I wrote up a few new GCI tasks this morning if somebody wouldn't mind publishing them | ||
|
18:34
bacek_at_work left
|
|||
| mikehh | whiteknight: ok works now - had to run make headerizer, add ASSERT_ARGS, and add cast - testing to see if it broke anything | 18:36 | |
| cotto_work | whiteknight: how does github.com/parrot/parrot/commit/396de46 look? I mentioned it in a gci task as an example and want to make sure I'm not doing anything stupid. | 18:38 | |
| looking at tasks now | |||
| whiteknight: all tasks published | 18:42 | ||
| whiteknight | mikehh: Sorry about all that, my dev environment here at work is...strained. I can't run nor test most of it, most of the time | 18:44 | |
| cotto_work: that commit looks good to me, minus some indenting here and there. Assuming all tests continue to pass, I like it | |||
| cotto_work | of course | 18:45 | |
| dalek | rrot: 7273822 | mikehh++ | t/src/embed/pmc.t: remove trailing whitespace |
18:48 | |
| rrot: b15a550 | mikehh++ | include/parrot/api.h: run make headerizer to add function |
|||
| rrot: 7896ce6 | mikehh++ | src/embed/strings.c: add ASSERT_ARGS |
|||
| rrot: 69c3a2d | mikehh++ | t/src/embed/pmc.t: add cast to allow test to build with g++ |
|||
| whiteknight | I really need to get my laptop back up and running again. I have so many hard-core projects I want to start up | 18:49 | |
| dalek | rrot: a4061d5 | nwellnhof++ | / (8 files): Fix a bunch of compiler warnings |
18:51 | |
| whiteknight | nwellnhof: I'm testing the unicode_io branch now. | 18:53 | |
| dukeleto | ~~ | ||
| whiteknight | good morning dukeleto | 18:54 | |
| dukeleto | whiteknight: howdy | 18:55 | |
| Kapace_ | :( git has me soo confused, I think I should delete and reopen my fork | 18:58 | |
|
18:59
dmalcolm left
|
|||
| dukeleto | Kapace_: wazzup? | 18:59 | |
|
18:59
bacek_at_work joined,
nwellnhof joined
|
|||
| dukeleto | Kapace_: i think you are not using your fork in a way that makes things easy. You are creating problems by how you are committing to your fork | 19:00 | |
| whiteknight | nwellnhof: the unicode_io branch passes all tests for me. I say merge | ||
|
19:00
aloha joined
|
|||
| Kapace_ | dukeleto: probably, I also have very little knowledge of git | 19:00 | |
| dukeleto | Kapace_: have you read github.com/parrot/parrot/blob/mast...rkflow.pod ? | ||
| Kapace_: i can help you out | |||
| Kapace_: what is your current situation? | |||
| Kapace_ | dukeleto: ok, I tried to make a branch for this task | ||
| and it kinda worked github.com/kapace/parrot/tree/test_coverage | 19:01 | ||
| nwellnhof | whiteknight: i have another change planned for unicode_io: support for record_separator. single character only for now. | ||
| Kapace_ | but I tried to push to it, but I keep getting errors etc | 19:02 | |
| dalek | rrot: d9b320b | mikehh++ | t/pmc/undef.t: remove trailing whitespace and update copyright |
||
| dukeleto | Kapace_: which errors? | ||
| Kapace_: hard to help you if you don't give us all the info | |||
| Kapace_: gist the entire error, with the command you are running | |||
| Kapace_: we will get this sorted out quickly | 19:03 | ||
| Kapace_: which task are you working on? | |||
| Kapace_ | dukeleto: ok, www.google-melange.com/gci/task/sho...3071#c3001 | ||
| oh, I should have totally read github.com/parrot/parrot/blob/mast...rkflow.pod first | |||
| would have saved me a lot of trouble | |||
| dukeleto | Kapace_: :) | 19:04 | |
| Kapace_ | dukeleto: right now, I would really just like to clean up my and get rid of all the commits that I may have made by accident | ||
| *my fork | |||
| dukeleto | Kapace_: do you have work in your fork now that you want to keep? | 19:05 | |
| Kapace_ | (If i try to open a pull request, I have 11 commits that wants to be merged, but I only want one commit!) | ||
| dukeleto: no, I have it all locally | |||
| dukeleto | Kapace_: do you know the sha1 of the commit that you want to be in the pull request? | 19:06 | |
| Kapace_: we need that | |||
| Kapace_ | github.com/kapace/parrot/commit/73...d49f7d4812 | ||
| dukeleto | Kapace_: good | ||
| Kapace_: which branch are you on in your local repo ? | 19:07 | ||
| Kapace_ | but I guess I have other commit before that, | ||
| master | |||
| cotto_work | nice to have the Dr. in | ||
| dukeleto | Kapace_: as long as you know the sha1 of each commit you want, that is what we need | ||
| Kapace_: which branch are the sha1's that you want on? Are they on master or your topic branch? | |||
| Kapace_ | they should be in master i think | 19:08 | |
| dukeleto | Kapace_: just want to remind you that git_workflow.pod was linked to in every task description. Next time, read the docs ;) | ||
| Kapace_: ok. create a text file with the sha1, one per line, that you want | |||
| Kapace_ | I will, I just thought I had it under control for the first few tasks, but I guess it got worse over time :$ | 19:09 | |
| dukeleto | Kapace_: yeah, ignoring small problems tend to make them into big problems :) | ||
| Kapace_: also, gist the output of the command "cat .git/config" for me | |||
| dukeleto muses that he needs to add docs to git_workflow.pod for keeping a fork in sync | 19:10 | ||
| Kapace_ | dukeleto: ok, but I have two clones, one clone of parrot/parrot and other of kapace/parrot | 19:11 | |
| cotto_work | dukeleto: good idea. That might have made embed_api a bit less awkward. | ||
| Kapace_ | I copied my work to both | ||
| whiteknight | cotto_work: I didn't use a fork for embed_api. At least not the later branches | ||
| dukeleto | Kapace_: gist that command and do you have the sha1's yet? | 19:12 | |
| Kapace_: how many sha1's are we dealing with? 2? | |||
| Kapace_ | dukeleto: I have the sha1s, but which clone do I get git config from? | ||
| dukeleto: like 3 | |||
| whiteknight | msg nwellnhof test for gc_dynamic_threshold fails. t/op/gc-leaky-call.t, test 3 fails on that branch | ||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | Kapace_: cat the .git/config in whichever repo that you found the 3 sha1's in | 19:13 | |
| cotto_work | whiteknight: of course. I misread "fork" as "branch". | ||
| dukeleto | Kapace_: sha1's are repo-specific | ||
| Kapace_ | ok | ||
| nwellnhof | whiteknight: did you test on 64bit? | ||
| dukeleto | Kapace_: i want you to run this command in the repo that you are gisting the .git/config and which you found the 3 sha1's: git remote add upstream git://github.com/parrot/parrot.git | 19:14 | |
| Kapace_ | dukeleto: gist.github.com/760159 | ||
| whiteknight | nwellnhof: yes, 64-bit | 19:15 | |
| Kapace_ | dukeleto: ok I see upstream in .git/config now | ||
|
19:15
rfw joined
|
|||
| dukeleto | Kapace_: after you type the git remote, do a : git fetch --all | 19:15 | |
| Kapace_ | ok looks good | 19:16 | |
| nwellnhof | whiteknight: i reenabled the gc-leaky tests in gc_dynamic_threshold, but i probably have to tweak the memory limit in the tests. | ||
| dukeleto | Kapace_: do you have any uncommitted files in the current repo that you care about? If so, move them out of this directory. | ||
| Kapace_ | ok | 19:17 | |
| dukeleto | Kapace_: once you are sure about that, type: git reset --hard upstream/master | ||
| nwellnhof | whiteknight: can you give me the full output of gc-leaky-call.t? | ||
| Kapace_ | ok done | ||
| dukeleto | Kapace_: if that succeeded, then do a : git checkout -b kapace/parrotlibrary | 19:18 | |
| Kapace_: are we good? | |||
| Kapace_ | yes | ||
| whiteknight | nwellnhof: not ok 3 - allocated 46837760 (which should be <= 2_500_000) bytes of memory | 19:19 | |
| no error output otherwise | |||
| dukeleto | Kapace_: ok, now you do 3 commands of the form: git cherry-pick $sha1 , where $sha1 are the sha1's of the commits you want | ||
| Kapace_ | ok | ||
| dukeleto | Kapace_: the $ is for you, not the computer :) | ||
| Kapace_: so it is for example : git cherry-pick deadbeef | |||
| Kapace_: although deadbeef is probably not a valid sha1 in your repo (but it could) | |||
| Kapace_ | ooh, yeah it works | 19:20 | |
| dukeleto | Kapace_: now get up from your chair and do a little dance | ||
| Kapace_ | done! | ||
| whiteknight | DANCE! | ||
| Kapace_ | bash.org/?4281 hehe | 19:21 | |
| dukeleto | Kapace_: now do: git push origin kapace/parrotlibrary | ||
| Kapace_: then create a pull request from the kapace/parrotlibrary branch | |||
| Kapace_: then go read git_workflow.pod :) | 19:22 | ||
|
19:22
Matt_ left
|
|||
| Kapace_ | yes I was just about to do that :) | 19:22 | |
| thanks for your help dukeleto | |||
| dukeleto | Kapace_: to keep that repo you have now up to date: (on master) git pull --rebase upstream | 19:23 | |
| Kapace_: you have the remote 'origin' as your fork, and you have the main parrot repo as 'upstream' | |||
| Kapace_: you can only push to origin, but you can pull/fetch from upstream. Makes sense? | |||
| Kapace_ | yes | 19:24 | |
| dukeleto | Kapace_: and to submit work to parrot devs, you create a topic branch from master (which you never commit to), and then make a pull request from each topic branch | ||
| Kapace_: one topic branch per GCI task | |||
| Kapace_: one commit per atomic change (roughl) | |||
| Kapace_ | ok, makes total sense :) | ||
| dukeleto | Kapace_: and you are welcome :) Good luck with GCI. With this info, you should be able to close at least 5 difficult tasks before GCI is over ;) | 19:25 | |
| Kapace_ | hopefully! thanks again | ||
| dukeleto | Kapace_: parrot has like 30 open tasks. Go rock 'em. | ||
| Kapace_ | ill finish git_workflow.pod first! | 19:26 | |
| whiteknight | most of those tasks are code-coverage though. Enthusiasm towards those kinds of tasks appears to be waning | ||
| Kapace_ | nah, they just take time for make cover to finish :P | ||
| dukeleto | whiteknight: sure. They were just easy for me to create. I would like to add more interesting tasks, of course. But those take time to write up properly. | 19:27 | |
| Kapace_: parallelize! TEST_JOBS=3 in your env will make things go faster | |||
| dukeleto hopes that make cover understands TEST_JOBS | |||
| whiteknight | dukeleto: I added a few new tasks this morning. I have more in my head that need to come out still | 19:28 | |
| Kapace_ | dukeleto: oh cool, didn't know about that would help alot on dual+ core machines | ||
|
19:28
bluescreen left
|
|||
| cotto_work | whiteknight: I made some notes on PackfileTasklist about possible gci tasks. | 19:28 | |
| I see you made some changes too | 19:29 | ||
| whiteknight | cotto_work: yeah, I've been going through that list | ||
| cotto_work: yeah, every time I read through that code I get absurdly, comically angry. Sometimes I channel that anger into a "kill all this shit" tasklist | 19:30 | ||
| dukeleto | whiteknight: we probably need a ChoppingBlockTasklist | 19:31 | |
| whiteknight | dukeleto: example? | 19:33 | |
| dukeleto | whiteknight: well, the current Embed interface is on the chopping block | ||
| whiteknight: Role and Scalar PMCs should be on the chopping block | 19:34 | ||
| whiteknight: it would basically keep track of parts of parrot that we are trying to get rid of, so people know that they should not spend time rearranging the deck chairs on the Titanic | |||
| whiteknight: or parts that will be totally rewritten | |||
| whiteknight: Complex PMC sounds like it will get ejected from core, it could go on there | 19:35 | ||
| whiteknight: what is the status of parrot-data-structures ? | |||
| whiteknight: i think the complex pmc could live in there | |||
| whiteknight: and then we can add Quaternion PMCs | |||
| whiteknight | dukeleto: Okay, that kind of list sounds good. Sounds like significant overlap with DEPRECATED.pod, but a more concise list might be helpful | 19:37 | |
| dukeleto | whiteknight: yes, a very short list. The ChoppingBlockTasklist is just an index, that links to deprecation TT's and/or wiki pages | ||
| cotto_work | dukeleto: you mean ItsABughunt? | 19:38 | |
| whiteknight | I haven't decided what I want to do with Complex yet. Parrot-Data-Structures was more an experimental/benchmarking platform for things like arrays, queues, and stacks. I've been using it to test alternate implementations of some things | ||
| dukeleto | cotto_work: possibly. | ||
| cotto_work | whiteknight: It could go into a new parrot-math package. It doesn't really fit into an existing project. | ||
| whiteknight | We may want to create a new project, Parrot-Mathematics or something similar. We could add a Complex PMC, Quaternion PMC, transformation objects between coordinate systems, etc | ||
| cotto_work | ... | 19:39 | |
| dukeleto | whiteknight: i can do a parrot-math repo, that sounds fun to my sick mind | ||
| Coke | parrot-meth | ||
| whiteknight | "Doing math on Parrot isn't normal. But on Meth it is" | ||
| dukeleto | whiteknight: do you have access to complex datatructures in parrot-linear-algebra from BLAS or something? | 19:41 | |
| Coke | nopaste.voric.com/paste.php?f=qy2j59 - parrot is a lot slower than perl5 on the fib benchmark. | ||
| dukeleto | Coke: what compile flags are being used? which versions? ETOOVAGUE | 19:42 | |
| whiteknight | dukeleto: as far as I am aware, BLAS doesn't implement any data structures. The memory model it uses for matrices is very simple | 19:43 | |
| dukeleto | whiteknight: does it use "strides" ? | 19:45 | |
| whiteknight | dukeleto: yes | 19:51 | |
| NumMatrix2d has unit stride, ComplexMatrix2D stores the real and complex values for each entry together | |||
| RIRIRI... | |||
| dukeleto | whiteknight: yeps. the same as GSL | 19:53 | |
| whiteknight | dukeleto: At it's lowest level, I thought GSL was an implementation of BLAS/LAPACK | ||
| or, at least contained them | |||
| dukeleto | whiteknight: nope | ||
| whiteknight: it can use BLAS/LAPACK but reimplements small parts of them | |||
| whiteknight: GSL is mostly about special functions and solving differential equations and minimization/optimization | 19:54 | ||
|
19:54
Matt_ joined
|
|||
| dukeleto | whiteknight: and statistics and histograms and all that junk. it isn't just linear algebra | 19:54 | |
| whiteknight: it just reimplements the subset of linear algebra it needs to solve other stuff | |||
| whiteknight | no, I knew it was much more than just linear algebra. I thought that it built on top of BLAS/LAPACK | ||
| ok | |||
| Matt_ | whiteknight: Can unit tests reference external files (i.e. to test MappedByteArray) | 19:55 | |
| dukeleto | whiteknight: BLAS/LAPACK is an optional dep, the last time i checked | ||
| Matt_: yes | |||
| Matt_: they should be in the same directory as the test file | |||
| whiteknight | Matt_: yes. You can reference a file that you know exists from the build, or you can add a text file to the test directory | ||
| oh, I've got two great tasks for GCI students | 19:57 | ||
| Coke | dukeleto: configure_args => '"--optimize" "--ccflags=-g" "--prefix=/Users/coke/bird" "--cc=ccache g++"' | ||
| that's as of yesterday, using latest parrot and perl 5.12.2 | 20:01 | ||
| ... none of which really impacts the ZOMG PARROT IS SLOW so much, and fib is a pretty short PIR program to make go faster. | |||
|
20:02
Kristaba joined
|
|||
| Kristaba | whiteknight: Hi! | 20:04 | |
| dukeleto | Coke: what is the optimization level of the perl you are comparing it against? | 20:06 | |
| Coke: -O2 ? | |||
| Kristaba | whiteknight: I'm back, and I played a bit with ParrotSharp ;) | ||
| whiteknight: github.com/Kristaba/parrotsharp/co...taba_tests | 20:07 | ||
| dukeleto | Coke: that is probably a recent slowdown with some branch merge or something. grumble grumble. | ||
| dukeleto needs to build the bencharking thingy already | 20:08 | ||
| Interesting graph: github.com/parrot/parrot/graphs/traffic | |||
| Coke | dukeleto: that a default perl build from perlbrew. | 20:09 | |
| dukeleto: optimize on the perl is -O3 | 20:10 | ||
| dalek | rrot: eaf402c | nwellnhof++ | / (18 files): Fix headerizer warnings |
||
| dukeleto | Coke: ah, that is not fair :) | ||
| Coke | so make --optimize DTRT, then. | 20:11 | |
| dukeleto | Kapace_: i am looking at your pull request | ||
| Coke | if I want a fast parrot, what should I pass to Configure.pl? (And why is it not the default?) | 20:12 | |
| whiteknight | Kristaba: Hello! How was your trip? | ||
| dukeleto | Coke: -O3 makes compile times longer, you might want to ask parrot-dev about it before changing what --optimize does | ||
| dalek | TT #1907 closed by whiteknight++: Behavior of "exit" opcode changed since 2.11.0 | ||
| TT #1907: trac.parrot.org/parrot/ticket/1907 | |||
| Kapace_ | dukeleto: ok, how is it looking? | ||
| dukeleto | Coke: perhaps you can add a --fast-as-possible flag ? | ||
| Coke | so, --cc-flags="-O3" ? | ||
| whiteknight | msg plobsing Can you take a look at this old ticket: trac.parrot.org/parrot/ticket/833. I think if we do the next stages of the packfile reorganization correctly I think we can get this issue resolved "for free" | ||
| aloha | OK. I'll deliver the message. | ||
| Coke | dukeleto: seems to make more sense to ask our devs to pass in -slow-but-easier-to-debug. | 20:13 | |
| dukeleto: any reason why optimize is at -O2 and not -O3 ? | 20:14 | ||
|
20:14
rurban joined
|
|||
| Kristaba | whiteknight: It was very long and tiring, but it's nice to meet the family :) | 20:14 | |
| Coke | dukeleto: scratch that - it IS at -O3. so how is it not fair? | 20:15 | |
| dalek | rrot: 23f95af | dukeleto++ | t/pmc/parrotlibrary.t: [t] Increase test coverage of ParrotLibrary PMC, a GCI task by kapace++ |
20:17 | |
| dukeleto | Kapace_: link for that task? | ||
| Kapace_ | www.google-melange.com/gci/task/sho...9361003071 | 20:18 | |
| dukeleto | Kapace_: put task links in the pull requests next time :) | ||
| Kapace_ | dukeleto: ok, will do | ||
| Kristaba | whiteknight: About ParrotSharp, it was the first time I programmed in C#, so it's possible you to find strange things in my code :o | ||
| dukeleto | Kapace_: task completed | ||
| Kapace_ | dukeleto: awesome, lots of thanks for your useful help, now Im going to take a look at PMCProxy | 20:19 | |
| dukeleto | Kapace_: have fun :) | ||
| whiteknight | Kristaba: I'm looking at some of your commits now. I'll create some GCI tasks for the things you've done so you can get some points for the work | ||
| Kristaba | whiteknight: Great, thank you ;) | 20:21 | |
| whiteknight | cotto, dukeleto: 3 new tasks awaiting publication | ||
| Kristaba | whiteknight: After some tests, I decided to use NUnit to write test units, it's a cool framework, but I do not know if you think it's a good idea | 20:22 | |
| cotto_work | Should ParrotLibrary::clone be expected to fail? | 20:24 | |
|
20:25
sECuRE left
|
|||
| whiteknight | Kristaba: this all looks very good so far. Great work. | 20:26 | |
| Kristaba | whiteknight: Oh, and I had a strange issue when I tried to run two Parrot interpreter in the same time (because of the garbage collector don't delete instantly the instances), and the only way I find to solve it is to use a "parent" interpreter in the tests unit... | ||
| whiteknight | NUnit is good. I don't know if it works on linux, I need to research that | ||
| Kristaba: okay, thanks for that piece of information. That sounds like an issue dukeleto has had in the past | 20:27 | ||
| Kristaba: all those tests and things you wrote work? | 20:28 | ||
| Kristaba | NUnit works fine on linux (I used monodevelop + mono + NUnit under Ubuntu) | ||
| whiteknight: Yes, from my computer I have no problem | 20:29 | ||
| Have you any error? | |||
|
20:30
davidfetter left
20:31
davidfetter joined
|
|||
| dalek | rrot: aab3917 | cotto++ | t/pmc/parrotlibrary.t: [t] make ParrotLibrary test smarter about dealing with success |
20:32 | |
| Kapace_ | actually, now that I think about it it shouldn't be todo anymore right? | 20:34 | |
| since it's fixed? | |||
| I'll fix that after lunch. bbl | 20:35 | ||
| cotto_work | Kapace_: done | 20:37 | |
| dalek | rrot: a17cc3a | cotto++ | t/pmc/parrotlibrary.t: [t] unTODO a passing ParrotLibrary test |
||
| cotto_work | whiteknight: published | 20:40 | |
|
20:42
sECuRE joined
|
|||
| whiteknight | cotto_work: I've jsut created two new ParrotSharp-related tests for Kristaba. Can you publish those too? | 20:42 | |
| (sorry for being such a bother!) | |||
| dukeleto | whiteknight: done | 20:47 | |
|
20:48
Matt_ left
|
|||
| cotto_work | whiteknight: I refuse. ;} | 20:50 | |
| whiteknight | Kristaba: two new tasks for you. Claim them quickly | 20:52 | |
| Kristaba | whiteknight: claimed www.google-melange.com/gci/task/sho...9374166699 | 20:56 | |
| whiteknight | accepted. Quick, submit for review! | 20:59 | |
| Kristaba | submited | 21:00 | |
|
21:02
mtk left
|
|||
| whiteknight | Accepted. Awesome | 21:07 | |
| NEXT! | |||
| dalek | rrot: 75cba75 | nwellnhof++ | compilers/imcc/Rules.in: Fix parallel build of IMCC lexer/parser |
||
| Kristaba | www.google-melange.com/gci/task/sho...9374171224 claimed | 21:08 | |
| Coke | cotto_work: running tools/dev/pprof2cg.pl is unusably slow. | ||
| whiteknight | Kristaba: accepted | 21:09 | |
| Coke | so I can't even figure out why parrot is slow, because the slow checker is slow. | ||
| Any suggestions? | 21:10 | ||
| cotto_work | Coke: what are you profiling? | 21:11 | |
| Coke | fib.pir | ||
| examples/bench/fib.pir | |||
| cotto_work | You can profile it with a lower number of iterations. | 21:12 | |
| Kristaba | whiteknight: Submitted, thank you a lot ;) | ||
| Coke | cotto_work: the slowdowns against perl don't show up at lower number of iterations. | ||
| rather: the slowdowns get even slower as the number of iterations increases. | 21:13 | ||
| but I was afraid that was your answer. *sigh* | |||
| whiteknight | Kristaba: accepted, again. Thank you | 21:14 | |
| nwellnhof | Coke: then it's probably GC related. i had some luck using oprofile to profile long running processes. | ||
| Coke | (running fib(2) instead of fib(default=28) finished VERY quickly. | 21:15 | |
| what is oprofile? | |||
| whiteknight | Kristaba: You have very few tasks! You need more tasks so you can get your 500$ | ||
| cotto_work | pprof2cg.pl has been optimized pretty well. There' certinaly room for imrpovement, but I think the most bang per buck can be had by moving the callgrind output into the profiling runcore. | ||
| Coke | blargh. and fib.pir isn't amenable to -Rprofiling, because it has only 2 subs. | ||
| nwellnhof | oprofile is a system wide profiler for linux. | 21:16 | |
| cotto_work | Coke: yeah. You won't get too much information from that benchmark. | ||
| if you see the speed of pprof2cg as a blocker to making more effective use of the profiling runcore, I consider that an important data point. | 21:17 | ||
| whiteknight | Kristaba: Yours was the 100th completed task for Perl/Parrot | 21:18 | |
| awesome | |||
| cotto_work | woo | ||
| whiteknight | we've got 6 more tasks in progress, and 39 available tasks in the queue | ||
|
21:19
bluescreen joined
|
|||
| Coke drops back to cachegrind. | 21:20 | ||
| nwellnhof | Function calls are simply too slow in Parrot. | 21:21 | |
| whiteknight | no argument | ||
| Kristaba | whiteknight: Awesome, it's a good thing for Parrot ;) | 21:22 | |
| dukeleto | Wow. 100 tasks already. | 21:25 | |
| Let's see if we can get to 150 before GCI is over :) | |||
|
21:25
bluescreen left
|
|||
| dalek | rrotsharp: 723d57c | (Lļæ½o Grange)++ | / (6 files): Add an InvokeMethod function to Parrot_PMC, some related changes, and a test function |
21:26 | |
| rrotsharp: 0f08a1c | (Lļæ½o Grange)++ | src/Parrot_String.cs: fix a problem with Parrot_String destructor |
|||
| rrotsharp: 4a2e225 | (Lļæ½o Grange)++ | src/Parrot.cs: allow to instantiate several Parrot interpreter using a parent interpreter |
|||
| rrotsharp: 866cc2b | (Lļæ½o Grange)++ | Parrot (9 files): start a test project using NUnit framework |
|||
| rrotsharp: cb6ce59 | (Lļæ½o Grange)++ | ParrotSharpTest/PMC_Test.cs: add a test to PMC_Test |
|||
| rrotsharp: 39b26ba | (Lļæ½o Grange)++ | /: Merge branches 'nunit_experimental' and 'HEAD' into kristaba_tests |
|||
| Coke | with fib=28, cachegrind is showing "fill_params" is taking 8% of program runtime. | ||
| whiteknight | Kristaba: Can you create a ticket on Trac for that issue you found with parent interpreters? | ||
| Kristaba: that's an issue we've seen before, but I don't think it's documented anywhere | 21:28 | ||
| that's something I would like to see fixed ASAP | 21:30 | ||
| whiteknight is leaving. later | 21:31 | ||
|
21:31
whiteknight left,
fperrad left
|
|||
| Coke | seen chromatic? | 21:34 | |
| aloha | chromatic was last seen in #parrot 22 days 21 hours ago saying "multidispatch at the core makes vtables much nicer". | ||
|
21:36
M_o_C joined,
nwellnhof left,
rurban_ joined
21:39
Matt_ joined
|
|||
| Matt_ | can someone approve: www.google-melange.com/gci/task/sho...0081385#c1 | 21:40 | |
| Coke | also interesting (but not surprising) : args.c takes up 15% of runtime. gc_ms2.c : 13%, fixed_allocator: 10%. core_ops is only 8.7 | ||
|
21:40
nwellnhof joined,
rurban left,
rurban_ is now known as rurban
|
|||
| plobsing | Coke: that only adds up to 46%. where's the other half? | 21:44 | |
| Coke | plobsing: in a lot of other files. | 21:47 | |
| callcontext.pmc 7.3, context.c 6.7, cores.c, pmc.c, api.c, (unknown), sub.pmc, after that it's under 4% each. | 21:48 | ||
|
21:50
nwellnhof left
|
|||
| Coke | any kcachegrind users here? | 21:51 | |
| dukeleto | Coke: i pretend to be one | 22:01 | |
| Matt_: accepted | |||
| Matt_ | dukeleto: github.com/parrot/parrot/pull/56 | 22:02 | |
| submitted work here | |||
| dalek | rrot: f02d66b | dukeleto++ | t/pmc/mappedbytearray.t: [t] Increase test coverage of MappedByteArray PMC to 82%, mattrajca++ |
22:10 | |
| dukeleto | Matt_: task completed | 22:12 | |
| Matt_ | dukeleto: thanks! | ||
| dukeleto | Matt_: no worries. keep on truckin' and good luck. | 22:13 | |
| dalek | TT #1917 created by kristaba++: Parrot_api_make_interpreter() cause a crash when another interpreter ... | 22:25 | |
| TT #1917: trac.parrot.org/parrot/ticket/1917 | |||
| Coke | dukeleto: I'm heading out now, but could use a pointer - is there anyway to find out what in a given function is taking more time, or do we only get function-level info? | 22:31 | |
| mikehh | cotto: I don't understand the change you made to t/pmc/parrotlibrary.t - it passes the tests then fails -> inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed! | 22:42 | |
| and why call sweep 1 after the tests? | 22:46 | ||
|
22:54
lucian left
22:58
Yuki`N joined
23:00
Myhrlin left
23:01
Myhrlin joined
|
|||
| mikehh | cotto_work: ping | 23:07 | |
| cotto_work | mikehh: pong | 23:08 | |
| mikehh | cotto_work: I am getting a failure in t/pmc/parrotlibrary.t - it passes the tests then fails -> inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed! | 23:09 | |
| cotto_work: why does it null $P0 and sweep 1 after the tests, surely that is redundant | |||
| cotto_work | mikehh: I don't see that failure on my machine. What platform are you on? | ||
| mikehh | Ubuntu 10.10 i386 (g++) | 23:10 | |
| cotto_work | probably trying to force VTABLE_destroy to be exercised | ||
| mikehh | ok, but why is that necessary | ||
| cotto_work | not sure. | 23:12 | |
| mikehh | the end: label is also no longer necessary | ||
| Matt_ | cotto_work: How exactly does the Scalar PMC work. How do I assign a value to it to perform operations on it | ||
| cotto_work | mikehh: Kapace_ wrote the code. I just committed. | 23:13 | |
| well, reviewed and committed | |||
| Kapace_: ping | |||
| Matt_: it's a base class. I don't think you're supposed to instantiate/use it directly. I might be wrong though. | 23:14 | ||
| It's special. | |||
| whiteknight and/or I would have ripped it out if other PMCs didn't depend on it. | 23:15 | ||
| Matt_ | cotto_work: So adding tests to a class that derives from Scalar will update the code coverage in Scalar? | 23:18 | |
| cotto_work | Matt_: only if you're testing VTABLE functions or methods that aren't overridden. | ||
| Matt_ | cotto_work: thanks! Ill take this then: www.google-melange.com/gci/task/sho...9361611720 | 23:20 | |
| cotto_work | done | 23:21 | |
| mikehh | cotto_work: if I drop the last 3 lines before the .end it passes (I think they are unnecessary and cause a failure for me) | ||
| I think I will push the change, if there is another reason for the lines we can add them back | 23:23 | ||
| cotto_work | mikehh: wfm | 23:25 | |
|
23:26
Matt_ left
|
|||
| cotto_work | we can put them back if coverage mysteriously drops. | 23:28 | |
| dalek | rrot: aa07b32 | mikehh++ | t/pmc/parrotlibrary.t: remove redundant lines and label at end of test |
23:30 | |
|
23:33
kid51 joined
23:36
nwellnhof joined
23:39
bluescreen joined
23:40
whiteknight joined
23:42
M_o_C left
|
|||
| whiteknight | good evening, #parrot | 23:43 | |
| dukeleto: TT #1917 looks like that issue you were talking about in PL/Parrot. Fixing that is high priority for me | |||
| kid51 | ~~ | 23:44 | |
| dalek | Some 'nwellnhof' person just gave me a 41549 byte commit packet. They need to be more careful in the future. | 23:49 | |
| nwellnhof | See github.com/parrot/parrot/commit/60...9fde1f73fa | 23:50 | |
| FileHandle has a record_separator method now | 23:51 | ||
|
23:52
Myhrlin left
|
|||
| whiteknight | nwellnhof: when you going to merge that branch? | 23:52 | |
|
23:52
Myhrlin joined
|
|||
| nwellnhof | whiteknight: i'd like to merge it as soon as possible | 23:52 | |
| what i'd like to do next is to change FileHandle.read to work with character sizes, not bytes. | 23:53 | ||
| bytes don't make sense for multi-byte encodings. | 23:54 | ||
| plobsing | encodings don't make sense for buffers | 23:56 | |
| nwellnhof | plobsing: why not? | ||
| the changes i'm talking about only affect FileHandles with a multi-byte encoding. and we also want buffering for them. | 23:57 | ||
| or we have to read methods. one that returns a ByteBuffer and one that returns a STRING. | 23:58 | ||