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