www.parrot.org | Add test after fixing bugs after context_pmc3 merge | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON
Set by moderator on 6 September 2009.
darbelo dukeleto: I'm testing a hack to get you going, wait for the nopaste. 00:00
dukeleto darbelo: coolio 00:01
dalek TT #984 created by dukeleto++: pluggable_runcore branch merge broke build on darwin
mikehh Coke: all passed at r41080, multiple segfaults at r41081, fewer at r41083 and different results at r41086 in three runs 00:02
nopaste "darbelo" at 190.3.155.110 pasted "Quick hack for dukeleto++ (darwin--)" (18 lines) at nopaste.snit.ch/17856
darbelo dukeleto: See if that patch fixes your build. 00:03
You'll need a realclean too. 00:04
dukeleto darbelo; trying now 00:05
darbelo: compiles and passes coretest. do you have a commit bit ? 00:08
darbelo nope.
You should copy the modified file into config/gen/platform/darwin/hires_timer.c and revert the original. 00:09
dukeleto darbelo: anything else? 00:10
purl anything else is violating dry. and we're in the wrong channel.
darbelo You might have to alter MANIFEST, but the Configure system should notice the platform-specific file and ignore the generic one. 00:11
dukeleto darbelo: yes, it seems to 00:12
chromatic Hm, anyone want fewer PMCProxy PMCs created? 00:13
Tene I do!
darbelo dukeleto: You might also want to check the sanity of the profiling runcore's output. 00:14
dukeleto darbelo: how do I do that? 00:15
dalek rrot: r41087 | dukeleto++ | trunk (2 files):
[build] Fix build on darwin by using gettimeofday instead of clock_gettime, darbelo++, darwin--
00:17
dukeleto please test the latest trunk on your platform to make sure nothing wonky is going on
i am sure ttbot will pipe up soon if I b0rked something 00:18
karma darwin
purl darwin has karma of 12
dukeleto darwin--
chromatic Hm, a 10.51% improvement. 00:20
darbelo dukeleto: try parrot -R profiling some/file.pir ; also nothing broken here. 00:21
dukeleto darbelo: the file gets generated. how do I view the info in it? 00:22
darbelo dukeleto: Your favorite text editor. It's ascii 00:23
dukeleto darbelo: i can see that. i want pretty visualizations :) 00:24
dalek TT #984 closed by dukeleto++: pluggable_runcore branch merge broke build on darwin 00:25
nopaste "chromatic" at 72.87.39.97 pasted "Reduce PMCProxy Creation" (40 lines) at nopaste.snit.ch/17857 00:26
chromatic mikehh, Tene, Coke, can you test that patch with your languages?
dukeleto i would also like a flying unicorn that prints $20 bills
Tene chromatic: just verify that the languages don't fail? 00:27
chromatic Yes.
If you note any speed improvements, I'm happy to hear that too.
darbelo dukeleto: Oh. tools/dev/pprof2cg.pl will convert that to a callgrind-compatible profile. You'll have to bug cotto++ for the rest, the profiling runcore is his fault :).
Tene chromatic: steme passes... working on cardinal now 00:29
looks like cardinal HEAD is broken 00:31
chromatic With the patch or without?
Tene I haven't tried it recently at all. It fails with "Not a throwable object", which looks unrelated to your patch. 00:32
chromatic Sounds unrelated.
Tene lemme check
darbelo Tene: treed mentioned breakage the list time he was arround. It had something to do with parrot_config being broken on his platform, IIRC. 00:33
Tene darbelo: nobody else has been able to reproduce parrot_config breakage, have they?
darbelo I have no idea, I think mikeh has been testing Cardinal regularly whithout it affecting him. But I could be misremembering that. 00:34
Tene chromatic: looks like cardinal compiles fine without the patch, and fails with the patch.
treed: what failure are you seeing in parrot_config, and on what platform? 00:35
dalek TT #985 created by dukeleto++: proper Configure.pl-time check for hires timers
chromatic Tene, you might need to realclean.
Tene chromatic: Oh. i cna do that. 00:36
rebuilding.
chromatic: it still fails, even after realclean. 00:38
chromatic Okay. Hm. Do you have any Classes with the same name as internal PMCs? 00:39
nopaste "tene" at 24.10.252.130 pasted "Cardinal's classes for chromatic++" (49 lines) at nopaste.snit.ch/17858 00:41
chromatic That's not it either then. 00:43
This should only change the $P0 = new 'SomeString' and $P0 = new $S0 cases 00:44
Tene chromatic: seems to come from somewhere in here: shorl.com/fekodrubodyli
Oh, that might not be helpful. 00:45
chromatic Not as much as the corresponding PIR.
My guess is that it's one of the return lines, but that's just a guess. 00:46
Tene Yes, well, that would be easier if imcc line reporting worked. :)
Yes, it's one of those. 00:47
nopaste "tene" at 24.10.252.130 pasted "relevant pir for chromatic++" (12 lines) at nopaste.snit.ch/17859
chromatic My guess is the Exception line.
Tene it gets down to the throw opcode... if I print the typeof of the exception, it says it's of type CardinalException, which is *not* an exception. 00:48
cardinalexception has-a exception.
chromatic Oh.
Tene iirc
chromatic Could be the HLL map. 00:49
Tene Ah, no, it was refactored since I last looked. Now it inherits from parrot;Exception and CardinalObject.
But, yes, it's hll_mapped.
chromatic If you have a map between Exception and CardinalException, this'll create that type instead.
I can see how that would be wrong.
Revert that bit, and let's see what happens. 00:50
Tene should NQP be generating a root_new for that?
chromatic If you have the core PMC type name there directly... I say no.
Tene OK, realcleaning and rebuilding now. 00:52
That is, should NQP use root_new to implement 'return'? 00:54
chromatic I don't know.
Tene although, this *should* work fine if we were able to subclass PMCs from PIR. 00:55
Which we can't do now anyway.
chromatic This might be the wrong place to fix it.
Tene Yes, cardinal compiles fine with the first part reverted.
s/compiles/runs/ 00:56
I'd be okay with reverting cardinal, though, because that part doesn't work anyway.
chromatic I think this is the wrong approach though. 00:57
Parrot_oo_get_class_str probably shouldn't cause the *creation* of PMCProxy PMCs. 00:58
When called from these ops, all we want to know is if there's a class of that name.
Barring that, instantiate the appropriate PMC directly.
PMCProxy is only necessary when there *is* a class of that type. 00:59
Maybe we need to rethink PMCProxy in general. 01:04
ttbot Parrot trunk/ r41087 cygwin-thread-multi-64int make error tt.ro.vutbr.cz/file/cmdout/84084.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
dalek rrot: r41088 | jrtayloriv++ | branches/gc-refactor (18 files):
Renamed Arenas to Memory_Pools, renamed Fixed_Size_Obj_Pool to Fixed_Size_Pool, updated pdd09 and memory_internals.pod
chromatic In theory, we only need it when something subclasses a builtin PMC.
01:17 Whiteknight joined 01:19 Andy joined 01:20 tetragon joined
japhb Progress! evaling in language: json 01:21
Null PMC access in find_method()
japhb iterates
Whiteknight pluggable_runcore was almost as disruptive as context_pmc3 01:22
and definitely the current poster child for "short-lived branches" 01:23
japhb (unable to rebase continuously)-- 01:25
darbelo Whiteknight: accurate or portable. When it concerns time you can get, at most, one. 01:26
I would have never expected darwin to lack cloack_gettime, specially if it's trying to pass itself off as UNIX :) 01:30
dalek rrot: r41089 | dukeleto++ | trunk (2 files):
[t] Improve the diagnostic message of like() in test_more.pir
01:31
01:38 kid51 joined
kid51 Whiteknight: Is trac.parrot.org/parrot/ticket/926 closable? 01:59
Whiteknight closed. Thanks 02:02
02:02 sri joined
dalek TT #926 closed by whiteknight++: Kill Parrot_cont structure 02:02
ttbot Parrot trunk/ r41089 cygwin-thread-multi-64int make error tt.ro.vutbr.cz/file/cmdout/84164.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 02:21
darbelo nopaste? 02:30
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo
nopaste "darbelo" at 190.3.155.110 pasted "[PATCH] Fix the cygwin build, I hope." (12 lines) at nopaste.snit.ch/17860 02:32
darbelo Is anyone on cygwin available to test nopaste.snit.ch/17860 ? I think that's what needed to fix ttbot's last complaint. 02:33
02:36 janus joined
dalek rrot: r41090 | jrtayloriv++ | branches/gc-refactor/src/gc (8 files):
Replaced Fixed_Size_Obj_Arena with Fixed_Size_Arena, and corrected some minor errors resulting from last sed replacement.
02:38
02:38 Andy joined
darbelo msg cotto ttbot reported a broken cytgwin build (tt.ro.vutbr.cz/file/cmdout/84164.txt), after some online research I think nopaste.snit.ch/17860 should fix it. 02:46
purl Message for cotto stored.
cotto i'm here 02:51
(haven't checked the backscroll yet though)
yay. another platform with unreliable profiling information. 02:53
dukeleto, a Configure.pl-based approach to finding the best timing function would be ideal. Do you want to work on it or should I toss it on my todo list? 03:07
dukeleto cotto: tis all yours
cotto nuts
;) 03:08
dukeleto cotto: nice try ;) 03:10
cotto I wonder if I could suc^H^H^Hconvince anyone else to do it. 03:11
at least Devel::NYTProf is there to steal from 03:12
dukeleto cotto: darbelo seems to be pumping out patches. give him a bit already! 03:13
cotto darbelo, did you ever send in a CLA? 03:14
I may be forced to nominate you for a +2 bit of committing. 03:15
japhb Tene, ping 03:21
Tene japhb: pong
japhb For a normal HLL, the sequence is load_language, compreg, .'compile'(), then tailcall the result of the .'compile'(), yes? 03:22
Tene depends on whether you want to trap errors or not. 03:24
.tailcall for not trapping errors, push_eh, invoke, pop_eh, handler for trapping errors
japhb Then for a deserializer, like JSON or XML or YAML or whatever, I'm thinking the .'compile'() returns a sub that will the build the data structure represented by the textual input. So when you tailcall that, you get the deserialized structure. 03:25
OK, sure.
Tene Right.
japhb (And we should do the error-trapping sequence in the NQP version.)
s/version/implementation of eval/
Tene A standing question is what NQP's eval should return on error.
I think that right now it returns undef 03:26
japhb it literally returns the result of the final call.
it's effectively a tailcall without the scope smush
Although ... it's NQP. Maybe the nakedness of that is appropriate. 03:27
Meaning, eval != try
or rather eval !~ try 03:28
Tene Sure.
japhb It looks like the JSON language was not based on PCT, though it uses PGE (and possibly TGE). I'm figuring out how to do the conversion to PCT (in between chasing @children) 03:30
Tene japhb: it doesn't need to use PCT, as long as it responds to .compile() 03:31
japhb Tene, true enough
03:32 Andy joined 03:35 tetragon joined
darbelo cotto: no CLA, but I can send one. 03:42
cotto darbelo, if you want a commit bit I'll be glad to nominate you. It's your call. 03:43
darbelo Sure, nominate me. I'll print-sign-send the CLA tomorro^Win the morning. 03:45
03:48 sri joined
cotto will do 04:00
treed The breakage I experience is now directly Cardinal related. 04:04
It's bug 977.
And there was no refactor.
Cardinal's exceptions started that way.
And I haven't moved them to the has-a model yet.
Tene treed: I was remembering Proc or something else.
treed Ah. 04:05
Proc is mega-broken.
Tene Yeah.
treed There's a rewrite scheduled in a few hops.
I just need to get this Object model rewrite nailed down. 04:06
I ran into a problem and haven't had time to investigate it yet.
Once that's in, there's a bunch of stuff that can happen. 04:07
And I move in like a week. 04:09
So tuits will be pretty limited for a while.
(Starting my new job.)
Tene treed: I don't know how much scrollback you read... I was testing a potential patch to parrot for chromatic.
theory chromatic: search on modernperlbooks.com returns a 500.
treed I just tried to look at highlights. 04:10
So anything that mentioned cardinal or my name.
but only so far back
theory Oops, that should have been a /msg. Apologies.
treed What was the potential revert on Cardinal?
Tene treed: it would have made "new 'Exception'" obey HLL mappings, which breaks 'return' because you can't throw a CardinalException. 04:11
because PIR subclasses of PMCs are broken. 04:12
It would mean that we'd have to turn off the Exception HLL mapping until it worked.
treed Oh, yeah.
Tene He decided to investigate another way to do it anyway.
treed I intended to change CardinalException to has-a soonish, anyway.
So rather than reverting, could just do that.
Tene right. 04:13
chromatic We need to fix PIR subclassing before I can do what I want to do.
Tene treed: you really don't even need to do that... just change the 'throw' into shoving the thrown thing into the payload of a parrot exception.
treed Oh, yeah. 04:14
that was the idea
It's written down in the issue.
cotto Is TT #952 a valid ticket? I don't see the point of a ticket about failing tests in a branch.
Tene yeah
treed chromatic: Fixing PIR subclassing would be awesome.
My current Cardinal project is a new object model.
chromatic It's probably more important than most other things. 04:15
treed ANd my classes and metaclasses and eigenclasses have to be has-a parrot;Class.
Which is so inordinately complicated and confusing.
Tene There's now a patch for tt#744, which works around a weird bug elsewhere, but allows HLL interop for my scheme compiler.
chromatic Hm, we could almost make auto_attrs work for PIR classes.... 04:17
darbelo Hmm. What sort of information does the pmc compiler need to automagically 'map' c structure types to unmanaged struct PMCs? 04:22
chromatic Offset into the structure. 04:23
japhb Gah. My brain is not working properly. How do I create a compiler object that does both the '$P0 = compreg "foo"; result = $P0("input")' interface and the '$P0 = compreg "foo"; compiled = $P0."compile"("input"); result = compiled()' interface?
Tene japhb: the only way to do that is to have :vtable('invoke') on some class, and you can't do that from PIR 04:24
japhb Well, that would explain why my brain is not functioning.
Tene so... either make a PMC, or abandon the $P0(...) interface.
japhb: although, there's a dirty solution here...
well, depending on whether compreg downcases. I don't remember if it does. 04:25
japhb curiosity peaked ...
"downcases"?
Tene if it doesn't, you could just register the function as compreg 'JSON' and the object as compreg 'json'
japhb oh. Ouch.
Tene Well, if you're renaming it anyway... 04:26
it's... um... compatibility. leaving ht eold interface in place, kind of.
>.>
I recommend just dropping the old one.
japhb But I can't have both on the same filesystem.
(on all platforms)
yeah, going to.
Tene, so the proper way to "manually" register a compiler that uses the .compile() interface would be: in the onload sub, do '$P1 = newclass "Foo"; $P2 = new ["Foo"]; compreg "Foo", $P2' ? 04:32
dalek rrot: r41091 | dukeleto++ | trunk/t/library/test_more.t:
[t] Add another test for like() for matching partial literal strings
04:33
Tene japhb: that's right. 04:42
04:43 sri joined
japhb Tene, bah. It's not working. I'm missing something obvious, I think. 04:45
nopaste?
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo
Tene japhb: nopaste is also tools/dev/nopaste.pl
purl okay, Tene.
japhb Hmmm, I wonder where I accidently sent that ... 04:46
nopaste "japhb" at 76.191.190.8 pasted "Compiler class for JSON" (61 lines) at nopaste.snit.ch/17862 04:47
Tene japhb: and what doesn't work about that? 04:49
japhb I've gotten each of these:
Class '[ 'JSON' ]' not found 04:50
current instr.: '__onload' pc -1 ((unknown file):-1)
Class JSON already registered!
current instr.: 'parrot;P6metaclass;new_class' pc 884 (runtime/parrot/library/P6object.pir:549)
called from Sub 'parrot;JSON;__onload' pc -1 ((unknown file):-1)
evaling in language: json
Null PMC access in find_method()
current instr.: 'eval' pc 36714 (src/builtins.pir:145)
jrtayloriv goes night night ... zzzzzzz
japhb A tad frustrating, because I can't cargo cult a solution. :-)
Tene japhb: 'sec, lemme try something... 04:51
chromatic Hm, the profiling core aborts for me on trunk. Lovely.
japhb Tene, if you're trying my file locally, note that in the install tree I symbolic linked json.pbc -> JSON.pbc, so the case smushing would be happy.
Tene japhb: you also need to use .HLL 'json', compreg 'json', etc. 04:52
japhb Tene, sigh, OK.
Partial case flattening sucks.
nopaste "tene" at 24.10.252.130 pasted "This doesn't fail, and seems to work..." (57 lines) at nopaste.snit.ch/17863 04:53
Tene How does that look, japhb?
dalek rrot: r41092 | dukeleto++ | trunk/t/library/test_more.t:
[t] Add test for dealing with spaces in like()
japhb Tene, merging with my local copy .... 04:54
cotto chromatic, what happens? 04:55
chromatic Run it on a pbc file. 04:56
src/pmc_freeze.c:1336: failed assertion 'must_have_seen'
japhb YES! 04:57
THANK YOU TENE!
Tene++
Frack some of that is non-obvious
Tene Like I said, this really really sucks, but it's far easier to just lowercase all HLL names everywhere always than to try to work out when you can and can't, or to fix it. 04:59
nopaste "cotto" at 74.61.2.46 pasted "successful attempt to profile a pbc file" (31 lines) at nopaste.snit.ch/17864
chromatic Hm. Maybe I should rebuild this PBC. 05:00
That worked. Hm. 05:01
cotto sounds like it could be a stale pbc issue
chromatic Sounds like it was. 05:02
cotto does the pbc file contain line numbers from the pir source? 05:08
chromatic I don't think so.
I'm not really sure.
cotto I don't think it'll matter too much. If the profiler thinks all instructions come from the same line, it'll still get the subs right. 05:10
dalek rrot: r41093 | dukeleto++ | trunk/t/library/test_more.t:
[t] Fix tests for like() which passed for the wrong reason
cotto That's a good test case, though. 05:11
ttbot Parrot trunk/ r41092 cygwin-thread-multi-64int make error tt.ro.vutbr.cz/file/cmdout/84330.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 05:13
chromatic Wow. src/pmc_freeze.c is full of scary. 05:15
Tene srsly 05:16
cotto mj41++ for having your bot notify me that I didn't actually commit the fix for that failure. 05:18
dalek rrot: r41094 | cotto++ | trunk/config/init/hints/cygwin.pm:
[profiling] use CLOCK_REALTIME on cygwin
05:20
darbelo fears that his strstart killing travels will lead him into that file. 05:23
chromatic Oh they will....
dalek rrot: r41095 | chromatic++ | trunk/src/pmc_freeze.c:
[src] Tidied code in src/pmc_freeze.c. It's still scary, but at least it's
05:24
darbelo Yeah. It's the biggest concentration of strstart outside of the src/string directory.
chromatic++ # Making the scary readable. 05:25
cotto chromatic, if it helps, ascii freeze/thaw has been broken since forever. I'm reasonably sure that it never worked. 05:27
ttbot Parrot trunk/ r41093 cygwin-thread-multi-64int make error tt.ro.vutbr.cz/file/cmdout/84396.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 05:28
cotto It'd be nice if the *_ascii_* functions worked, but it might be better just to rip them out. 05:29
dalek rrot: r41096 | dukeleto++ | trunk/t/pmc/namespace.t:
[t] Refactor some namespace pmc tests to use throws_like
05:30
chromatic I don't know much about this code; I wouldn't know how to figure out how to use the ASCII versions. 05:31
Test writers, we need tests for TT #800.
cotto There's a FREEZE_ASCII define that makes it easy to switch to the broken functions. 05:32
dalek TT #921 closed by chromatic++: warnings in imcc/imcparser.c (statement with no effect) 05:33
cotto we should throw our bacek at that code 05:36
Tene ... um... this was segfaulting on exit until I tried running it under gdb, and now it doesn't segfault on exit anymore.
Tene considers shutting down the laptop for a memtest run.
chromatic cotto, did we fix TT #898? 05:37
cotto checking
chromatic, no. I'll do that now. 05:38
dalek TT #506 closed by chromatic++: generate callgrind output 05:40
TT #969 closed by dukeleto++: Convert t/pmc/float.t to PIR
dukeleto Tene: reverse heisenbug
dalek rrot: r41097 | dukeleto++ | trunk/t/pmc/float.t:
[TT #969][t] Convert t/pmc/float.t to PIR, flh++
05:41
rrot: r41098 | tene++ | trunk/ext/SQLite3/SQLite3.pir:
[SQLite3]: Add a few needed functions. This should be moved to library/ eventually.
treed dukeleto: Erm. 05:44
Re: your comment on my bug.
Why wouldn't I be using an installed parrot?
I'm asking the installed parrot for its build_dir. 05:45
Tene treed: link?
treed mail.google.com/mail/?ui=2&vie...gpcgurkovy
er
trac.parrot.org/parrot/ticket/977#comment:10
Regardless, an installed parrot_config should not be returning that error. 05:46
Removing the installed parrot is kinda like removing someone's head because they have a headache.
dalek TT #986 created by darbelo++: [PATCH] Further ->strstart removals 05:47
05:47 kyle_l5l joined
Tene treed: cardinal really should only be using the install dir, not the build dir, which is a completely separate issue. 05:47
treed Tene: I cribbed that from the Makefile.
Tene Yeah.
treed If you want to tell me how to use an installed parrot, I'll fix it.
Tene That was from before Parrot even had an install.
chromatic We have had ~30 commits per day in the past week.
Tene treed: or I could even fix it myself... *GASP* 05:48
treed Heh.
Tene trolls himself.
treed You could, although you'd need to modify the Rakefile for that.
Tene I can do that just fine.
I have an editor.
treed k
Don't break it.
Tene That's what I told her. 05:49
treed (It's been getting kinda nasty/convoluted lately.)
I want to reorganize it.
Tene want to borrow my editor?
treed Put all the configuration stuff in one place, all the testing stuff in one place, all the convenience functions in one place.
Nah, I've got my own.
I think yours wouldn't run on OS X without a recompile anyway.
Tene oh right... maybe I should rewrite it to run on Parrot first. 05:50
dalek TT #884 closed by dukeleto++: parrot_debugger generates a Bus error if you set a break point before the ...
dukeleto why is there no Trac component for "tools" ?
Tene dukeleto: I doubt there's a reason, and I doubt anyone would object to it being added. 05:51
dukeleto Tene: can i add one myself? 05:52
Tene: i don't think i have the permissions
Tene dukeleto: I have no idea what the permissions are like on trac.
I recommend a mail to the list, or opening a ticket about it.
I'm done for the evening... 05:53
dalek TT #987 created by dukeleto++: Make breakpoints actually work in parrot_debugger
cotto chromatic, would it be a Bad Idea to have a PMC's VTABLE* be a static variable in Parrot_Foo_get_vtable()? 05:54
chromatic Thread safety might be interesting. 05:55
I don't see any memory leaks in PIR hello, world though.
cotto TT #898 leaks would only occur if you hit dynpmc code that called SUPER 05:56
chromatic Ah.
I do see leaks there now. Grr.
dalek TT #988 created by dukeleto++: Add component "tools" to Trac 05:57
chromatic Parrot_gc_get_attributes_from_pool is leaky.
Tene dukeleto: that ticket is about trac... you should set its component to 'tools'. 05:58
dukeleto Tene: please see recursion 06:00
cotto chromatic, what about something like this: 06:03
nopaste "cotto" at 74.61.2.46 pasted "thread-safer vtable creation with a static VTABLE*" (17 lines) at nopaste.snit.ch/17865
chromatic I don't understand it full. 06:04
fully
cotto create a normal vtable and update the pointers as the PMC's inheritance requires. Then check if another thread has already initialized and only set the vtable if it hasn't. 06:06
(and obvious optimization is to check at the beginning too)
that minimizes the amount of time when multiple threads could step on each other's toes 06:07
s/and/an/ 06:08
This way the function will always return the right VTABLE*, but it won't need to be freed except at interp destruction. 06:09
It's not perfectly thread-safe, but it'd probably be good enough for something like pmc initialization. 06:10
actually, interp destruction is a problem with that approach. 06:13
dalek rrot: r41099 | cotto++ | trunk/lib/Parrot/Vtable.pm:
[VTable] make some comments less irritating and more informative
06:30
cotto chromatic, I'm sure of the right way to solve that bug. The problem is that the interface requires a function with a single argument (interp) to get the VTABLE* when I don't know the index into the vtable** to use. 06:41
s/sure/not sure/
dalek rrot: r41100 | chromatic++ | trunk/src/gc (2 files):
[GC] Fixed a memory leak in the GC by freeing attribute pools during final
07:28
purl destruction is, like, www.kuro5hin.org/story/2004/11/11/143618/87
07:34 fperrad joined
dalek lscript: 275e370 | fperrad++ | t/pmc/ (10 files):
refactor PIR tests with ok & nok (instead of is)
07:37
08:18 Zak joined 08:31 kentnl joined
dalek rrot: r41101 | mikehh++ | trunk/config/gen/platform/darwin/hires_timer.c:
set svn properties
08:33
TT #988 closed by coke++: Add component "tools" to Trac
a: fc8a480 | fperrad++ | t/pmc/ (16 files):
refactor PIR tests with ok & nok (instead of is)
08:34
a: e0dd9cd | fperrad++ | t/pmc/ (3 files):
use better type register
a: 718c326 | fperrad++ | (2 files):
fix LUA_PBCPATH for build tree
rrot: r41102 | chromatic++ | trunk/src/pmc/integer.pmc:
[PMC] Replaced some VTABLE calls with macro attribute access in Integer PMC.

microbenchmark, but if you use Integer PMCs for flow control....
08:40
rrot: r41103 | chromatic++ | trunk/src/pmc/fixedpmcarray.pmc:
[PMC] Tidied FixedPMCArray a minor amount; no functional changes.
rrot: r41104 | chromatic++ | trunk/src/gc/alloc_register.c:
[Contexts] Avoided repeated calls to Parrot_pcc_get_context_struct() when

contents directly. A judicious use of memset() would likely be faster, but a 1.7% performance improvement in the fib.pir benchmark is reasonable. Bigger register sets will have better performance here too.
chromatic Hm, that one was a 3.316% performance improvement in Rakudo's "Hello, world!" 08:41
Very nice.
szbalint only 4987 such improvements left to go :) 08:42
chromatic I think I can get another 3.5% here shortly. 08:46
kentnl how is .parrot_current_rev generated ? my when I'm building parrot the .svn dir is removed from the build dir prior to configure, and its resulting in .parrot_current_rev == 0 08:47
I've poked around in the code and can't seem to see where it comes from
szbalint I roughly estimated last time using an Euler problem as a baseline and comparing things to P5 that PIR is about 10 times slower while Rakudo is about 13000 times slower than the algorithmically identical P5 code 08:48
chromatic PIR should be getting closer to P5 after this week.
szbalint I'm thinking of setting up benchmarking statistics gathering to visualize how PIR/Rakudo performance changes over time
I don't think it's currently tracked? 08:49
moritz szbalint: did you compile parrot with --optimize?
chromatic I talked to leto and notbenh about that at PDX.pm last week. I'd like to see that.
moritz szbalint: it also hepls to use the fastcore as parrot runcore
szbalint yeah, I tried with a matrix of a couple of options
(on 32bit linux)
moritz did you use num / int registers, or PMC registers? 08:50
szbalint hm, let me nopaste the code. It's the first PIR I've ever written so it's possibly quite shoddy 08:51
scsys.co.uk:8001/33520 08:52
moritz I think that the reverse sub is quite inefficient, and I suspect there's a faster builtin 08:54
but having not written much PIR code myself I don't know how off-hand 08:55
chromatic I was just looking at that.
szbalint oh
moritz I guess you just use scalar reverse in the Perl 5 version?
chromatic Even a resizable integer array would be faster.
szbalint yeah
chromatic Let's see. 08:56
szbalint github.com/perl6/perl6-examples/blo...4-unobe.pl
P6 version
(I killed it after 110 minutes of runtime...) 08:57
scsys.co.uk:8001/33521 08:58
this is the P5 I've used
08:58 masak joined
dalek rrot: r41105 | mikehh++ | trunk/src/pmc_freeze.c:
fix codetest failure and g++ build error
09:04
cotto if those coding standards were worth anything, they wouldn't allow that file in the first place. ;) 09:06
cotto proposes an AI-based codingstd
good night 09:08
dalek a: 2510c17 | fperrad++ | t/pmc/ (15 files):
more refactor, less stringify (typeof -> isa)
09:09
chromatic How'd you like it three times faster, szbalint? 09:20
nopaste "chromatic" at 72.87.39.97 pasted "Euler #4 in PIR, faster" (47 lines) at nopaste.snit.ch/17866
szbalint =) 09:21
chromatic 1.833 seconds for me, with the fast core.
moritz don't we have a string reversal method in parrot?
chromatic The fast core for your version is 8.162 seconds.
If you want to go faster, manually inline the reverse function. 09:22
szbalint yeah, it is indeed a lot faster :)
chromatic Algorithmically I can get it faster. Hold on. 09:27
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41105 - Ubuntu 9.04 amd64 (g++) 09:28
szbalint yeah, the exercise is: projecteuler.net/index.php?section=...s&id=4
chromatic Ah, you can figure it out. It's late here.
Change 'reverse' to 'is_palindrome' and you'll see the improvement. 09:29
purl chromatic: that doesn't look right
chromatic You can bail out a few ops early.
szbalint it's also possible to count down the loop and quit yeah
*quit early
that should give an improvement about 10x, but I just wanted to compare the P5/PIR/P6 versions, changing the algorithm doesn't really help to measure relative speed 09:31
chromatic Right.
09:32 gaz joined
chromatic The Perl 5 version (without debugging symbols and such) is about four times faster than my PIR version. 09:32
szbalint same for my version 09:33
chromatic Let's inline.
After inlining, they're about the same. 09:34
Perl 5 may be ~10% faster.
09:34 mokurai left
chromatic Now without debugging enabled in Parrot.... 09:35
szbalint with the JIT runcore, inlined it's about 40% faster for me than P5 09:41
(with debugging enabled in Parrot)
chromatic It's twice as fast as P5 for me with JIT and an optimized Parrot without debugging. 09:43
We're at the point where Parrot's startup time is significant. 09:44
szbalint Yep 09:45
09:48 Ron joined
mikehh rakudo (205733f) builds on parrot r41105 - make test / make spectest (up to r28196) PASS - Ubuntu 9.04 amd64 (g++) 09:49
chromatic I can live with twice as fast, for now. 09:52
szbalint so I guess that the gap between PIR and Rakudo is broader than I thought, while the gap between PIR and P5 is different :)
mikehh partcl r697 builds on parrot r41105 - make test Segmentation faults - Ubuntu 9.04 amd64 (g++)
szbalint I guess I'm more interested in the trend than the current speed, both for Parrot and Rakudo 09:53
chromatic Me too, but it's nice to know that the possibility exists to match P5 in speed currently. 09:54
szbalint yeah
although PIR is a lower abstraction level, so it's not entirely apples and oranges 09:55
chromatic Rakudo will never go faster than PIR. 09:57
I believe we can get parts of Rakudo as fast as PIR in certain circumstances. 09:58
mikehh partcl: ran make test twice - first time 13 test FAIL but only 4 subtests (all segfaults) - second time 15 tests FAIL (1 the same) but only 2 subtests (1 the same) 09:59
polyglotbot OUTPUT[Parrot VM: Can't stat languages/tcl/tcl.pbc, code 2.␤main: Packfile loading failed␤]
mikehh argh - don't use : after languages :-} 10:01
and also don't start a line with /
szbalint PIR is a lower bound in execution time for Rakudo, but I'd very much like Rakudo to end up faster than P5 eventually, which implies that PIR needs to be pretty fast too 10:02
mikehh decnum-dynpmcs r181 builds on parrot r41105 - make test PASS - Ubuntu 9.04 amd64 (g++) 10:07
10:07 HG` joined
treed Whoa. 10:08
Are you guys saying that Rakudo is faster than P5 already?
Or am I misunderstanding? 10:09
Or, wait.
mikehh cardinal - builds on parrot r41105 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (g++)
chromatic PIR needs to be ten times faster than equivalent P5 for Rakudo to be faster than P5, I think.
The good news is that we can achieve that. 10:10
jonathan Rakudo is decidedly not faster than P5 yet. :-)
mikehh lorito?, nqp?
treed nods.
How much slower as it stands?
jonathan I'm not sure, the figures 10:11
vary quite a bit with program too.
treed But not abyssmally slow or anything. 10:12
(Unlike Cardinal. :-(
Even without Cardinal's parser the test suite takes 30 seconds on Parrot.
And 2 seconds with mainline Ruby.
chromatic Time to profile.
After sleep, anyhow. 10:13
treed heh.
Yeah, sleep time.
szbalint This particular instance I've tested was about 13000 times slower in Rakudo than in P5, but there are differences in the code. My uneducated guess would be about 100x difference for a lot of things...
I'm pretty sure with a bit of profiling the difference will go down drastically 10:14
mikehh ok - let's see if I can figure out those segfaults in partcl 10:18
jonathan treed: No, Rakudo is horribly slow too. 10:22
purl okay, jonathan.
jonathan Though I know some of the reasons why. 10:23
10:25 payload joined
mikehh messages 10:26
moritz be we NOW HAZ PROFILER! 10:29
s/be/but/
jonathan Anyone ran it on Rakudo yet? 10:35
mikehh jonathan: I did in branch testing - haven't tried since 10:38
moritz jonathan: yes, I did
jonathan Nice. Any interesting results? 10:40
moritz I can put the file somewhere; I myself wasn't too enlightened by the results 10:41
mikehh got a 3MBmb file from perl -e 'say "HELLO"'
3031775 10:43
moritz moritz.faui2k3.org/tmp/parrot.out.22749 for t/spec/S03-operators/comparison.t
mikehh supposed to be compatible with kcachegrind 10:44
10:53 Whiteknight joined
Whiteknight good morning #parot 10:54
or #parrot
jonathan mikehh: Yeah, I belive so - didn't work out how to run that yet, but will play with it at some point. 10:57
10:58 bacek joined 11:27 quek joined 11:43 masak joined
bacek O hai 11:46
Whiteknight morning bacek 11:49
bacek Whiteknight: welcome to the future :) 11:50
Whiteknight welcome to the past
szbalint :)
what a wonderful afternoon
Whiteknight szbalint: did you ever get your coretest times down? 11:51
szbalint yep 11:52
Test::Harness was outdated 11:53
that was the cause
bacek Whiteknight: can you fix NEWS please? 11:54
szbalint It went from 3 minutes down to 38s.
jrtayloriv Wow -- looks like we insomniacs have synchronized ourselves.
Morning!
purl Mornings are great. Every time you experience morning, you're not dead yet!
dalek rrot: r41106 | whiteknight++ | trunk/src/pmc/coroutine.pmc:
[pmc] a few simple cleanups and refactors of the coroutine PMC. Removed VTABLE_mark since it was just a redirect to SUPER.
jrtayloriv Whiteknight, I just sent a message to the mailing list regarding the SVN problems -- seems like mod_dav_svn causes this problem for a lot of people. 12:05
dalek rrot: r41107 | bacek++ | branches/tt971_current_context_functions:
Create branch for adding 'current' Context functions as described in tt971
bacek seen chromatic
purl chromatic was last seen on #parrot 1 hours, 52 minutes and 40 seconds ago, saying: After sleep, anyhow.
Whiteknight okay, awesome 12:08
bacek Whiteknight: You broke something badly? 12:09
Whiteknight did I? 12:10
nothing seems broke to me
bacek: how is the Context ATTR work going?
bacek Whiteknight: you did ask it yesterday :) 12:11
Whiteknight did I?
Whiteknight can't remember, very busy day yesterday
bacek I switched to fixed-allocator for Parrot_Context after our chat :)
Whiteknight but does Context use ATTRs? 12:14
12:15 kid51 joined
bacek Whiteknight: no. Because of registers. 12:17
Whiteknight ok 12:21
12:28 JimmyZ joined
kid51 jrtayloriv: Your post on list re SVN is interesting. To me it appears consistent with hypothesis that this was related to our lapse of certification. 12:30
nopaste "NotFound" at 213.96.228.50 pasted "Load bytecode and dynops in HLL 'parrot' context, TT #150" (54 lines) at nopaste.snit.ch/17867
NotFound Someone thinks that fix might give problems? It build and pass tests of parrot, rakudo and partcl 12:31
jrtayloriv kid51, Dozens of sites besides the one I quoted also pointed to DAV 12:34
kid51 Well, today is holiday in US. Hopefully the sysadmins will take a look at that tomorrow. 12:35
jrtayloriv Good deal.
kid51 spends his holiday installing Catalyst
dalek rrot: r41108 | whiteknight++ | trunk/src/pmc (7 files):
[pmc] lots of misc cleanups for some PMC types that have been affected by recent branch merges. Convert ParrotRunningThread to use auto_attrs
12:36
kid51 What does "Use the fingerprint to validate the certificate manually!" mean I should do? 12:37
NotFound kid51: you can look at the fingerprint using "Page info" on a browser in www.parrot.org/ for example 12:38
dalek rrot: r41109 | whiteknight++ | trunk/src/pmc/parrotrunningthread.pmc:
[pmc] small additional touchup to parrotrunningthread.pmc
12:39
kid51 NotFound: that worked; thanks. 12:40
NotFound The certficate is used for *.parrot.org, so is the same for web, trac and https svn 12:47
Whiteknight fperrad: ping 13:01
fperrad Whiteknight, pong 13:02
Whiteknight fperrad: Is TT #472 still a problem?
jrtayloriv Whiteknight, Is anyone planning to do anything with the src/gc/alloc_memory.c::mem__internal_foo() functions? They seem to do exactly the same thing as their non-"internal" counterparts, and aren't called from anywhere. 13:04
Whiteknight jrtayloriv: they should be getting called from macros like mem_internal_foo() 13:05
jrtayloriv Whiteknight, Oh -- I see now. Thanks.
NotFound BTW we must start thinking about not dying on out-of-memory errors 13:06
fperrad Whiteknight, yes
Whiteknight fperrad: okay, I'll see if I can take a look at it 13:07
13:10 quek left 13:12 TiMBuS joined 13:22 Zak joined
dalek rrot: r41110 | whiteknight++ | trunk (4 files):
[ctx] move the context-related functions from src/gc/alloc_register.c to src/call/context.c
13:26
rrot: r41111 | whiteknight++ | trunk (6 files):
[ctx] move most of the guts from register.h to context.h. Fix POD errors in alloc_register.c and context.c
13:49
13:50 PacoLinux joined 13:51 payload joined 13:56 Zak joined
dalek a: 097b717 | fperrad++ | t/pmc/ (15 files):
refactor tests with isa_ok
13:57
a: 6eeb8d9 | fperrad++ | t/pmc/t (2 files):
refactor PIR tests with throws_like
rrot: r41112 | whiteknight++ | trunk (7 files):
[ctx] delete the unneeded files register.h and alloc_register.c.
14:03
14:29 MoC joined
dalek rrot: r41113 | whiteknight++ | trunk/config/gen/makefiles/root.in:
[makefile] fix a dependency error introduced by the context stuff
14:31
lscript: 9f6b142 | fperrad++ | t/pmc/ (10 files):
refactor PIR tests with isa_ok
14:37
jrtayloriv Whiteknight, Is there any reason for me to not go around and remove all of the commented out GMS write_barrier checks that are scattered all over the place? None of it works anyway, and from what everyone seems to be saying, noone is going to try to make it work (instead looking towards rewriting all of it later).
I can just leave a comment in the GC_Subsystem struct that show where the write_barrier hooks should go *if* someone decides to use them later. 14:38
14:46 kid51 joined
nopaste "kid51" at 68.237.13.98 pasted "t/compilers/tge/grammar.t failure at r41109 on Darwin/PPC" (26 lines) at nopaste.snit.ch/17870 14:48
kid51 Hmm, when I ran 'make test', that showed up as a FAIL rather than a TODO. 14:51
14:52 kjeldahl joined 14:53 Psyche^ joined
Whiteknight jrtayloriv: i say kill the 15:03
them
jrtayloriv Whiteknight, OK -- that's what bacek thought too. I don't see any use for them, other than to add clutter. Thanks. 15:04
Whiteknight jrtayloriv: but be careful that your branch doesn't do too much! better to start a separate branch to do things unrelated to your current work
or better yet, do simple stuff like that in trunk
jrtayloriv Whiteknight, Other than adding the GC_Subsytem struct, and getting rid of the preprocessor directives, most of what I've done a lot of renaming things, and moving them to more appropriate places. I'm just trying to make the GC code more readable at this point. I won't be making very many more structural/functional changes. 15:08
Whiteknight okay, that's good
and readability is a very good thing
jrtayloriv Whiteknight, The write barrier stuff won't conflict with any of the work that's been done since the branch was created. And after I'm done removing that, I'll be pretty close to ready to merge. 15:09
Unless, someone else wants to do more with it.
Whiteknight tomorrow at #ps we'll ask allison to review it for sanity 15:11
I'll take a look over it a little later on to make sure everything makes sense first
dalek TT #989 created by jkeenan++: t/compilers/tge/grammar.t: FAIL under 'make test', but passes with ...
jrtayloriv OK -- I'll have bacek help me go over it later today as well, whenever he's back on. He expressed interest in helping me find any problems with what I've done. 15:12
dalek rrot: r41114 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] make sure to pop_eh for every time we push_eh
15:23
Whiteknight so long as you get the thumbs-up from allison, we could talk about merging right after 1.6.0
15:25 theory joined
jrtayloriv Whiteknight, Sounds good. I'll finish up with the changes today, and then be done. 15:27
dalek rrot: r41115 | NotFound++ | trunk/src (2 files):
[core] load bytecode and dynops in HLL 'parrot' conext, TT #150
15:37
rrot: r41116 | jrtayloriv++ | branches/gc-refactor/src (12 files):
Removed unused GMS code from various places.
15:51
15:57 cotto joined
jrtayloriv purl: GMS is "Good Morning Sunshine" 16:00
purl ...but gms is Growling Mad Scientist or Generational Mark and Sweep...
Whiteknight purl GMS is also Good Morning Sunshine 16:05
purl okay, Whiteknight.
Whiteknight purl GMS is also Goddamn Motherhonking Shit 16:06
purl okay, Whiteknight.
cotto hi 16:09
dalek TT #990 created by whiteknight++: Cannot lookup ISO-8859 NameSpace using Unicode 16:11
Whiteknight hello cotto 16:12
16:15 darbelo joined
NotFound Whiteknight: are you writing that file with mixed encodings? 16:18
dalek rrot: r41117 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] add reference to TT #990 to the test that is giving me grief
16:19
Whiteknight NotFound: what do you mean?
I don't know a lot about encodings, otherwise I would fix it myself 16:20
NotFound Whiteknight: the iso-8859-1 prefix assumes that the characters are already encoding that way. Same for the unicode.
Whiteknight NotFound: okay, I'm not even sure what that means. 16:21
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41116 - Ubuntu 9.04 amd64 (gcc) 16:22
NotFound I'm sure that doesn't make sense at all, but imcc works that way.
Whiteknight NotFound: okay, so here's the question: is this a reasonable test or should it be deleted? 16:23
NotFound Whiteknight: let me think about a reasonable way...
16:37 chromatic joined
nopaste "NotFound" at 213.96.228.50 pasted "patch: namespace.t mixing charsets" (111 lines) at nopaste.snit.ch/17871 16:51
NotFound Whiteknight: that way is reasonable
17:03 payload joined
Whiteknight NotFound: thanks, I was hoping it would be easier but this isn't a problem either 17:11
jrtayloriv In what timezone is #parrotsketch at 6:30? 17:12
moritz UTC
ps?
purl ps is probably postscript or process status or see "parrotsketch" or non-vector?! or annoying.
jrtayloriv moritz, thanks 17:13
moritz parrotsketch?
purl i heard parrotsketch was a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
jrtayloriv Aah -- parrot.org just says 6:30PM -- no time zone.
moritz on which page?
oh, in the calendar
I don't think I can fix that
17:14 einstein joined
jrtayloriv moritz, no problem -- I just noticed it in the text below the calender -- it says "all events listed shown in GMT time zone" 17:14
Whiteknight it's actually UTC, not GMT 17:15
when daylight savings time rolls around, about half the people don't make it
NotFound It explicitly says is GMT for me, but maybe that text is hidden depending on browser and font size
dalek rrot: r41118 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] Apply a patch from NotFound++ to make the unicode stuff work properly
moritz Whiteknight: GMT doesn't imply DST
jrtayloriv obviously knows nothing about anything but US time zones ... thought they were the same thing :)
Whiteknight I had heard that they weren't the same. I may be wrong
moritz the difference between GMT and UTC is neglectible (a few seconds, or parts of seconds even)
NotFound So youn need to find another excuse for arriving late to #ps ;-) 17:17
moritz date --utc is rather useful.
NotFound The google calendar page shows it in your local zone... provided you setup one in your accont. 17:18
Whiteknight timezones are such a stupid idea 17:19
NotFound I'm making a proposal to make the earth squared
I just need to get funds to buy four elefants and a a turtle... 17:20
17:21 jbert joined
darbelo NotFound: You are WRONG! The turtles are artifacts of the campaign to discredit the mighty TIME CUBE. 17:23
NotFound They are, but expensive artifacts.
So I need the funds anyway 17:24
darbelo could accept a squared earth as a step towards cubed time. 17:28
NotFound And a scorched planet?
darbelo As long as it is on the other side of the cube, I'm fine with it :) 17:29
17:37 rhr joined
dalek kudo: e2eaf33 | pmichaud++ | src/builtins/globals.pir:
Remove contextual fallback to %*ENV (as per r28193).
17:38
rrot: r41119 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert another NameSpace test to PIR
17:39
dukeleto t/pmc/threads.t seems to hang on darwin in a full test run, but works when run individually. teh sux 17:41
cotto which make target asplodes?
dukeleto my test suite has been hung on t/pmc/threads.t for like 9 hours now 17:42
cotto: i get the hang with "make fulltest" and using multiple test jobs, i am looking at what happens with a plain "make test" now 17:43
cotto you could also try make fulltest without multiple jobs
dukeleto cotto: will try that as well 17:44
cotto then just look for whichever way the most recent test run was started
it's usually just an issue of figuring out which flags were passed to parrot
dukeleto "make test" does not hang on threads on darwin. i am checking a "make fulltest" with no parrallelization now 17:45
17:46 mokurai joined
dukeleto cotto: it seems to work fine without -j 17:46
dalek kudo: 8d5a40a | moritz++ | t/spectest.data:
add contextual.t to spectest.data, pmichaud++
17:50
kudo: c1d96ce | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 435 files, 14255 pass, 0 fail
rrot: r41120 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert one more test to PIR
17:53
chromatic Wow, that's 850 new passing Rakudo tests since yesterday.
szbalint wow 17:54
szbalint is impressed
moritz I think a good deal was colomon++ adding tests like mad
Whiteknight I need an example Unicode string for a test
moritz mostly for trigonometric functions
Whiteknight: I like €uros ;-)
Whiteknight moritz: what's the ASCII version of that? 17:55
\\x{?}uros
moritz € is not in ASCII.
szbalint € is € :)
Whiteknight right, what's the number for that glyph?
Whiteknight doesn't know all the terminology, be patient 17:56
moritz U+20AC EURO SIGN
it's called the "codepoint" number
Whiteknight so \\x{20AC}uros
moritz right
Whiteknight w00t
NotFound Whiteknight: I'm not sure, but I think imcc result is more predictable with \\u20AC 17:57
Whiteknight ok 17:58
Whiteknight adds another item to the list of reasons to kill IMCC in a fire
moritz there are codepoints that don't fit into 4 hex digits 18:00
darbelo hands Whiteknight some matches.
NotFound moritz: you have \\U for that
moritz \\Uhm.
dukeleto gives Whiteknight a fully-charged flamethrower with a few extra barrels of napalm 18:01
chromatic We should have a pirc sprint soon. 18:02
NotFound If we don't make cristal clean the pir pdd about that things, switching to pirc or whatever might fail to solve the problems. 18:03
dukeleto chromatic: i am all about that
dalek TT #887 closed by dukeleto++: [patch]removed unused macro args 18:07
Whiteknight chromatic: you should be happy, I've added about 40 tests for NameSpaces
dalek rrot: r41121 | dukeleto++ | trunk (2 files):
[TT #887] Remove unused macro args in CHARSET_VALIDATE, jimmy++
rrot: r41122 | whiteknight++ | trunk/t/pmc (2 files):
[t] add several tests for Namespaces with unicode names. We now officially have more PIR tests for NameSpace PMC then we ever had written in Perl5
Whiteknight and the majority of them are written in PIR now
NotFound I've added some to FPA, following coverity report 18:08
Whiteknight Maybe somebody can riddle me this: What is the difference between Array and ResizablePMCArray?
moritz isn't Array justa base class? 18:09
dukeleto Whiteknight: Array cannot change it's size?
Whiteknight or better phrased, why do we have both?
NotFound Array is a role, or something
Whiteknight dukeleto: so then what is the difference between FixedPMCArray and Array?
NoFound: we have tests for Array where it is directly instantiated
NotFound Whiteknight: "FixedPMC" ;)
moritz so did anybody find any parrot bugs while adding more tests? 18:10
Whiteknight I can understand if it's a base class for other types, but then it shouldn't be used directly
NotFound Ah, yes, Array != array
18:13 nillo joined
NotFound Looks like Array is a tiny wrapper for src/list.c 18:14
dukeleto moritz: yeps. one example; trac.parrot.org/parrot/ticket/943
pmichaud (codepoints) I don't think the issue is an irc issue, but a PIR one 18:15
s/irc/imcc/
18:16 iblechbot joined
pmichaud it's very difficult for unicode:"Ā«" and iso-8859-1:"Ā«" to both work if we don't have a standard encoding for the PIR source file itself 18:16
NotFound BTW both list and hash have a container member that points to the pmc that contains it, and that mitgh not be updated in morph and similar operations.
einstein I have questions about the _metadata filed in the pmc struct, which can be set by addprop,setprop,getprop,delprop vtable functions 18:17
NotFound pmichaud: we talked about that several times, but things haven't improved yet.
pmichaud NotFound: yes; I'm just pointing out it's a PIR specification issue and not an imcc one. 18:18
NotFound Yeah, we can't fix imcc without a consistent plan in mind.
cotto anybody interested, I'd appreciate proofreading of the docs in this next commit 18:19
einstein why are these functions and ops not called addmetadata,getmetadata,*metadata*,etc, itļæ½s a little confising to call them get-/setprop
chromatic First we have to get pirc to the point where it compiles and we can start running tests.
pmichaud einstein: I think the opcodes were designed to match Perl 6's idea of "properties" on objects (more) 18:20
einstein: at this point I'd say it makes more sense to change the _metadata field to be _props :)
dalek rrot: r41123 | cotto++ | trunk/tools/dev/pprof2cg.pl:
[pprof2cg] add documentation to pprof2cg
einstein but it
dukeleto chromatic: you are talking about the pirc that bacek has a github repo for, or no? 18:21
einstein but it's something different from variable members of a class
pmichaud I don't understand "variable members of a class"
(in this context)
if you mean that properties are not attributes... you're correct. 18:22
einstein yes
NotFound That's because they are called metadata instead of data ;)
pmichaud attributes are defined in a class, such that all instances of the class have slots for those attributes
properties are per-object; any given object can have an entirely different set of properties from another object (even if the two objects are of the same type)
moritz (which you can achieve with mixins in some programming languages, including Perl 6) 18:23
japhb I'm going to have to change the case of a filename in the parrot repo ... anything SVN-related I should be aware of here? Are Windows people going to have to nuke their checkouts?
pmichaud einstein: if your complaint is generally that opcode names don't match the underlying structure names -- that's a common problem throughout parrot :) 18:24
NotFound japhb: What filename? JSON?
einstein ok if you see it in that way then it better called property, i did saw it in a way of adding metadata to any kind object, something like metadata fields in java
japhb NotFound, yeah. JSON.pir to be exact.
einstein so if you clone a object these properties do not get copied
NotFound japhb: I think there is a ticket to refactor that as json/reader and json/writer or something... 18:25
pmichaud as rakudo is currently using them, cloning an object does not clone its properties, yes.
dukeleto japhb: use svn copy ?
japhb dukeleto, to change the case of the file?
dukeleto japhb: that way you preserve file history
japhb dukeleto, I'm not worried about that part. It's the Windows filesystem dain bramage I'm worried about. And whether SVN will be smart enough to force the case change down to people's checkouts 18:26
18:26 sri joined
dukeleto japhb: you will make some people cry if you just rename a file and don't "svn copy" it, because it will lose all the history associated with it. 18:26
18:27 sri joined
einstein ok thanks for the information, then i know for which thing it is currently used, maybe it's better to rename the _metadata field to _properties and put some comment it is used for p6 as properties 18:27
japhb NotFound, It's annoying in current situation. There is a library/JSON.pir -- that's the writer. There's a compilers/json/JSON.pir -- that's the reader. And a poorly named library/Config/JSON.pir, which is a shell around the other two.
dukeleto japhb: not sure if svn is case-senstive . this is why you don't track content with files. you track content :)
NotFound japhb: if we change location to a saner scheme, we can avoid the renaming problem 18:28
japhb dukeleto, sure, but again, I'm not worried about the history (I will svn copy it, sure, that's not the problem)
dukeleto, preaching to the choir, son.
chromatic dukeleto, that's the one.
dukeleto japhb: gotcha. sorry!
japhb dukeleto, np!
18:29 HG` joined
japhb NotFound, OK, and I can agree with you for the library/ case. But the compilers/ case seems more thorny, since 'json' is the correct name for that directory ... and we can't rename the file without renaming the directory and the language, because of the magic. 18:29
NotFound Uhhh... right 18:30
japhb Because once again, Bill Gates Was Wrong.
Not that I'm bitter. 18:31
dalek rrot: r41124 | dukeleto++ | trunk/src/pmc/env.pmc:
[cag] Fix link to pdd17 in src/pmc/env.pmc
18:31 joeri joined
dukeleto cotto: "interst of simplicity" 18:31
NotFound I suugest a radical approach: rename also the compiler, letting the old in place until the end of deprecation cycle.
cotto intersting
purl intersting is that the strategy for seperating build time from installed config works perfect for the utils, this includes either parrot_config.o or install_config.o
cotto forget intersting 18:32
purl cotto: I forgot intersting
japhb NotFound, that's radical all right.
NotFound Let's radical!
japhb Tene.'ping'() 18:33
Are there any limitations to the name of an HLL, other than alphabetics have to be lowercase? Any other limitations of length or characters allowed? 18:34
Tene japhb: pong
japhb: no, not as far as I know
dalek rrot: r41125 | cotto++ | trunk/tools/dev/pprof2cg.pl:
[pprof2cg] various spelling fixes
japhb Tene, OK, thank you.
Tene japhb: you'd likely run into problems if you use a / or \\ in it
japhb heh
Damn, no language named 'c:\\/' 18:35
Tene ><
Tene larts japhb
japhb heh
NotFound Tene: Have you looked at TT #150 ?
Tene NotFound: I reported it
japhb OK, in all seriousness, anyone object to 'data_json'?
dukeleto japhb: for a language name? 18:36
japhb dukeleto, for a language name that is *not* 'json'. :-)
NotFound Tene: at the last comments, I mean
Tene i have now :) 18:37
NotFound: I'll try to test by reverting the workaround in cardinal and rakudo.
dalek rrot: r41126 | cotto++ | trunk/tools/dev/pprof2cg.pl:
[pprof2cg] one last (?) grammar fix
18:38
kudo: 6b22b9d | moritz++ | Configure.pl:
when --gen-parrot-prefix is passed along, we should also search in that path for parrot_config
kudo: 446d49f | moritz++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
NotFound Tene: the problem is that I haven't figured how to write a parrot regression test for it
japhb OK, I'm taking silence as assent. 18:39
dukeleto japhb: i can't think of anything better 18:41
japhb dukeleto, nod
dukeleto should a ticket like trac.parrot.org/parrot/ticket/886 be left open or closed? it is kind of ambiguous and seems like the kind of ticket that will just sit open forever 18:42
japhb And come to think of it, it makes a useful prefix for all data-only (non-executable) languages. 'data_yaml', 'data_xml', etc. Now we just need to do 'data_md3' ....
Tene NotFound: are there tests for loadlib and dynpmc? 18:43
NotFound: you should be able to test it by loading a library that contains a dynpmc at runtime from a different HLL and then inspecting the appropriate namespace.
dukeleto Tene: i would like to see some for loadlib. is it supposed to fail silently? 18:44
Tene dukeleto: That's irritated me before. I think that that was the originally specified behavior, but I don't know whether anyone else still wants it.
dukeleto Tene: i don't want it. it 'causes errors at a distance 18:45
Tene dukeleto: it *returns* something different on failure.
So if you always check your return values, you're fine...
but I'd love to see it throw an exception.
dukeleto Tene: you can check the return value of loadlib?
Tene $P0 = loadlib 'libfoo'
NotFound Tene: will be a problem to build an HLL just for that test 18:47
Tene NotFound: um, no it won't... 18:48
.HLL 'foo'
done
or do you mean dynpmcs?
I'd think you could just reuse whatever the dynpmc tests use.
dukeleto Tene: what about .loadlib ?
Tene dukeleto: there's no way to check for failure of .loadlib
18:48 nillo joined
NotFound That's is far away from my know-how on writing tests 18:49
Tene I wouldn't mind seeing it deprecated.
dukeleto Tene: *that* is what pisses me off
Tene and just put it in a :immediate .sub if you need it to happen at that time.
dukeleto Tene: so .loadlib is immediate while loadlib happens at runtime ?
Tene dukeleto: yes.
dukeleto Tene: you need to use .loadlib for dynops, right ? 18:50
Tene I have no idea at all.
It wouldn't surprise me.
You could still do it in a :immediate sub, though, I'd suspect.
dukeleto Tene: that is where I ran into the issue. some dynops were not getting installed, and .loadlib didn't tell me it couldn't find them. teh sux
Tene dukeleto: .loadlib *definitely* should fail loudly.
dukeleto Tene: why can't .loadlib throw an exception ?
Tene: it currently does not 18:51
dalek rrot: r41127 | japhb++ | trunk/compilers/nqp/src/builtins.pir:
[compilers/nqp] remove unneeded debug output from eval()
Tene dukeleto: It certainly *could*.
NotFound There is a problem with catching exceptions thrown inside imcc
Tene I personally wouldn't feel comfortable adding that without checking with allison or someone else to put blame on. 18:52
dukeleto Tene: +1 to .loadlib throwing an exception. i will try to add some tests relating to this issue, then perhaps an email to the list about changing the behavior
Tene dukeleto: yes, that would be great.
dukeleto Tene: yes, I will add tests to document the current behavior, then put it up to the list to decide if the current behavior sucks or not
we have the shiny new throws_ok() test_more.pir function to play with 18:53
s/throws_ok/throws_like/
NotFound Current behavioir sucks, but I don't think it can be cleaned until all packfile things are handled via pmc.
moritz ack -w loadlib # should that a whole lot of files don't check the return value 18:54
dukeleto NotFound: care to explain that a bit more to a mere mortal ?
moritz: just about no one checks the return value now
moritz t/pmc/nci.t 18:55
does
as well as some t/dynpmc/*.t
NotFound dukeleto: if you throw an exception while imcc is compiling or executing fixups, the packfile structures may stay in an inconsistent state.
Tene moritz: and it's impossible to test the return value of .loadlib
dukeleto NotFound: that makes a lot more sense to me, thanks! 18:56
Whiteknight dukeleto: I'm having some trouble with throws_like 18:57
moritz anyway, it wouldn't hurt to get in a deprecation notice now
dukeleto Whiteknight: let me at it. what's up?
Whiteknight match failed: target 'destination namespace not specified' does not match pattern 'destination namespace not specified'
...and I can't think of a better match
dukeleto Whiteknight: whitespace in a PGE pattern is ignored. you need to backslash it
moritz is that a regex?
or simply add an :s at the start
':s destination namespace not specified'
dukeleto Whiteknight: see the tests for test_more.pir in t/library/test_more.t 18:58
moritz: now you tell me!
moritz dukeleto: you were free to read S05 all the time ;-) *SCNR*
dukeleto Whiteknight: yes, please go with :s instead of backslashitis. feel free to change the tests to use :s instead of backslashitis :)
dalek rrot: r41128 | japhb++ | trunk/compilers/data_json (2 files):
[compilers/data_json] Straight copy of compilers/JSON; probably broken right now
Whiteknight ah, that fixes it 18:59
dukeleto moritz: freedom didn't have much to do with it ;)
Whiteknight I was using the slashes, but I had double quotes not single ones
so I was double-breaking it
dukeleto Whiteknight: yeah, backslashitis sucks
does anybody a favorite Perl 5 testing function that they would like to see in test_more.pir ? Preferably useful ones :) 19:02
dalek rrot: r41129 | cotto++ | trunk (3 files):
[profiling] add news item, update imcc options and helpful output to profiling exit message
Whiteknight the pure-PIR version runs 70 tests in .3s. the Perl version runs 38 tests in 1.5s 19:04
brb 19:05
dalek rrot: r41130 | japhb++ | trunk/MANIFEST:
Update MANIFEST for data_json and a couple stragglers
19:06
rrot: r41131 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert 4 more tests using throws_like. Help from dukeleto++ and moritz++.
cotto I thought Mondays were supposed to be slow. 19:08
dukeleto Whiteknight++ # glad to see throws_like getting taken for a spin
19:08 MoC` joined 19:11 Whiteknight joined
dukeleto chromatic: where is the source to your Project Euler #4 ? i want to put it in euler_bench :) 19:11
einstein when creating a new instance from a "core" pmc a "core" pmc object is created, but when a subclass is and then create a new object i get a object (object.pmc) 19:15
why do i not always get i object such a i get when i have subclassed i core pmc class 19:16
19:17 kyle_l5l joined
dalek TT #990 closed by whiteknight++: Cannot lookup ISO-8859 NameSpace using Unicode 19:17
NotFound einstein: because a class instance is not the same as a pmc instance 19:20
einstein I mean when i for example create a new exception then i get a object which hold the c exception.pmc object, but when i subclass exception and then create a object i get a c object.pmc which has exception class 19:23
19:23 quek joined
Coke msg cotto I opened 952 to track progress on the branch, (mainly because it had no original ticket for the work going on in the branch.) 19:24
purl Message for cotto stored.
Whiteknight einstein: that sounds right
19:24 pdcawley_ joined
einstein when i would do getattribute $P5,eh,'handled_types' where eh = new ['ExceptionHandler'] then i get error, but ... 19:24
when i would do when i would do getattribute $P5,eh,'handled_types' where eh = new (class subclassed from exceptionhandler) then i get no error 19:25
Tene einstein: there are currently problems with subclassing PMCs from PIR, exactly what you're describing. 19:27
This is something that is planned to be fixed.
einstein is there a ticket for this?
19:27 pdcawley_ joined
Tene For exceptions specifically, subclasses of Exception and ExceptionHandler don't work. 19:27
I believe so.
NotFound throw is explicitly filtering anything but 'Exception' 19:28
einstein I used this example because there was only 1 sub test failing when i removed the functionality of attributedefs from the vtable struct 19:29
which was one in the exception handling test cases
It was just a test of my to see how much would be failing if I removed this thing 19:30
NotFound einstein: Removing what? 19:31
purl Removing is probably backwards compatible
einstein I tested what would fail i remove the attributedefs field from the vtable struct, and found out only 1 subtest began to fail 19:32
Tene: is there a ticket describing this problem? 19:35
NotFound einstein: no wonder, there are problems with that feature so almost nobody uses it.
Tene einstein: I believe that there is, but I don't know.
cotto Coke, gotcha 19:36
darbelo Hm. Is the next_for_GC pointer in PMCs actually useful for something?
szbalint duk3leto: perl6-examples
or do you mean PIR? 19:37
einstein it is used by the gc system to implement somekind of prioritization mechanism in the gc
19:40 dukeleto joined
Coke Whiteknight: on #990 - /how/ did he fix your issue? 19:42
msg Whiteknight on #990 - /how/ did he fix your issue?
purl Message for whiteknight stored.
NotFound Coke: r41118 19:44
19:46 allison joined
Tene hi allison 19:46
allison hi Tene 19:47
19:47 particle joined
cotto wb allison 19:48
we've been busy while you've been gone
Tene allison: is there any reason that .loadlib fails silently? 19:49
allison cotto: excellent!
purl EGG-see-lent!
allison Tene: IIRC, it's because it searches in a large number of places and there wasn't an obvious point in the code to say "we really found nothing" 19:50
Tene: that may no longer be true
Tene allison: so would there be any objection to making it throw an exception? 19:51
allison none at all
Tene dukeleto: allison says that .loadlib can fail 19:52
NotFound I have one: it may give to lots of diifficult to diagnose test reports
dukeleto Tene: sweet 19:53
allison which means probably after 2.0 19:54
dalek TT #591 closed by cotto++: pir profiling tools 19:55
19:58 rhr joined
dalek rrot: r41132 | japhb++ | trunk/config/gen/makefiles/data_json.in:
[data_json] svn copy makefile skeleton: json.in -> data_json.in
20:02
Tene allison: someone here was asking about the reasons that Parrot uses SVN and what would be required to move to git.
20:03 iblechbot joined, beta joined
allison We use git because it's stable, reliable, and easy for new programmers to pick up quickly. 20:03
Tene: We won't be making any more infrastructure changes until after 3.6, but might consider git then. 20:04
20:04 MoC joined
allison Tene: although, there are quite a few other options coming along quite well, so it's possible that one of them may over take git by the time we're ready to consider changes. 20:04
NotFound We can even write one with parrot X-) 20:05
allison Tene: My particular concern about git is in the "easy for new programmers" department.
Tene: but, it could make a good bit of progress there in the next couple of years
NotFound: also possible
purl rumour has it also possible is creating an "Error" type, which could also contain an error message (explaining the reason for the Null return value), and allowing easy promotion to an actual exception in certain contexts or pragmas
dukeleto git is a framework for building distributed version control systems. the porcelain keeps getting better 20:06
allison dukeleto: aye, I think it has great potential
Tene purl: msg bacek I think it was you that was asking about git... if so, read the irc logs for this time. 20:07
purl Message for bacek stored.
allison s/git/svn/ in that first sentence
Tene Of course. :)
dukeleto allison: ah, you were confusing me a bit :)
20:07 kid51 joined
dukeleto allison: branch merges are currently very painful because svn handles them so poorly, this is the price we pay for being easy for newcomers 20:08
allison dukeleto: the leading cause of painful branch merges is programmer inexperience, which is worse with git 20:09
dukeleto allison: stable and reliable reasons are a bit subjective too. one could argue that git is a lot more stable and reliable, but that dead horse has already been kicked enough
moritz well, it seems that current average parrot programmer has more difficulites with branch merges in svn than in git, inexperience or not 20:10
allison dukeleto: I've never had trouble with my branches, though I did have a painful experience with a new contributor's branch
dukeleto allison: there has been a lot of weird technical issues with the svn repo recently. people couldn't properly merge for unknown reasons
NotFound I don't have any problem with branches in git... because I've never used git other than for clone and diff
allison lately I've been moving more toward Patrick's branching strategy 20:11
he uses a series of fresh branches from trunk
instead of updating the branch from trunk
it's much cleaner
and encourages code review every time you rebranch 20:12
dukeleto in git, i make a topic branch from trunk for each unit of code that i want to commit. if you don't continually merge trunk into the topic branch, it makes later merging much easier. 20:13
Whiteknight what we really need right now is a set of good guidelines and best practices for branching
kid51 feels that merging from trunk into branch is risky regardless of VCS 20:14
Whiteknight keep them focused, short-lived, etc
allison Whiteknight: feel free to add to docs/project/branching_guide.pod 20:15
NotFound I do a lot of merges from trunk during the auto_attrs branch without big problems, and it was the first branch I ever made.
kid51 remembers the long ago days of 2007, when he was practically the only person using branches! 20:16
NotFound And the few problems I had were my fault.
Whiteknight besides the issues over the weekend (which I think jrtayloriv has diagnosed), I haven't had any issues with branching 20:18
kid51 ... and jrtayloriv's diagnosis is consistent with my hunch that this was connected to our cert-expiration problems. 20:20
jrtayloriv And it should be noted that, as Allison mentioned, the branch that was troublesome was from a newcomer (namely, myself) -- there are likely several things I could have done to make it less difficult. It was only exacerbated by the problems with the server.
Whiteknight jrtayloriv: which branch was that? 20:21
dukeleto gc-refactor ?
jrtayloriv kill_parrot_cont was the branch that was causing so many issues the other night.
Whiteknight allison: there have been a LOT of changes to contexts, continuations, etc recently. is the pcc_arg_unify branch going to be able to surive that? 20:22
or better question, what can we laypeople do to help nudge that branch along?
dalek rrot: r41133 | dukeleto++ | trunk (3 files):
[t] Finish translating t/pmc/integer.t to PIR and delete old file
kid51 My feeling is that lately we've had a lot of branches active -- which, cet. par., is a good thing -- but all touching the same files. So that with kill_parrot_conf, even once we overcame the repository problems, we still had 21 files in conflict. 20:23
allison Whiteknight: I'll be making another fresh branch from trunk and merging the changes in
Whiteknight allison: okay, that's probably a good idea. Like I said, lots of changes since that branch was created
kid51 Whiteknight: I just posted in TT requesting a description of that branch's objectives.
allison Whiteknight: but, do need to get the last ~500 tests passing first
Whiteknight allison: Okay, I would love to help debugging. Any pointers about where to start, or do I just dive in? 20:24
allison kid51: yeah, that's pretty much unavoidable
Whiteknight: just take a look at failing tests
Whiteknight Okay, I'll dive in. Probably later tonight 20:25
Whiteknight has to take off. Later
allison Whiteknight: check with me before committing anything, we've had a few people find "surface" fixes that weren't actually the right fix (they got the test passing, but caused more problems than they solved) 20:26
dalek rrot: r41134 | dukeleto++ | trunk/t/pmc/integer.t:
[cage] Removed unused/commented out code from t/pmc/integer.t
Whiteknight allison: will do. Post to a ticket or email you directly?
allison It's a branch, so not ticket-worthy.
email or IRC works
Whiteknight okay. Noted. 20:27
see you later
allison Whiteknight: later
NotFound Have you looked at TT #150? Maybe that issue is also creating pcc problems. 20:28
kid51 allison: What you describe as pmichaud's approach to branching -- which I think is wise for large branches -- runs counter to the instruction given by docs/project/branching_guide.pod starting at line 38 20:30
NotFound allison: last line was for you
allison NotFound: looking now 20:31
kid51 Speaking of branches ... 20:32
allison kid51: yes, I wrote that a while ago, for the strategy I was using at the time
kid51: it's worth adding a note "for large changes or long-lived branches"...
kid51 Is there anyone with a non-symlinkable system who can do a checkout of the tt509_install_files branch, do perl Configure.pl --prefix=/some/tempdir/, make and make install ... and then comment in trac.parrot.org/parrot/ticket/509 ? Thanks. 20:33
NotFound kid51: system or filesystem? 20:34
kid51 I think either or both. There were comments in that ticket about both systems (Win32) and filesystems.
All my systems are symlinkable, so I can't test it properly myself. 20:35
I applied wayland's most recent patch in branch in the hope that we can resolve the ticket.
Don't claim to understand the issues completely myself.
NotFound The issue in some message I've seen was that some people assume that if the system has symbolic linking capabilities you always build/install in filesystems that have them. 20:37
20:38 davidfetter joined, quek left
dalek rrot: r41135 | jkeenan++ | trunk/docs/project/branching_guide.pod:
Qualify advice about synchronizing branch with more recent changes in trunk.
20:40
cotto kid51, revision number isn't required for svn >= 1.5.x 20:42
NotFound cotto: on the client, server, or both?
kid51 cotto: what are you referring to? the POD?
cotto as long as the branch was created with a svn client >= 1.5.x
both, but the server iirc has been upgraded 20:43
kid51, yes
kid51 cotto, you're probably correct -- but can we assume that everyone is using a recent SVN client? 20:44
cotto no. I'd suggest a note that users of recent svn clients don't need to record the revision number. 20:45
20:47 bobke joined
dalek rrot: r41136 | mikehh++ | trunk/MANIFEST:
run tools/dev/mk_manifest_and_skip.pl
20:47
kid51 cotto: Feel free to add it. (Today was first day I was aware of that POD.) gotta go. 20:48
allison cotto: Even users of ancient svn clients can fetch the initial revision number of the branch from Trac. Though, I record the number anyway for quick reference. 20:54
dalek rrot: r41137 | japhb++ | trunk (10 files):
[data_json] Now with less horribly borken; frob makefile templates, svn properties, manifests, etc. to match
21:07
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41136 - Ubuntu 9.04 amd64 (g++) 21:12
21:19 jrtayloriv joined
dalek kudo: f01875f | moritz++ | tools/test_summary.pl:
[test_summary.pl] if we run a test, use the "plan" information gathered from its output
21:20
mikehh rakudo (446d49f) builds on parrot r41136 - make test / make spectest (up to r23204) PASS - Ubuntu 9.04 amd64 (g++) 21:27
dalek kudo: 01ae3fa | moritz++ | docs/release_guide.pod:
[docs] propose ThousandOaks as a release name, in recognition of their cool Perl 6 hackathon
21:32
mikehh partcl r697 builds on parrot r41136 - make test Segmentation faults - Ubuntu 9.04 amd64 (g++) 21:34
partcl - ran make test 6 times - different tests fail with segmentation faults - the only one that failed in every run t/cmd_parray.t also failed subtests (between 1 and 4 but different ones) 21:38
NotFound It doesn't fail for me 21:39
mikehh NotFound - how did you fix it - maybe I need to do a clean checkout
NotFound mikehh: I didn't do anything 21:40
Rebuilding now without --optimize 21:41
All test pass, no core 21:49
dalek ose: r100 | Austin++ | trunk/ (14 files):
Another refactoring checkpoint. Cross-nsp calls working now. Starting
mikehh cardinal - builds on parrot r41136 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (g++) 21:52
dalek rrot: r41138 | japhb++ | trunk (3 files):
[data_json] More pedantic .HLL handling; switch examples/json/* to use data_json (with minor cleanups)
21:54
mikehh decnum-dynpmcs r181 builds on parrot r41136 - make test PASS - Ubuntu 9.04 amd64 (g++) 21:55
22:01 bacek joined
jrtayloriv growls at svn and begins installing git-svn 22:07
22:10 tjc joined
mikehh NotFound: partcl - after a clean co I had problems building - did a make realclean then it built but still segfaults all over the place 22:11
NotFound Looks like an epidemy of memory chips failures
mikehh I think I am going to reboot - check some i386 stuff and then clean up everything and see what happens 22:12
darbelo mikehh: can you test a patch on i386? 22:13
mikehh darbelo: when I re-boot - hold on about 10 minutes 22:14
bbl
darbelo I can wait a lot more thatn that :)
22:16 joeri left 22:20 ruoso joined
jrtayloriv bacek, Do you have time now or later to review what I've done in gc-refactor branch, and see if there is anything you would do differently or add? 22:25
darbelo grabs his machete and walks into pmc_freeze.c 22:29
22:36 Andy joined 22:39 buildbot joined 22:42 jan joined 22:43 rg1 joined
bacek Good morning 22:46
purl And good moroning to you, bacek.
bacek jrtayloriv: yes, I'll review your branch later today.
jrtayloriv bacek, thank you
dalek rrot: r41139 | bacek++ | trunk/src/runcore/cores.c:
[cage] Initialise coredata->flags
22:52
rrot: r41140 | bacek++ | trunk/include/parrot/context.h:
[core] Manually inline REG macros for optimised builds
22:53 mikehh joined
mikehh back on i386 22:54
bacek jrtayloriv: can you sync branch with trunk? There is many changes related to latest merges of pluggable_runcores and kill_cont which makes review harder than needed. 22:55
jrtayloriv bacek, I'm getting git-svn installed at the moment -- I tried to sync with trunk and svn kept dying. 22:56
But once I do, then yes, I will sync it up.
bacek jrtayloriv: ok. You have about ~10-12 hours before I can start proper reviewing :)
jrtayloriv ok 22:57
bacek msg whiteknight Can we remove ifdef _WIN32 for GC_USE_FIXED_SIZE_ALLOCATOR now?
purl Message for whiteknight stored.
dukeleto Parrot VM: PANIC: Out of mem! 23:02
i am working on translating FixedPMCArray to PIR and adding more tests. i think I just found a nice bug :)
dalek rrot: r41141 | bacek++ | trunk/NEWS:
Fix small typo in NEWS about Contexts.
23:03
japhb bacek, it looks like you nuked the NEWS about the profiling runcore
bacek japhb: nope :) 23:04
japhb bacek, I'm confused by the changeset diff then. 23:05
bacek japhb: context_pmc3 branch
japhb bacek, but you changed NEWS in trunk ...
bacek japhb: Bah! Gotcha. 23:06
Fixed. 23:07
dalek TT #991 created by dukeleto++: Parrot dumps core when attempting to create a FixedPMCArray with negative ...
bacek $dayjob time. Better to stop braking parrot and return to "stupid manager" duties... 23:08
see you!
dalek rrot: r41142 | bacek++ | trunk/NEWS:
Readd NEWS about profiling runcore. bacek--, japhb++
23:09
darbelo mikehh: can you give the patch attached to TT#986 a test? JIT in particular. 23:10
mikehh I'll give it a go - but I got some $work problems to sort out first - if you are not in too much of a hurry 23:18
23:32 Andy joined
darbelo seen Whiteknight 23:34
purl Whiteknight was last seen on #parrot 3 hours, 6 minutes and 47 seconds ago, saying: see you later
23:49 Whiteknight joined
Whiteknight good evening, #parot 23:51
or parrot
darbelo Whiteknight: I have a surprise for you. 23:53
Whiteknight ???
darbelo Remember the next_for_gc abuse in pmc_freeze.c you disliked so much? 23:54
It's dead code. there's a #define there disabling it. 23:55
23:56 bacek joined
darbelo I just amputated it with no test failures. 23:56
Whiteknight holy shit. darbelo == awesome 23:57
do you have the commit bit yet?
dalek rrot: r41143 | jrtayloriv++ | failed to fetch changeset:
Merged changes from r41010 to r41116
darbelo Not my work, actually. The pointer abuse got replaced with a hash at some point, but the old code was left in behind a #define.
All I did was remove a lot of dead code :) 23:58
Whiteknight nice, so I can remove that garbage from the GC then 23:59
and there was much rejoicing
purl yay.
dalek TT #940 closed by whiteknight++: miniparrot segfaults on Windows
jrtayloriv Whiteknight, That didn't just merge to trunk did it? Why isn't it saying gc-refactor in the commit message? I fetched and merged in the refactor branch.