Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-01

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Yuki`N https://gist.github.com/761444
00:01 Yuki`N A lot of failed files but no explicit subtest failures...
00:01 cotto rfw, do you feel like adding PARROT_EXPORT to all functions in config/gen/platform/*/*.c?
00:01 cotto I'd be happy to make it a gci task.
00:01 rfw cotto: sure, it's not too much work
00:02 * cotto wonders if rfw has seen how many files there are
00:02 rfw i could probably make a script to do it
00:02 cotto though perl is your friend
00:03 Yuki`N Retrying the tests without -j4
00:06 dalek parrot: 9677789 | (Gerd Pokorra)++ | / (2 files):
00:06 dalek parrot: switch the year output form 2010 to 2011
00:06 dalek parrot: review: https://github.com/parrot/parrot/commit/9677789a2d
00:07 cotto rfw, http://socghop.appspot.com/gci/task/edit/google​/gci2010/parrot_perl_foundations/t129384045345
00:08 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129373930207 first
00:08 cotto deal
00:08 Yuki`N xD
00:09 rfw also you linked me to the edit page
00:09 rfw lol
00:09 cotto done
00:09 cotto how clever
00:09 dalek parrot/encapsulate-main: cdce8c3 | plobsing++ | / (12 files):
00:09 dalek parrot/encapsulate-main: fix examples tests by adding :main tags
00:09 dalek parrot/encapsulate-main: review: https://github.com/parrot/parrot/commit/cdce8c3de6
00:09 cotto http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129384045345
00:10 Yuki`N I'm confused.
00:10 Yuki`N I dropped -j and now a test failed when it used to pass.
00:11 Yuki`N aloha, coverage?
00:11 aloha Yuki`N: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
00:13 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129373930207 and https://github.com/parrot/parrot/pull/68
00:13 cotto GeJ, my parrot is from the future now.
00:14 rfw also cotto, don't i just have to add it to platform_interface.h
00:14 TonyC left #parrot
00:15 cotto rfw, ok.
00:15 rfw even things like memalign?
00:16 cotto that's less necessary
00:17 rfw hm, what about dlopen?
00:18 cotto I don't think that'd be helpful.
00:18 rfw hm okay
00:18 rfw i think i've marked everything that would be useful
00:20 rfw cotto: did you see my pull request yet?
00:20 cotto yes, but I can pull again
00:20 cotto same branch?
00:20 rfw uh, for get_user_id?
00:20 dalek TT #1921 created by cotto++: RFC: decorate all functions in src/platform.c with PARROT_EXPORT
00:20 dalek TT #1921: http://trac.parrot.org/parrot/ticket/1921
00:22 cotto for the platform.h work
00:23 rfw ah
00:23 rfw okay hold on
00:23 rfw i'm doing it to master, not get_user_id
00:23 Matt_ cotto: Got any ideas how to test readline_interactive on FileHandle? I thought it would immediately return a string when reading from a file from disk
00:23 rfw cotto: did you approve the get_user_id task yet?
00:25 cotto rfw, yes
00:25 rfw ah okay
00:25 cotto Matt_, that's an interesting question
00:25 cotto I'm not sure.
00:25 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129384045345
00:25 rfw and i'll submit a pull request
00:26 Matt_ cotto: I thought it would only block when reading from stdin
00:27 Yuki`N cotto, I'm going to take care of bringing Timer.pmc to 100%
00:27 rfw https://github.com/parrot/parrot/pull/69 there we go, pull request
00:31 Yuki`N Could someone approve? http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129361462839
00:31 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129384045345 too
00:33 cotto stop being so productive
00:33 rfw deal with it :D
00:34 dalek parrot: 75ebfbe | cotto++ | / (2 files):
00:34 dalek parrot: Merge branch 'kapace/gci_test_role' of https://github.com/kapace/parrot into kapace-kapace/gci_test_role
00:34 dalek parrot: review: https://github.com/parrot/parrot/commit/75ebfbe950
00:34 dalek parrot: 3c0a1de | cotto++ | / (2 files):
00:34 dalek parrot: Merge branch 'kapace-kapace/gci_test_role'
00:34 dalek parrot: review: https://github.com/parrot/parrot/commit/3c0a1dea80
00:35 cotto roles approved
00:35 Kapace_ thanks again :)
00:36 dalek parrot/gci_platform_export: 99cd2e6 | rfw++ | include/parrot/platform_interface.h:
00:36 dalek parrot/gci_platform_export: Added PARROT_EXPORT to a few functions in platform_interface.h
00:36 dalek parrot/gci_platform_export: review: https://github.com/parrot/parrot/commit/99cd2e6b07
00:36 dalek parrot/gci_platform_export: d9b5338 | cotto++ | include/parrot/platform_interface.h:
00:36 dalek parrot/gci_platform_export: Merge branch 'master' of https://github.com/rofflwaffls/parrot into gci_platform_export
00:36 dalek parrot/gci_platform_export: review: https://github.com/parrot/parrot/commit/d9b533815d
00:36 rfw thanks
00:36 Yuki`N While I'm waiting for make cover to run, when did PASM and PIR begin to delineate.
00:36 Yuki`N I'm curious.
00:36 cotto parrot_export approved
00:37 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129374026617 dynlexpad_get_iter
00:37 rfw brb lunch
00:37 cotto oh melange.  To know you is to hate you.
00:37 cotto rfw, accepted
00:38 cotto ajaxy in all the wrong ways
00:38 Matt_ cotto: any new tasks being added soon?
00:40 plobsing Yuki`N: not sure, it was well before my time. My guess is thatit had probably already started when IMCC was still being written.
00:41 cotto Yuki`N, I think only allison, chromatic or Coke could answer that.  It's pretty far back in Parrot's history.
00:41 Yuki`N Ah.
00:41 cotto Matt_, do you have a suggestion?
00:42 Matt_ cotto: Naah, actually I may just take a 1-day break from GCI
00:42 cotto https://github.com/404
00:43 Matt_ I saw that earlier today for the first time :P
00:45 Kapace_ most of the tasks point to it because of, for example:"The tests should be added to t/pmc/role.t" -> https://github.com/parrot/parrot/blob/t/pmc/role.t -> 404
00:46 Kapace_ whoa, i didn't realize it was interactive
00:46 Kapace_ cool
00:47 Yuki`N t/spec/integration/advent2009-day18.rakudo ..................... Dubious, test returned 1 (wstat 256, 0x100)
00:47 Yuki`N Failed 6/6 subtests
00:47 Yuki`N That doesn't look good.
00:48 Yuki`N Full output here https://gist.github.com/761444
00:48 cotto let me see if the same thing happens to me with master
00:48 Yuki`N Ok.
00:55 rfw hm it looks like dynlexpad doesn't like to iterate
00:58 cotto that's why it needs love
01:00 patspam joined #parrot
01:02 rfw it just seems that nothing is getting added to dlp
01:02 Yuki`N So both quickcover and quickcover_new don't work for me. :(
01:02 rfw how do things actually get insterted into dlp?
01:03 TonyC joined #parrot
01:04 cotto Yuki`N, what happens?
01:04 Yuki`N I forget what happens with quickcover.
01:04 Yuki`N But quickcover_new gives me only 5 files.
01:04 Yuki`N Same thing that happened when someone changed cover to "work"
01:04 nopaste joined #parrot
01:04 Yuki`N Oh nopaste is back.
01:05 TonyC sorry, forgot to restart it after the reboot the other day
01:06 TonyC the machine Oopsed on the morning of the 28th (Sydney time) while I was out of town, and was inaccessible
01:08 patspam left #parrot
01:09 rfw yes, i win
01:09 rfw who the hell wrote this test though
01:09 rfw "pants\npants\bpants"
01:10 Yuki`N # Trailing space or tab char found in the following files:
01:10 Yuki`N # /home/nlum/parrot/t/pmc/role.t 61, 81
01:10 Yuki`N failure
01:10 Yuki`N Who wrote tests for role.t?
01:10 Kapace Yuki`N, i didn't install it yet :P
01:11 Yuki`N lol
01:11 Yuki`N It's ok.
01:11 Kapace i had these test done before..
01:11 Yuki`N The first test I wrote, for the integer PMC, I doubled the number of subtests there were.
01:11 Yuki`N About 40 lines had trailing space, mostly because of auto-indent.
01:11 Yuki`N I think the Integer PMC at or very close to 100%.
01:13 Yuki`N 99.1% actually.
01:13 Yuki`N When I started it was 59.5% -3-
01:13 Yuki`N I actually only claimed 20% of that lol.
01:16 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129374026617
01:16 rfw er i have no idea why that PARROT_EXPORT thing is there
01:16 cotto We have a pretty good shot at increasing coverage by 2% before the end of gci.
01:16 Yuki`N cotto, https://github.com/parrot/parrot/pull/71 and http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129361462839
01:17 cotto rfw, is the "Fixed iteration test for dynlexpad." commit the only important one?
01:17 rfw cotto: yes
01:19 sorear rfw: Microsoft C requires functions to be annotated if they are going to be the target of cross-DLL calls
01:19 rfw sorear: where?
01:20 sorear rfw: you asked what PARROT_EXPORT was for
01:20 rfw uh i don't think so
01:20 rfw did i?
01:20 dalek parrot: 2a43588 | rfw++ | t/dynpmc/dynlexpad.t:
01:20 dalek parrot: Fixed iteration test for dynlexpad.
01:20 dalek parrot: review: https://github.com/parrot/parrot/commit/2a43588e98
01:20 rfw also funny because the lack of PARROT_EXPORT was breaking it on windows
01:20 rfw er
01:20 rfw linux*
01:21 rfw oh crap
01:21 rfw cotto: did i ask you to pull into master?
01:21 rfw i meant dynlexpad_get_iter, oops
01:22 cotto rfw, I pulled to master on purpose
01:22 rfw ah
01:22 rfw just checking :D
01:24 dalek parrot/gci_timer_coverage: 040c950 | Yuki`N++ | / (15 files):
01:24 dalek parrot/gci_timer_coverage: Merge branch 'master' of git://github.com/parrot/parrot
01:24 Yuki`N I'm trying to bring integer back up the 1% just for fun lol.
01:24 dalek parrot/gci_timer_coverage: review: https://github.com/parrot/parrot/commit/040c950e9f
01:24 dalek parrot/gci_timer_coverage: d8178c2 | Yuki`N++ | / (15 files):
01:24 dalek parrot/gci_timer_coverage: Merge branch 'master' of git://github.com/parrot/parrot
01:24 dalek parrot/gci_timer_coverage: review: https://github.com/parrot/parrot/commit/d8178c2f0f
01:24 dalek parrot/gci_timer_coverage: cd8284d | Yuki`N++ | t/pmc/timer.t:
01:24 dalek parrot/gci_timer_coverage: Fully cover the timer PMC.
01:24 dalek parrot/gci_timer_coverage: review: https://github.com/parrot/parrot/commit/cd8284d4a3
01:24 dalek parrot/gci_timer_coverage: b1c54c8 | Yuki`N++ | t/pmc/role.t:
01:24 dalek parrot/gci_timer_coverage: [t] Fix trailing space in the Role PMC test.
01:24 dalek parrot/gci_timer_coverage: review: https://github.com/parrot/parrot/commit/b1c54c8768
01:24 dalek parrot/gci_timer_coverage: 3fc540f | cotto++ | t/pmc/ (2 files):
01:24 dalek parrot/gci_timer_coverage: Merge branch 'master' of https://github.com/nol888/parrot into gci_timer_coverage
01:24 dalek parrot/gci_timer_coverage: review: https://github.com/parrot/parrot/commit/3fc540fcff
01:24 cotto It's not as important to put tests into a new branch as it is for features and bugfixes.
01:26 contingencyplan left #parrot
01:26 rfw aloha: coverage
01:26 rfw aloha, coverage
01:27 rfw aloha, coverage?
01:27 aloha rfw: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
01:27 dalek parrot: 3fc540f | cotto++ | t/pmc/ (2 files):
01:27 dalek parrot: Merge branch 'master' of https://github.com/nol888/parrot into gci_timer_coverage
01:27 dalek parrot: review: https://github.com/parrot/parrot/commit/3fc540fcff
01:28 Yuki`N Might as well take http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129361456169 too
01:30 Yuki`N I was so confused.
01:30 Yuki`N My coverage went DOWN
01:31 rfw hahah
01:31 Yuki`N And then I saw >changed make cover to fullcover and quickcover to cover
01:31 Yuki`N Rather, I went `git log config/gen/makefiles/root.in'
01:31 Yuki`N Version control is so nice.
01:31 cotto Yuki`N, acceptex
01:31 cotto d
01:32 Yuki`N Submitted~
01:32 cotto srsly?
01:32 Yuki`N Yeah that commit brought it from 80 to 100%.
01:32 Yuki`N Someone should probably change the script on the coverage site to use fullcover~
01:32 cotto got it
01:33 Yuki`N I don't want our precious coverage going DOWN.
01:33 Yuki`N Who hosts that, anyway?
01:34 cotto mj41, ping
01:35 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129360989496
01:36 cotto done
01:38 rfw i really need to stop semicoloning in parrot
01:38 Matt_ rfw: I've been doing that too :P
01:39 rfw Matt_: yeah it just happens :(
01:39 Yuki`N I really need to stop semicoloning in python.
01:39 rfw Yuki`N: yes but that actually works
01:39 Yuki`N lol
01:39 Yuki`N I actually think of PIR more of an ASM-language so I don't have that problem.
01:39 Yuki`N Unless you semicolon your asm, in which case that's your problem.
01:40 rfw cotto: how do i initialize an unmanagedstruct?
01:40 cotto orderedhash iirc
01:40 rfw ah so
01:40 rfw i convert an orderedhash into an unmanagedstruct?
01:41 Yuki`N https://github.com/parrot/parrot/pull/72 cotto pull this one at your leisure.
01:41 Yuki`N It just makes Integer.pmc 100% again, someone much have changed something around.
01:41 rfw t/pmc/unmanagedstruct.t .. 1/1 Illegal initializer for struct
01:41 rfw heh
01:42 rfw cotto: apparently not
01:42 dalek parrot: d1d6cd1 | cotto++ | t/pmc/integer.t:
01:42 dalek parrot: Merge branch 'master' of https://github.com/nol888/parrot into nol888-master
01:42 dalek parrot: review: https://github.com/parrot/parrot/commit/d1d6cd10a8
01:43 redicaps joined #parrot
01:44 cotto rfw, checkout src/pmc/unmanagedstruct.pmc
01:44 rfw yeah i'm looking at that
01:44 rfw hm so i need a C struct?
01:44 rfw that's kinda weird
01:45 cotto my brain's shutting down
01:45 cotto I'll take a look at it tomorrow
01:46 cotto or next year
01:46 rfw dang, okay
01:46 rfw heh
01:47 M_o_C joined #parrot
01:48 whiteknight joined #parrot
01:48 rfw whiteknight!
01:48 rfw i broke cotto so can you help me
01:48 whiteknight rfw!
01:49 rfw how do i initialize an umanagedstruct?
01:50 whiteknight Great question. I don't think I've ever initialized an unmanaged struct
01:50 whiteknight what do you mean "initialize" anyway?
01:51 rfw well
01:51 rfw not make it say "Missing struct initializer"
01:52 Matt_ whiteknight: How would you go about testing readline_interactive? I thought it might not block when reading files, but it still waits for input from stdin
01:52 Matt_ (on the FileHandle PMC)
01:54 whiteknight rfw: let me look at the source
01:54 whiteknight Matt_: That's a very good question. I'll have to look at the source of that too
01:57 whiteknight rfw: in src/pmc/unmanagedstruct.pmc:calc_offsets, it's looking like the initializer PMC is supposed to be an array PMC with integer values
01:57 rfw ah
01:58 whiteknight entries come in sets of 3. The first element in the set looks like some kind of type_pmc, the second is an integer count, and the third is an integer offset
01:58 whiteknight repeat
01:58 Yuki`N Hmm, looks like I missed a task. http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129360894940 This was for Opcode, which I already have additional tests for in trunk.
02:00 whiteknight rfw: you're going to have to find a preexisting example to follow, I can't quite figure out what type of PMC that first element is supposed to be
02:00 rfw =item 0
02:00 rfw The datatype. See the C<enum> in F<include/parrot/datatypes.h>.
02:00 rfw it seems
02:00 whiteknight great
02:01 rfw ah
02:01 rfw there's some code in managedstruct.t
02:01 kennym left #parrot
02:02 Yuki`N dukeleto, ping
02:10 rfw goddammit, it still doesn't work
02:13 kennym joined #parrot
02:18 Matt_ whiteknight: Can you look at the FileHandle pmc and readline_interactive
02:18 whiteknight working on it
02:19 cotto I'm leaving and I'm not coming back until 2011.
02:19 rfw unmanagedstruct refuses to work
02:20 rfw cotto: see you this year
02:22 whiteknight Matt_: that's a tough one. The readline() function doesn't take a filehandle so we can't override it
02:24 whiteknight Matt_: Do you need to test that function? Can you avoid it?
02:24 rfw is there an opcode for the mark vtable function?
02:24 Matt_ whiteknight: Ill try to test everything else and see how much the coverage goes up
02:25 whiteknight Matt_: I suspect the only way to test that is to use a perl script to pipe input into it. Not an easy task, much bigger than a GCI task would be
02:25 whiteknight rfw: the mark vtable is called internally by the GC. You need to trigger a GC run, either by allocating enough garbage or using an opcode to do it
02:25 rfw ah
02:25 whiteknight it will automatically mark anything that's in a register
02:25 rfw how do i trigger a GC run?
02:25 whiteknight or, anything that's pointed to by something in a register
02:26 whiteknight rfw: There is a sweep opcode, I think that does it
02:26 rfw ah okay
02:26 rfw thanks
02:26 whiteknight GC has two phases, mark and sweep. The opcode is called "sweep", but I think it does both
02:27 theory left #parrot
02:30 rfw ./src/pmc/unmanagedstruct.pmc:572: failed assertion 'p'
02:30 rfw Backtrace - Obtained 14 stack frames (max trace depth is 32).
02:30 rfw yeah i can't get an unmanagedstruct to properyl initialize
02:32 Yuki`N sweep 1
02:33 whiteknight stupid UnmanagedStruct
02:33 whiteknight rfw: what is your task, to test UnmanagedStruct?
02:33 rfw yeah
02:33 rfw increase by 5%
02:34 whiteknight are there any existing tests that you can copy logic from?
02:34 rfw i tried copypasting the managedstruct.t code
02:35 rfw but unmanagedstruct always seems to have a null pointer backing it
02:36 rfw src/pmc/unmanagedstruct.pmc                                       84.6   84.6
02:36 rfw increased by .6%!
02:38 whiteknight you may want to pick a different task, if this one is going to be such a pain
02:38 rfw heh there's nothing else really
02:41 M_o_C left #parrot
02:43 Matt_ whiteknight: I'm pretty sure I'm testing the clone VTABLE correctly yet the test is crashing. After cloning an 'opened' file handle should I be able to read from the new file handle without any other logic?
02:45 whiteknight Matt_: that clone VTABLE looks...suspicious
02:45 whiteknight it copies the raw OS handle, but it doesn't copy any of the other data like encoding, mode, filename, etc
02:45 whiteknight I *suspect* that's a gigantic bug
02:46 Matt_ That will explain the crash, should I add a TODO?
02:46 whiteknight and it actually copies the raw handle instead of doing a proper duplication, which is almost always a bad idea
02:46 whiteknight Matt_: yes, a TODO
02:47 Yuki`N I can try fixing that.
02:47 whiteknight Yuki`N: you want me to put together a GCI task for it?
02:47 Yuki`N Sure.
02:47 rfw eh how do i call the clone opcode?
02:48 rfw oh wait
02:48 whiteknight $P0 = clone $P1
02:48 rfw never mind
02:48 rfw yeah i wasn't reading the error properly
02:48 dukeleto ~~
02:48 rfw t/pmc/unmanagedstruct.t .. error:imcc:The opcode 'clone' (clone<0>) was not found. Check the type and number of the arguments
02:48 rfw what's <0>?
02:49 whiteknight <0> is the number of arguments you are giving it
02:49 whiteknight clone needs two arguments: an input and an output
02:49 rfw but i have    $P2 = clone $P0
02:49 rfw oh
02:49 rfw doh
02:49 rfw my sub is named clone
02:49 whiteknight ...
02:49 rfw better change that to can_clone
02:49 Yuki`N dukeleto, Do we have compile farm credentials?
02:50 Yuki`N rfw and I are working on Darter and I wanted to go ahead and start generalizing a shell process for compiling parrot in that environment.
02:52 dukeleto Yuki`N: no, currently only I have access to the farm, but that can be fixed. I am also thinking of the farm "pulling in" requests to test stuff
02:52 dukeleto Yuki`N: tonight isn't the best night for figuring that stuff out, i only have a few minutes right now
02:52 dukeleto does anybody need tasks accepted?
02:53 Yuki`N What do you mean? Ok then.
02:53 dukeleto Yuki`N: we will figure out the compile farm authentication stuff soon
02:53 dukeleto Yuki`N: just assume that the client polls some resource for new jobs periodically
02:54 dukeleto Yuki`N: do you have a summary of what darter does and how it does it? does darter have docs?
02:54 dukeleto Yuki`N: 18:49:36 <@whiteknight> ...
02:54 dukeleto 18:49:36 <@whiteknight> ...
02:54 dukeleto oops, mispaste from my netbook
02:54 Yuki`N Well, I think our architecture involves some git post-receive hook which tells darter to do stuff.
02:55 Yuki`N It's on github; https://github.com/rofflwaffls/darter
02:55 dukeleto Yuki`N: that sounds good
02:56 * dukeleto has been out of the loop in the last few days
02:56 whiteknight dukeleto: I just created a task for Yuki'N. Approve?
02:56 rfw whiteknight: src/pmc/unmanagedstruct.pmc                                       87.0   87.0 <-- 2.4% now, yay
02:56 whiteknight rfw: awesome
02:57 Yuki`N Matt_, are your tests on github anywhere?
02:57 dukeleto whiteknight: approved 2 tasks by you
02:57 whiteknight Yuki'N: I don't know if duplicating a file descriptor copies the location info
02:58 whiteknight that will either require some experimentation or reading some documentation
02:58 whiteknight I think it's time for me to go to bed.
02:58 whiteknight See you folks next year
02:58 Yuki`N whiteknight, I traced Parrot_dup and I see all it does is call dup()
02:58 Yuki`N Which is an OS call.
02:59 whiteknight right
02:59 whiteknight I don't know if dup() copies file pointer location info
02:59 whiteknight anyway, bed. Goodnight
02:59 whiteknight left #parrot
03:00 bluescreen left #parrot
03:01 bluescreen joined #parrot
03:02 Matt_ left #parrot
03:04 Yuki`N After  a  successful return from one of these system calls, the old and
03:04 Yuki`N new file descriptors may be used interchangeably.  They  refer  to  the
03:04 Yuki`N same open file description (see open(2)) and thus share file offset and
03:04 Yuki`N file status flags
03:04 Yuki`N I guess that answers that question.
03:05 dalek TT #1922 created by jkeenan++: Review Parrot's 'make help'
03:05 dalek TT #1922: http://trac.parrot.org/parrot/ticket/1922
03:06 rfw why do you torture me so, unmanagedstruct pmc
03:06 kid51 msg cotto Created GCI task related to TT #1922: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129385113378
03:06 aloha OK. I'll deliver the message.
03:06 kid51 msg dukeleto Created GCI task related to TT #1922: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129385113378
03:06 aloha OK. I'll deliver the message.
03:07 rfw oh
03:07 rfw i am so stupid
03:07 rfw ManagedStruct is a superclass of UnManagedStruct
03:07 rfw sheesh
03:08 Matt_ joined #parrot
03:14 dukeleto rfw: :)
03:14 rfw [16:13:49] <Dark_Shikari> WTF ?!?!?!? @ rfw
03:14 rfw haha
03:14 dalek parrot/leto/embed_grant: f62ad6a | dukeleto++ | t/src/embed.t:
03:14 dalek parrot/leto/embed_grant: [t] Parrot_PMC_modulus
03:14 dalek parrot/leto/embed_grant:
03:14 dalek parrot/leto/embed_grant: This function does not seem to work, a TT needs to be created.
03:14 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/f62ad6a601
03:15 Matt_ rfw: lol
03:15 kennym left #parrot
03:15 Matt_ Yuk`N: if you still need a test I can send you a patch, they're not on github
03:21 kid51_ joined #parrot
03:24 dukeleto kid51: approved and published
03:24 kid51 left #parrot
03:24 Yuki`N Matt_, please do.
03:26 dukeleto Yuki`N: opcode pmc task accepted
03:27 kid51_ is now known as kid51
03:27 Yuki`N Thanks.
03:27 kid51 dukeleto: Thanks.
03:28 Yuki`N dukeleto, the relevant tests are already in master actually.
03:28 dukeleto kid51: thanks for making tasks!
03:28 * dukeleto is about to go to a New Years Eve party
03:28 Yuki`N Aha.
03:28 Matt_ Yuki`N: http://pastie.org/private/ivf2nkhff2h2itygjonua
03:28 dukeleto Yuki`N: submit the task and I will approve it, then
03:29 dukeleto Yuki`N: soon! I will be gone in a few minutes
03:29 kid51 dukeleto: We will need to get a list of all students who participated in GCI for Parrot.
03:29 kid51 Both for public acknowledgement ...
03:29 dukeleto kid51: sure, no problem
03:30 dukeleto kid51: most of them are in CREDITS
03:30 kid51 ... and also because they will satisfy the "2 contributions" rule to qualify as members of the Parrot Foundation.
03:30 kid51 IIRC, you're the Secretary!
03:31 kid51 We also need to see who wants to continue with Parrot after Jan 10 2011 and offer commit bits, which will entail CLAs, etc.
03:31 Yuki`N How can I get full stack frames in my backtrace, i.e. build with gdb information or something.
03:32 dukeleto Yuki`N: --debugging arg to Configure.pl ?
03:32 dukeleto kid51: if you are volunteering to figure that stuff out, go for it
03:32 rfw god increasing test coverage of this stupid unmanagedstruct is hard
03:32 dukeleto kid51: in the age of forks on github, we don't really need to push CLAs
03:33 kid51 No, I'm not volunteering for that!
03:33 dukeleto rfw: but when you get it to work, you will have mad street cred
03:33 rfw lol
03:33 dukeleto kid51: neither am I!
03:33 kid51 dukeleto: I'm not sure I agree with you on CLAs ... but let's discuss that at another time.
03:33 dukeleto kid51: that is my thought on CLAs, you are free to have your own :)
03:34 * dukeleto goes. Happy 2011!
03:34 kid51 dukeleto:  Well, at the very least, you will be able to produce of all our GCI participants, correct?
03:34 Kapace I had to accept a CLA for x264, all I had to do was say "I agree with the terms." in an email
03:35 rfw dukeleto: src/pmc/unmanagedstruct.pmc                                       90.7   90.7
03:35 rfw dukeleto: where's my mad street cred
03:35 Kapace rfw, nice
03:35 Kapace rfw++
03:35 rfw heh thanks
03:36 kid51 So now we come to the part of the day when all the grizzled Parrot old-timers retire ... and the GCI students stay up late to chat watch the ball drop in Times Square :-)
03:38 Yuki`N Oh gdb gives me backtrace info.
03:38 Yuki`N Whoo.
03:39 rfw dukeleto: i'm very slowly submitting
03:39 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129360989496
03:40 Yuki`N Oh of course the one file that I need line # information from I don't have it.
03:40 Yuki`N Stupid .pmc->.c
03:46 Yuki`N How can I get libparrot.so to be linked in with debugging symbols.
03:47 rfw is anyone else around to approve my task, heh?
03:58 Yuki`N Matt_, I've fixed clone, however that means your test should fail, and it does.
03:59 Matt_ Yuki`N: you mean pass?
03:59 Yuki`N No, clone duplicates the state of a filehandle exactly.
03:59 Yuki`N Hence if you try to readfully twice, you've reached eof already.
04:00 Matt_ aaah ok, but the crash doesn't happen anymore right?
04:00 Yuki`N Nope.
04:00 Yuki`N I'll push to a branch on my github fork.
04:00 Matt_ kk
04:01 Yuki`N At least, that should be the behavior.
04:01 Yuki`N If it doesn't happen that way, do tell.
04:04 Yuki`N git pull git://github.com/nol888/parrot.git fix_filehandle_clone
04:04 Yuki`N Make sure you're fully up-to-date with parrot master.
04:05 kid51 left #parrot
04:05 LaVolta joined #parrot
04:05 Yuki`N Matt_, ^
04:06 Matt_ will try in a sec
04:08 Yuki`N Matt_, not to let you down or anything but there's quite a few conditionals in the new clone() method. :P
04:08 Yuki`N Make sure you cover all of them~
04:13 Matt_ aloha: coverage?
04:13 aloha Matt_: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
04:16 Matt_ Yuki`N: doing it now. There's already a Fix FileHandle clone task on melange btw for you
04:17 Yuki`N Yeah, I'm waiting on another approval though.
04:17 Yuki`N -sigh-
04:17 Yuki`N Are youMatt221 on Trac?
04:18 dalek parrot: e4bebcd | Coke++ | README:
04:18 dalek parrot: Update the generic Copyright year.
04:18 dalek parrot:
04:18 dalek parrot: (update individual files to include 2011 as you go.)
04:18 dalek parrot: review: https://github.com/parrot/parrot/commit/e4bebcddff
04:18 Yuki`N Hi Coke!
04:19 Yuki`N Matt_, are you Matt221 on Trac?
04:19 rfw Yuki`N: i don't think he approves tasks heh
04:20 Yuki`N Hurr
04:20 Matt_ Yuki`N: yea
04:20 rfw probably going to need to wait for {cotto,dukeleto,whiteknight}
04:24 Yuki`N Oh well.
04:24 Yuki`N Made a trac ticket for that bug.
04:25 * rfw is still waiting for his mad street cred
04:25 Yuki`N I need my mad reps yo.
04:26 Yuki`N I just went spelunking through the IO API to figure out how to properly clone a filehandle lol.
04:26 rfw i cheated with my UnManagedStruct tests
04:26 rfw half of it is push_eh
04:27 rfw actually more like all of it
04:27 dalek TT #1923 created by Yuki`N++: Filehandle PMC clone VTABLE does not work
04:27 dalek TT #1923: http://trac.parrot.org/parrot/ticket/1923
04:27 Yuki`N rfw, lol
04:27 Yuki`N Were those PIR tasks?
04:27 rfw yes
04:27 Yuki`N *PIR tests rather
04:28 rfw "It's basically a compiler that converts LLVM into JavaScript, which can be used together with llvm-gcc (or clang) to convert C/C++ to JavaScript. You can check it out in the link above."
04:28 rfw haha what
04:28 Yuki`N Lol.
04:28 Yuki`N So you were using is() and all that good stuff
04:28 rfw yeah
04:28 Yuki`N Bro there's this cool function.
04:28 Yuki`N throws_substring
04:28 Yuki`N c
04:28 rfw yeah i forgot about it
04:28 rfw too late anyway
04:28 Yuki`N :c
04:28 rfw i have like
04:29 Yuki`N throws_substring is much better too.
04:29 rfw eh1: eh2: eh3: and
04:29 rfw finally1: finally2: finally3:
04:29 rfw lol
04:29 Yuki`N lol wow
04:29 Kapace rfw, just exception testing, street cred gone :P
04:29 rfw Kapace: :(
04:29 Kapace just kidding, good work
04:29 rfw Kapace: really bad exception testing too
04:29 rfw :<
04:30 * Kapace goes back to execption testing Capture.pmc
04:30 rfw heh
04:37 Yuki`N You overlook how important exception testing is.,
04:37 Kapace_ If an execption is thrown, but no one is there to catch it...
04:47 rfw Kapace_: hurr
04:55 Matt_ left #parrot
04:55 Kapace_ i was kinda hoping someone would finish it off with something clever too
04:57 rfw well if the exceptions aren't tested then you really need to go test those, heh
05:15 LaVolta left #parrot
05:24 gbacon left #parrot
05:28 he__ left #parrot
05:36 he joined #parrot
05:37 rurban_ joined #parrot
05:40 rurban left #parrot
05:40 rurban_ is now known as rurban
05:59 Yuki`N Who killed cotto?
06:01 redicaps left #parrot
06:11 Coke left #parrot
06:20 Kapace_ Yuki`N: rfw did
06:20 rfw y u so mean :(
06:20 * rfw kills Kapace_
07:02 Kapace_ That's strange: https://github.com/parrot/parrot/blob/g​ci_capture_cleanup/src/pmc/capture.pmc should have the functions removed, right?
07:05 Yuki`N msg mj41 I assume that, since cotto pinged you when I asked, you maintain the coverage information online. You need to update the script to use "make fullcover" instead of "make cover." This was changed in a recent commit.
07:05 aloha OK. I'll deliver the message.
07:05 Yuki`N left #parrot
08:16 chromatic left #parrot
08:26 fperrad joined #parrot
08:39 cotto blarg I am dead
08:44 rfw hey cotto
08:44 rfw could you approve that task?
08:44 rfw that i've lost the link to
08:45 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129360989496 this one
08:45 rfw also happy new year!
08:47 cotto rfw, thanks!  Unfortunately the task will probably have to wait until the morning (or someone else).  I'm not especially awake right now.
08:48 rfw cotto: can't you just approve it :<
08:49 cotto how hard would it be to get it past 94%?
08:49 rfw a bit tricky
08:49 rfw but it's mostly exception testing and stuff
08:49 rfw a lot of the tests can be done with a ManagedStruct
08:50 cotto It's fine to increase one PMCs coverage by testing another.]
08:51 rfw yeah but even then it's tricky
08:51 rfw since you have to invoke all the weird exceptions
08:58 cotto I don't want to separate approving and reviewing.  I'll take a look in the morning.
09:02 rfw oh well
09:51 perlite joined #parrot
09:55 rfw left #parrot
10:23 kennym joined #parrot
11:06 bluescreen left #parrot
11:15 contingencyplan joined #parrot
11:17 kennym left #parrot
11:38 kennym joined #parrot
12:37 mj41 Yuki`N, cotto - http://cv.perl6.cz/ coverage reports changed to make fullcover
12:57 contingencyplan left #parrot
13:35 Coke joined #parrot
13:36 rurban_ joined #parrot
13:40 rurban left #parrot
13:40 rurban_ is now known as rurban
13:41 bluescreen joined #parrot
14:00 kid51 joined #parrot
14:02 whiteknight joined #parrot
14:10 dalek parrot/get_user_id: 5cdded1 | rfw++ | / (2 files):
14:10 dalek parrot/get_user_id: Adding dynpmc tests.
14:10 dalek parrot/get_user_id: review: https://github.com/parrot/parrot/commit/5cdded14b8
14:10 dalek parrot/get_user_id: f57b9b7 | rfw++ | / (2 files):
14:10 dalek parrot/get_user_id: Fixed weird get_user_id test, but still getting undefined symbols.
14:10 dalek parrot/get_user_id: review: https://github.com/parrot/parrot/commit/f57b9b7887
14:10 dalek parrot/get_user_id: d453c0e | rfw++ | include/parrot/platform_interface.h:
14:10 dalek parrot/get_user_id: Added PARROT_EXPORT to Parrot_get_user_id.
14:10 dalek parrot/get_user_id: review: https://github.com/parrot/parrot/commit/d453c0e849
14:10 dalek parrot/get_user_id: 11665b9 | rfw++ | t/dynpmc/os.t:
14:10 dalek parrot/get_user_id: Added dynpmc can_execute test.
14:10 dalek parrot/get_user_id: review: https://github.com/parrot/parrot/commit/11665b94cf
14:12 whiteknight good morning, #parrot
14:12 whiteknight happy new year
14:24 bluescreen happy new year
14:56 lucian joined #parrot
14:57 kid51 whiteknight: Do you have any feelings about http://trac.parrot.org/parrot/ticket/1908?
15:05 dalek parrot: 2c9a66a | Whiteknight++ | README:
15:05 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
15:05 dalek parrot: review: https://github.com/parrot/parrot/commit/2c9a66a6c7
15:05 dalek parrot: e9bac73 | Whiteknight++ | / (10 files):
15:05 dalek parrot: Merge remote branch 'origin/get_user_id'
15:05 dalek parrot: review: https://github.com/parrot/parrot/commit/e9bac731bd
15:07 whiteknight kid51: I'm fine with it
15:08 whiteknight adding a new make target which is orthogonal to existing targets should always be fine
15:13 dalek parrot/gci_unmanagedstruct_coverage: 3a7004e | rfw++ | / (9 files):
15:13 dalek parrot/gci_unmanagedstruct_coverage: Merge branch 'master' of git://github.com/parrot/parrot
15:13 dalek parrot/gci_unmanagedstruct_coverage: review: https://github.com/parrot/parrot/commit/3a7004e5cb
15:13 dalek parrot/gci_unmanagedstruct_coverage: 9d68a5c | rfw++ | t/pmc/ (2 files):
15:13 dalek parrot/gci_unmanagedstruct_coverage: Brought coverage of UnManagedStruct up to 90.7%.
15:13 dalek parrot/gci_unmanagedstruct_coverage: review: https://github.com/parrot/parrot/commit/9d68a5ca08
15:16 whiteknight kid51: that get_user_id test is failing on your system?
15:17 dalek parrot: 76b7908 | jkeenan++ | config/gen/makefiles/root.in:
15:17 dalek parrot: Add 'make moretests' target: 'test' + 'examples_tests' + 'codetest' (- t/codingstd/perlcritic.t).
15:17 dalek parrot: review: https://github.com/parrot/parrot/commit/76b7908dc6
15:17 whiteknight i'm on linux/i386 too, and it works fine for me
15:22 preflex left #parrot
15:27 preflex joined #parrot
15:35 dalek parrot: d69dbbc | Whiteknight++ | config/gen/makefiles/root.in:
15:35 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
15:35 dalek parrot: review: https://github.com/parrot/parrot/commit/d69dbbc9db
15:42 JimmyZ joined #parrot
15:45 M_o_C joined #parrot
15:49 preflex left #parrot
15:51 preflex joined #parrot
16:06 Patterner left #parrot
16:07 Psyche^ joined #parrot
16:07 Psyche^ is now known as Patterner
16:07 JimmyZ left #parrot
16:16 Coke left #parrot
16:18 whiteknight left #parrot
16:33 kid51 left #parrot
16:38 dalek parrot: 0e9a7a9 | mikehh++ | MANIFEST:
16:38 dalek parrot: re-generate MANIFEST
16:38 dalek parrot: review: https://github.com/parrot/parrot/commit/0e9a7a9b69
16:38 dalek parrot: 79d8f1c | mikehh++ | config/gen/platform/ (6 files):
16:38 dalek parrot: fix coda to conform to new coda
16:38 dalek parrot: review: https://github.com/parrot/parrot/commit/79d8f1cd24
16:38 dalek parrot: 9fe6c1b | mikehh++ | config/gen/platform/ (6 files):
16:38 dalek parrot: add documentation
16:38 dalek parrot: review: https://github.com/parrot/parrot/commit/9fe6c1b136
16:38 dalek parrot: 8098b0b | mikehh++ | config/gen/platform/win32/uid.c:
16:38 dalek parrot: change c++ comment to c comment
16:38 dalek parrot: review: https://github.com/parrot/parrot/commit/8098b0bd8f
16:38 dalek parrot: 1d0e70c | mikehh++ | src/dynpmc/os.pmc:
16:38 dalek parrot: change c++ comments to c comments
16:38 dalek parrot: review: https://github.com/parrot/parrot/commit/1d0e70c95c
16:50 lucian_ joined #parrot
16:50 lucian left #parrot
16:54 dalek parrot: 94c904a | mikehh++ | t/pmc/unmanagedstruct.t:
16:54 dalek parrot: remove trailing whitespace (and update copyright)
16:54 dalek parrot: review: https://github.com/parrot/parrot/commit/94c904aab1
16:54 dalek parrot: 67b0d61 | mikehh++ | config/gen/platform.pm:
16:54 dalek parrot: replace hard tab with spaces
16:54 dalek parrot: review: https://github.com/parrot/parrot/commit/67b0d6133a
17:24 Matt_ joined #parrot
17:34 kid51 joined #parrot
17:36 kid51 msg whiteknight Following the get_user_id branch merge, my 'make' output log is showing 214 instances of this warning: ./include/parrot/platform_interface.h:155: warning: function declaration isn't a prototype
17:36 aloha OK. I'll deliver the message.
17:40 kid51 msg whiteknight Also getting this warning: config/gen/platform/generic/uid.c:28: warning: old-style function definition
17:40 aloha OK. I'll deliver the message.
17:46 kid51 msg rfw Please check out the warnings described in my msgs to whiteknight
17:46 aloha OK. I'll deliver the message.
17:46 Kristaba joined #parrot
17:47 Kristaba Happy new year #parrot
17:56 dukeleto ~~
17:57 mikehh kid51: didn't see that building with g++
17:58 dukeleto Yuki`N: opcode pmc task completed
17:59 kid51 mikehh: I've been seeing it all morning with regular gcc build
18:00 dukeleto rfw: Unmanagedstruct task completed
18:09 cotto mj41, thanks!
18:10 cotto nice timing dukeleto.  I was just looking at it.
18:11 mikehh kid51: ok, I also get that warning with the gcc build (but not with the g++ build)
18:12 dukeleto cotto: top of year to ya
18:12 kid51 mikehh: Yes, I suspect that if we fix 2 lines, all those warnings will vanish.
18:12 Matt_ cotto: I don't see the logical VTABLE's mentioned here: http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129380839419#c1001 (not, logical_and)
18:13 * dukeleto tries to add a few new GCI tasks before brunch
18:13 dukeleto these students are plowing through tasks
18:14 chromatic joined #parrot
18:19 cotto Matt_, how clever of us.  We must have removed them.
18:20 cotto Um... good job?
18:20 cotto Matt_, just submit some bogus work.  I guess you found a really easy task. ;)
18:21 Matt_ lol. I even grep'ed for 'logical' and barely got anything (so its not just a missing entry from vtables.tbl
18:21 Matt_ cotto: :)
18:21 cotto PROTIP: src/vtable.tbl has the master list of VTABLE functions.  If it's not there it doesn't exist.
18:21 dalek parrot: ed1ecd8 | mikehh++ | include/parrot/platform_interface.h:
18:21 dalek parrot: make function arguments void, to remove warning
18:21 dalek parrot: review: https://github.com/parrot/parrot/commit/ed1ecd8524
18:22 mikehh kid51: try that, works for me
18:22 Matt_ cotto: submitted anything :) http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129380839419
18:24 cotto done
18:25 dukeleto Matt_: that commit you link to, that is not useful. it has lots of changes mixed together
18:25 dukeleto Matt_: you need to make a pull request with only the work for the task
18:26 cotto dukeleto, the task was already completed before he requested it.
18:29 dukeleto cotto: hokey dokey
18:30 kid51 mikehh:  Thanks.  That cleans up all but this one:  config/gen/platform/generic/uid.c:32: warning: old-style function definition
18:30 gbacon joined #parrot
18:39 * dukeleto added some new GCI tasks
18:44 Kristaba I did some changes in Parrot ( https://github.com/Kristaba/parrot/commit​/ce9c61900bd8e08c94fb10ccf2e5baad23c46e49 ), and now I have a strange error when Make try to build Perl6Grammar.pir :(
18:45 Kristaba I have "attempt to access code outside of current code segment"
18:45 Kristaba Maybe someone has an idea of what is the cause of this error?
18:45 cotto We save that error for really special occasions.
18:45 kid51 That error is for very naughty boys and girls.
18:46 Kristaba :p
18:47 Kristaba Really, I spent many hours to try to locate the problem, but I don't understand what I did that cause this issue :/
18:48 mikehh kid51: ok I think I got that one - testing now
18:48 Kristaba Maybe I forgot something in root.in? I'm not a makefile specialist...
18:48 cotto Why are you replacing do_sub_pragmas with something else?
18:49 cotto Aren't you just moving code around?
18:49 Kristaba cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129372125825
18:49 Kristaba cotto: The do_sub_pragmas is now a private function of PackFile
18:50 kid51 Paging Dr Whiteknight!
18:51 cotto we need 50CCs of What's Going On?, stat.
18:51 kid51 That's not a GCI task; it's a GSOC-project!
18:52 * dukeleto gets the bedpan
18:52 cotto Kristaba, as a temporary measure you can make it publicly accessible.
18:52 cotto That way you're only changing one thing at a time.
18:53 cotto Then you can figure out a replacement for the non-packfile code and test it in a nice iterative fashion.
18:54 cotto You definitely don't want to change more than one thing at a time if it's evitable.
18:55 cotto does that make sense?
18:55 kid51 Kristaba: minor point re config/gen/makefiles/root.in:  Double-check that you're using hard-tabs vs. wordspaces correctly.
18:55 theory joined #parrot
18:55 kid51 evitable?  new back-formation?
18:55 Kristaba cotto: Hum... Yes, I'll try this, but I don't understand the real problem for now
18:55 plobsing (re: do_sub_pragmas) don't mess with that stuff. I'm just going to have to revert that work to merge encapsulate-main.
18:56 Kristaba kid51: Thank you, I just see this
18:57 cotto kid51, it's a perfectly cromulent word.
18:57 * kid51 wonders where he misplaced his cromulent ..
18:58 kid51 Kristaba: This is quite a formidable task.  And plobsing seems to think it's misdirected.  So you'll probably have to consult with the mentor (whiteknight) about this.
18:58 kid51 Kristaba: In other words, I am mostly clueless about this.
19:00 plobsing my objection is that it is like adding veneer to a piece of wood I am in the process of whittling.
19:01 plobsing I'm just going to take it off.
19:01 dalek parrot: bc6c763 | mikehh++ | config/gen/platform/ (6 files):
19:01 dalek parrot: make function arguments void, to remove warning (and docs)
19:01 dalek parrot: review: https://github.com/parrot/parrot/commit/bc6c763870
19:04 Kristaba Okay, so I'll wait until whiteknight devat of last night
19:11 rfw joined #parrot
19:15 Yuki`N joined #parrot
19:19 Yuki`N Just a comment on the removal of logical VTABLEs.
19:20 Yuki`N Did the logical AND VTABLE short-circuit evaluate?
19:20 Yuki`N Because the suggested replacement `VTABLE_get_bool(interp, pmca) & VTABLE_get_bool(interp, pmcb)` doesn't.
19:20 Yuki`N I couldn't find any changes in the commit linked to Melange, so I'm just asking here.
19:22 cotto Yuki`N, I think that should be &&
19:22 Yuki`N It should be.
19:23 Yuki`N I mean, both should work, if booleans implemented by parrot are 1 (true) and 0 (false)
19:23 cotto right, but && would use C's short-circuiting.
19:23 Yuki`N Yes.
19:24 cotto I used a language once that didn't have that.  It was surprising.
19:24 Yuki`N Heh.
19:24 Yuki`N Somewhat related question, whiteknight commented that I don't have to use Parrot_str_clone when copying strings, but I'm worried about the old string getting GC'd.
19:26 cotto It won't get GC'd if there's a reference to it on the stack or in a PMC that properly marks its strings.
19:26 cotto If it does, that's a bug.
19:26 Yuki`N How do you mark strings?
19:27 Yuki`N If I reference those strings in a PMC that's still on the stack, will the GC check for it?
19:27 cotto Parrot_gc_mark_STRING_alive
19:27 cotto yup.
19:28 Yuki`N I'll copy the pointer and mark it anyway.
19:29 dukeleto Yuki`N: more tasks for you. Testing dynops. Very fun.
19:30 Yuki`N Oh yay.
19:31 Yuki`N As long as I don't have to worry about the dynop detection. `-`
19:31 Yuki`N That's hell in a handbasket.
19:33 cotto Yuki`N, accepted
19:33 Yuki`N Thanks cotto.
19:34 Yuki`N Parrot_gc_mark_STRING_alive takes null ok?
19:34 * dukeleto is going to brunch. Enjoy the new year! More tasks just created!
19:34 cotto yup
19:37 rfw hooray, more parrot tasks!
19:37 Yuki`N Cool so I don't have to null check the strings.
19:37 rfw morning cotto
19:37 cotto hi rfw
19:39 kid51 mikehh: That looks good.  Thanks.
19:40 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391004631 <-- could someone approve?
19:41 rfw kid51: which messages?
19:42 kid51 rfw:  msgs that were addressed to whiteknight: see backscroll
19:42 kid51 rfw: Review: git diff e9bac731bdb..
19:43 kid51 rfw: mikehh has fixed those problems, but please review
19:43 rfw okay i see it
19:44 rfw ah okay
19:44 rfw i didn't get those warnings though
19:45 kid51 mikehh reported that he did not get them compiling with g++; but I got them -- and he confirmed -- when compiling with gcc
19:45 kid51 rfw: I approved the sys dynops task
19:46 rfw ah okay, thanks
19:46 rfw either i didn't notice the warnings when i was compiling or didn't have any, i guess
19:46 kid51 We don't keep close track of them ...
19:47 kid51 ... but having run 'make' thousands of times, I have a sense of where to expect warnings.
19:47 rfw hehe
19:47 kid51 If you log your build, you can say: grep 'warning:' buildlog
19:47 rfw what's the difference between i and ic?
19:47 plobsing integer vs integer constant
19:47 rfw oh never mind
19:47 rfw yeah i thought was much
19:48 rfw i is a value from the $I? registers, right?
19:48 plobsing yes.
19:48 rfw okay, got it
19:48 plobsing and ic is *usually* from integer literals
19:48 rfw whoever named these tests sucks
19:48 plobsing however, ic is magic in that it can also be label addresses arguments
19:48 rfw they calling the ic variant of the opcode, when the tests are named i
19:49 rfw +'re
19:50 plobsing that's the danger of polymorphic ops. you never really know exactly what you are calling (unless you have knowledge of the compiler)
19:54 cotto Yuki`N, your task needs tests
19:54 Yuki`N Yes, it does.
19:54 Yuki`N Matt_ was supposed to be taking care of that.
19:54 Yuki`N He was increasing test coverage when he found the bug, actually.
19:55 Yuki`N Not sure how that's working out.
19:56 Yuki`N I'll go ahead and write a clone test I guess, :/
19:56 cotto good idea
19:58 gbacon left #parrot
19:58 gbacon joined #parrot
20:09 Nol888 joined #parrot
20:14 Yuki`N left #parrot
20:14 kid51 left #parrot
20:16 rfw src/dynoplibs/sys_ops.c                                           60.2   60.2 <-- oof, just 2% more
20:19 Nol888 Hmm.
20:19 Nol888 I'm getting a failed assertion.
20:20 Nol888 Copying this buffer is more annoying than I expected.
20:25 Nol888 msg Matt_ Don't worry about testing the clone method; I'll take care of it.
20:25 aloha OK. I'll deliver the message.
20:26 Nol888 cotto, would you happen to know what I'm not able to get source line info from libparrot.so?
20:27 cotto Nol888, debugging symbols should be build unless you're using --optimize
20:28 Nol888 I can get info from parrot fine, but libparrot.so only gives me some method names, no stepping available.
20:29 cotto you mean for PIR code?
20:29 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391004631 when you can
20:29 Nol888 No, for the PMCs and such.
20:29 Nol888 I can't actually get line # info for any code in libparrot.
20:41 Kapace_ morning #parrot..
20:41 Kapace_ So, I was trying to test Capture's set_pmc method, using this test: https://gist.github.com/761993
20:42 Kapace_ And it doesn't seem to call set_pmc at all..
20:43 Nol888 You have to use set_ref
20:43 Nol888 =item B<setref>(invar PMC, invar PMC)
20:43 Nol888 Make $1 refer to $2 by calling C<set_pmc>.
20:44 Kapace_ hmm, ok, Ill try to do that..
20:51 plobsing Nol888: line # information gets incorrectly generated by pmc2c. you can turn it off as a parrot configure.pl option. '--no-line-directives'. I always do that.
20:51 Nol888 Oh.
20:51 plobsing it should be the default IMHO
20:52 plobsing downside - line numbers reference generated C files in stead of the original sources.
20:52 Nol888 Not a huge problem, I think.
20:52 Nol888 I was looking at the generated c files anyway.
20:53 Nol888 Is there any solution to that pmc2c problem?
20:53 plobsing that requires knowledge of how those line numbers are supposed to be generated that I do not have. All I know is how to turn the broken functionality off.
20:53 Nol888 Ah.
20:54 Nol888 Is a trac ticket yet?
20:54 plobsing probably
20:54 rfw plobsing: could you look at my increased test coverage for sys dynops?
20:55 plobsing Nol888: TT #1735
20:56 plobsing rfw: sure, but I'm fairly sure I don't have the authority to accept/reject gci tickets.
20:56 rfw ah okay
20:56 rfw i'll wait for someone else then
20:56 rfw you can pull the changes in for me, though?
20:57 plobsing if they're good, yes
20:57 rfw they should be :D
21:04 Nol888 Derp
21:04 Nol888 I was using the wront pointer.
21:04 Nol888 *wrong pointer
21:04 Nol888 SELF when it should have been copy.
21:05 Nol888 is now known as Yuki`N
21:06 Yuki`N Whooh it works!
21:08 dalek parrot/leto/embed_grant: 6b2b50f | dukeleto++ | t/src/embed.t:
21:08 dalek parrot/leto/embed_grant: [t] Refactor some embed test infrastructure
21:08 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/6b2b50f0ae
21:10 Yuki`N That was actually fun.
21:10 Yuki`N dukeleto, you should find more C coding that needs to be done, I need to improve my gdb-fu.
21:19 Yuki`N Pull request'd https://github.com/parrot/parrot/pull/75
21:19 fbrito joined #parrot
21:20 fbrito left #parrot
21:26 fperrad left #parrot
21:30 dalek parrot: 7653132 | rfw++ | t/dynoplibs/ (2 files):
21:30 dalek parrot: Increased coverage of sysinfo to 62.2%
21:30 dalek parrot: review: https://github.com/parrot/parrot/commit/765313266b
21:30 plobsing rfw: merged
21:30 rfw thanks
21:34 fbrito joined #parrot
21:37 rurban_ joined #parrot
21:37 Yuki`N plobsing, could you take a look at my pull request for the filehandle clone vtable?
21:40 rurban left #parrot
21:40 rurban_ is now known as rurban
21:40 dalek parrot/leto/embed_grant: d170bd5 | dukeleto++ | t/src/embed.t:
21:40 dalek parrot/leto/embed_grant: [t] Fix Parrot_PMC_modulus test and add Parrot_PMC_divide
21:40 dalek parrot/leto/embed_grant:
21:40 dalek parrot/leto/embed_grant: It seems that these functions take three arguments, but nothing
21:40 dalek parrot/leto/embed_grant: is done with the third argument. The function signatures of
21:40 dalek parrot/leto/embed_grant: Parrot_PMC_modulus, Parrot_PMC_divide and all similar functions
21:40 dalek parrot/leto/embed_grant: should probably be deprecated and either changed to:
21:40 dalek parrot/leto/embed_grant:
21:40 dalek parrot/leto/embed_grant: 1) take 2 arguments and return 1 value
21:40 dalek parrot/leto/embed_grant: 2) return void and take 3 arguments
21:40 dalek parrot/leto/embed_grant:
21:40 dalek parrot/leto/embed_grant: I think for unification with future design principles (such as
21:40 dalek parrot/leto/embed_grant: fixed width opcodes that return void), that option 2) should
21:40 dalek parrot/leto/embed_grant: be persued, but this issue needs to be brought up on parrot-dev.
21:41 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/d170bd5965
21:41 rfw hi dukeleto
21:42 rfw hi dukeleto
21:42 rfw er
21:42 rfw wrong window
21:43 fbrito hey rfw and Yuki`N :D. Happy New Year :)
21:43 rfw happy new year fbrito!
21:44 Yuki`N fbrito, happy new year!
21:44 fbrito can't believe that it is already 10am of 2nd january in New Zealand
21:44 rfw heh
21:45 * rfw is playing with node.js
21:45 fbrito I am going to have lunch :). be right back
21:59 Yuki`N left #parrot
21:59 Yuki`N joined #parrot
21:59 aantn joined #parrot
22:01 Nol888 joined #parrot
22:03 aantn I'm about to start working on http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129372687973
22:04 aantn I was wondering if the mentor is on IRC?
22:04 rfw aantn: nobody is around atm
22:04 aantn Andrew whitorth?
22:04 aantn rfw: thanks
22:04 rfw also, happy new year!
22:04 aantn rfw: you too :)
22:06 Yuki`N left #parrot
22:07 fbrito rfw: we should write a IRC bot that send a notification to the project channel when someone comment/submit work/claim request on a task :D
22:07 rfw fbrito: there is one
22:08 fbrito ah, fail
22:08 Kapace_ but really broken
22:08 Kapace_ it would spam the channel with repeated "task claimed" messaged
22:08 fbrito is the source code available somewhere? (github?)
22:09 rfw fbrito: there's only 9 days left so is there even any point :D
22:09 fbrito hm, true :(
22:09 fbrito it would be just for fun. I have never touched in a IRC bot code :(
22:10 fbrito we still have 419 GCI tasks available, wow
22:11 rfw i'm writing a crappy physics engine in js, heh
22:11 Nol888 is now known as Yuki`N
22:11 M_o_C left #parrot
22:11 Yuki`N left #parrot
22:11 Yuki`N joined #parrot
22:13 Kapace_ rfw: physics in node.js?
22:13 rfw Kapace_: optionally, yes
22:13 rfw but mostly just client side physics
22:13 rfw javascript is javascript is javascript, after all
22:14 Kapace_ heh, ok
22:14 rfw still haven't gotten the hang of "inheritance"
22:15 Yuki`N I call dibs on the bitwise-operator opcodes.
22:15 Yuki`N Hehe.
22:15 Yuki`N Bit shifting!
22:15 Kapace_ Yuki`N >> 1
22:15 Kapace_ In russia, bit shifts you!
22:15 Yuki`N More like Yuki`N | 0xFFFFFFFF
22:16 rfw did you just half the karma of N
22:16 sorear no
22:16 Kapace_ aloha: karma N
22:16 aloha Kapace_: N has karma of 39.
22:16 rfw sorear: i was just being silly :)
22:16 rfw karma rfw
22:16 aloha rfw has karma of 22.
22:18 Yuki`N Fabulous, coverage information for the .pmc file doesn't get properly generated by make fullcover.
22:19 Yuki`N Oh derp
22:19 Yuki`N There is no .pmc file.
22:19 Yuki`N I wonder why the .ops file doesn't get info though.
22:20 cotto Yuki`N, you can look at core_ops.c
22:20 Yuki`N I can.
22:20 Yuki`N It's pretty much 1:1 anyway.
22:20 Yuki`N Oh hai cotto, there are many tasks waiting for your approval I hear.
22:20 contingencyplan joined #parrot
22:20 cotto except when it isn't
22:20 cotto orly?
22:21 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391004631 <-- this one (merged in already)
22:21 cotto you're not kidding
22:21 Yuki`N I'm waiting for whiteknight to get back so he can review my clone method.
22:23 fbrito parrot has 4 opened pull requests by GCI students :D
22:26 aantn what's the difference between "make smoke" and "make test?"
22:26 rfw make smoke submits a report to theserver iirc
22:26 fbrito aantn: make smoke will send a result report to a server
22:26 rfw whereas make test is purely local
22:27 aantn rfw, fbrito: thanks
22:27 cotto hi aantn
22:27 fbrito aantn: this is the server: http://smolder.parrot.org/a​pp/projects/smoke_reports/1
22:27 aantn hey cotto
22:27 aantn fbrito: if I'm working in my own git branch, should I ever send a smoke report?
22:28 rfw i don't think i've ever submitted one, heh
22:28 cotto aantn, no need
22:29 fbrito aantn: it is not really necessary. but you should run "make codetest" before submitting your work
22:29 cotto the purpose of smoke testing is so we can see how Parrot works on a variety of platforms.  For most changes, knowing that it works one one platforms is sufficient.
22:29 aantn fbrito: what's the difference between "make codetest" and "make test?"
22:30 Kapace aantn, make help ftw
22:30 fbrito aantn: you can run "make help" to see the options you have
22:31 aantn okay
22:31 cotto aantn, make codetest runs test on code, e.g. coding standards tests
22:31 fbrito aantn: code test is for coding standards tests. it will check if your lines are not too long, whitespaces (i think) and so on
22:33 cotto the output from make help is a bit verbose
22:33 rfw nothing a little | less can't solve
22:37 rfw cotto: could you close my task?
22:37 cotto rfw, you don't need a whole new hll to play with hllmaps.  See t/pmc/parrotinterpreter.t for an example.
22:37 cotto Sure.
22:37 rfw hllmaps?
22:38 cotto HLLs can tell the interp to use a custom type instead of a core PMC.
22:39 cotto you mentioned them in a comment in t/dynoplibs/time.t
22:39 rfw i don't think that was me
22:39 rfw oh, that's not me
22:40 rfw i just copied the tests on there and invoked the _i opcodes instead of _ic
22:40 cotto https://github.com/parrot/parrot/commit/​765313266b3e50ca899c611e8842444e858cf18b
22:40 rfw yeah they wre on the _ic tests
22:40 cotto ok
22:43 dalek parrot: 44899d8 | cotto++ | /:
22:43 dalek parrot: Merge branch 'master' of https://github.com/rofflwaffls/parrot into rfw_sysops_coverage
22:43 dalek parrot: review: https://github.com/parrot/parrot/commit/44899d887f
22:44 cotto rfw, approved
22:44 rfw thanks
22:45 rfw "Increase the code coverage of the math opcodes by at least 20%" "This will ensure there are no hidden bugs in our Hashs, which are a very important subsystem of Parrot."
22:45 rfw lol
22:47 rfw haha, github's new 404 page is awesome
22:48 fbrito rfw: ahaha, true. and yeah, src links on tasks are wrong
22:49 fbrito rfw: you can change /parrot/blob/... in the url to /parrot/tree/master/... and it will work :D
22:52 Yuki`N I will improve the bitops coverage by at least 60%. :|
22:59 Matt_ cotto: Can you look at this: http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129390685574#c2002
23:00 cotto I was.  You can explicitly specify the op you want to use if desired.
23:01 cotto $I2 = rand_i_i_i $I0, $I1 is perfectly valid PIR
23:02 cotto not necessary, but it might make the tests a little clearer
23:03 Matt_ aah. ok thanks. I did indicate the 'i_i_i' and stuff in the test method name
23:03 cotto yes.  that's why I mentioned it
23:03 aantn I'm working on http://trac.parrot.org/parrot/ticket/749 for GCI, but I don't see src/pmc_freeze.c
23:04 aantn never mind :)
23:05 * cotto never minds
23:05 aantn I git-logged it and it's been refactored in object_serialization.c
23:05 cotto yup
23:05 cotto let git do the work
23:06 aantn cotto: what's the difference between freezing/thawing and unpacking?
23:07 dalek parrot: 4a4a4bb | (Matt Rajca)++ | t/dynoplibs/math.t:
23:07 dalek parrot: Increased coverage of math dynops
23:07 dalek parrot: review: https://github.com/parrot/parrot/commit/4a4a4bbac2
23:07 plobsing aantn: the difference is artificial, it is a well-known unecessary distinction
23:07 cotto Matt_, approved
23:08 aantn plobsing: I'm just trying to understand the code flow
23:09 aantn plobsing, cotto: when a .pbc file is unpacked, then the validation stage should still occur when the packfile is frozen in memory, right?
23:09 plobsing aantn: unpacking is what happens to packfile segments (which implement the bytecode format). freezing/thawing is what happens to parrot-level objects. when segments become parrot-level objects, this all gets very muddy.
23:10 aantn plobsing: I understand
23:10 aantn plobsing: what format are the segments stored in when they're thawed?
23:10 plobsing pretty much arbitrary binary format
23:11 aantn plobsing: I'm refactoring the validation code into a separate function. Should that functions signature still be PackFile_validate(PARROT_INTERP, PackFile *self, const opcode_t, *packed, size_t packed_size) ?
23:11 aantn plobsing: that explains it :)
23:11 plobsing the format is defined by parts that simply agree on a specified ordering.
23:12 aantn left #parrot
23:12 plobsing eg: everybody agrees that the segment starts with an integer
23:13 plobsing oh no. I scared the student off :(
23:14 aantn joined #parrot
23:15 aantn sorry, I got disconnected. I didn't see your respone
23:15 plobsing <@plobsing> the format is defined by parts that simply agree on a specified ordering.
23:15 plobsing <@plobsing> eg: everybody agrees that the segment starts with an integer
23:16 cotto aantn, this channel is logged at http://irclog.perlgeek.de/parrot/today in case that happens again
23:16 aantn plobsing, cotto: thanks
23:18 dalek parrot: 7bdd2c9 | Yuki`N++ | src/pmc/filehandle.pmc:
23:18 dalek parrot: Fix filehandle clone.
23:18 cotto Yuki`N, task accepted
23:18 dalek parrot: review: https://github.com/parrot/parrot/commit/7bdd2c9837
23:18 dalek parrot: b235875 | Yuki`N++ | src/pmc/filehandle.pmc:
23:18 dalek parrot: Remove unnecessary string clones.
23:18 dalek parrot: review: https://github.com/parrot/parrot/commit/b235875bd2
23:18 dalek parrot: 476cb11 | Yuki`N++ | / (2 files):
23:18 dalek parrot: Add tests, (re-)fix the clone VTABLE.
23:18 dalek parrot: review: https://github.com/parrot/parrot/commit/476cb11d5f
23:18 dalek parrot: 6fb2a10 | cotto++ | src/pmc/filehandle.pmc:
23:18 dalek parrot: [pmc] rename some variables for clarity
23:18 dalek parrot: review: https://github.com/parrot/parrot/commit/6fb2a106fe
23:18 cotto <3 rebase
23:20 plobsing cotto: rfw had a coverage task earlier that I was able to merge. if you have not already, please accept his work.
23:21 cotto plobsing, I also merged that
23:24 aantn cotto, plobsing: what's the best way to pass information from (the new) Packfile_validate to Packfile_unpack
23:24 aantn the validate function starts parsing information out of the packfile and checks if it's correct
23:24 cotto what kind of information?
23:25 aantn cotto: the unpack function needs some of that data to actually unpack the file
23:25 aantn cotto: e.g. director format
23:25 aantn *directory
23:28 dalek parrot: 74168f9 | (L�o Grange)++ | / (8 files):
23:28 dalek parrot: Move code-running functions out of src/packfile/api.c
23:28 dalek parrot: review: https://github.com/parrot/parrot/commit/74168f90b3
23:28 dalek parrot: 39626b8 | (L�o Grange)++ | / (7 files):
23:28 dalek parrot: Some fix. do_sub_pragmas is back public for now
23:28 dalek parrot: review: https://github.com/parrot/parrot/commit/39626b84dd
23:28 dalek parrot: e4903f9 | cotto++ | config/gen/makefiles/root.in:
23:28 dalek parrot: [build] makefile dependency fix
23:28 dalek parrot: review: https://github.com/parrot/parrot/commit/e4903f9da0
23:28 cotto task accepted
23:29 aantn cotto: ?
23:32 cotto fbrito, nice atomic commits
23:32 cotto aantn, your gci task
23:34 aantn cotto: yes?
23:34 aantn cotto: I don't need help actually implementing it. I just want to make sure that I start implementing this the correct way
23:35 aantn cotto: the task is http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129372687973#c1001
23:38 dalek parrot: b20da13 | fbrito++ | t/pmc/class.t:
23:38 dalek parrot: [t] Add remove_method test to Class PMC
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/b20da13509
23:38 dalek parrot: 70a8378 | fbrito++ | t/pmc/class.t:
23:38 dalek parrot: [t] Add find_method test to Class PMC
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/70a837878b
23:38 dalek parrot: 83ac3c5 | fbrito++ | t/pmc/class.t:
23:38 dalek parrot: [t] Add vtable_override test to Class PMC
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/83ac3c5fc6
23:38 dalek parrot: 76d3804 | fbrito++ | t/pmc/class.t:
23:38 dalek parrot: [t] Improve add_method on Class PMC
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/76d380462c
23:38 dalek parrot: 00e660b | fbrito++ | t/pmc/class.t:
23:39 dalek parrot: [t] Improve test coverage on Class PMC
23:39 dalek parrot: review: https://github.com/parrot/parrot/commit/00e660ba70
23:39 dalek parrot: 8946a18 | fbrito++ | t/pmc/class.t:
23:39 dalek parrot: [t] Improve tests on Class PMC
23:39 dalek parrot: review: https://github.com/parrot/parrot/commit/8946a18e57
23:42 cotto all pending gci requests are answered
23:42 Kristaba cotto: Thank you ;)
23:47 cotto Kristaba, thanks for contributing
23:47 cotto rfw++ for being one task away from the venerable jumpyshoes
23:47 cotto that's impressive
23:48 cotto rfw, your next gci task: beat jumpyshoes.  It's worth 3 points. ;]
23:49 cotto melange-- melange-- melange--
23:49 cotto How did it not occur to them to make the front page display gci students who've taken on a task?
23:58 aantn cotto: do you have time to help me for a moment with http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129372687973#c1001
23:59 cotto aantn, what's your question?

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

Parrot | source cross referenced