www.parrot.org/ | Parrot 1.4.0 "Mundo Cani" Released!
Set by moderator on 21 July 2009.
Coke (while.test just segfaulted during a full run. run it by hand, it passes.) 00:01
treed I have a test on cardinal that periodically fails. Running it by hand is about the same. 00:02
I got a chance to see the failure once.
The failing test is due to a blank line in the output.
but I swear I saw that line start to appear and then disappear
Coke mine is actually segfaulting. =-)
treed This only happens some of the time.
So I'm guessing that it must be something on my system being weird? 00:03
But it's always the same test.
Coke if you can't find what makes it reproducible, goodness knows. 00:04
might be another system it fails consistently on. I had that issue ages ago in partcl, where things would fail on darwin, but not linux. 00:05
Coke guesses he's not going to bother cutting a partcl release. 00:06
~~
asciiville I'm not exactly sure how to ask this, but does anyone have an executive summary of what a PMC looks 00:25
like to a shared library during a NCI operation?
I'm working with the <parrot src>/etc/SQLite3 source, and it appears that libsqlite3.so doesn't
like any of the PMCs I give to it during an NCI op. I have a workaround currently on github, but
want to make sure I'm heading down the right track.
sorry <parrot src>/etc/SQLite3 should be <parrot src>/ext/SQLite3 :) 00:31
00:58 hoelzro joined
hoelzro hello parrot folk 00:59
is it possible to turn off certain opcodes at runtime?
cotto hoelzro, The security PDD talks about that, but there's no implementation afaict. 01:00
hoelzro curses!
oh well
cotto You could probably do something ugly from C if you really need to, but you get to keep the pieces if it breaks.
hoelzro that's the current plan then 01:01
cotto hoelzro, what's your interest in this functionality?
hoelzro cotto: I want to create an online REPL for Rakudo
cotto Yes, but I don't know if there's even an eta.
hoelzro like tryruby for Ruby
cotto You could hop over to #perl6. They have a (afaict) safe evalbot. 01:02
hoelzro I'll ask about it
thanks
cotto np.
Thanks for your interest. 01:03
hoelzro Damian Conway and Patrick Michaud got me fired up at OSCON =)
cotto I wish I could have seen Conway. 01:15
hoelzro he was pretty awesome
cotto but doing that without actually going to OSCON is tricky
What'd he talk about?
hoelzro I saw him for a Perl 6 update and for API design 01:16
Tene I read "fired up" as just "fired" the first couple of times I read that. 01:25
hoelzro that would have been bad =P 01:27
treed Those troublemakers. 01:30
01:30 TiMBuS joined
cotto You can't trust those shady characters. 01:32
01:32 skv_ joined, MoC joined 01:43 tetragon joined 01:50 tetragon_ joined
mikehh codetest, benchmark and examples_tests FAIL, All others PASS (pre/post config, smolder, nqp_test fulltest) at r40272 - Ubuntu 9.04 amd64 02:09
codetest is a space after parens in imcc.y 02:10
the others are same as prev fails in r40269 above 02:12
cotto Yay! I got callgrind to spit out understandable output for a simple C program! 02:13
World domination is one step closer. 02:14
02:28 mikehh_ joined 02:38 mokurai joined 02:40 mokurai1 joined 02:41 mokurai1 left 02:42 janus joined 03:20 donaldh joined 03:59 theory joined 04:06 theory joined 04:22 Andy joined
Andy So does everyone's test fail a raft of packfile errors? 04:24
nopaste?
purl somebody said nopaste was 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 "Andy" at 76.245.3.1 pasted "my test failures" (24 lines) at nopaste.snit.ch/17389 04:25
04:30 bacek joined
bacek yak... Do we have backup for moritz++ irclog? 04:31
dalek rrot: r40273 | petdance++ | trunk/t/pmc (7 files):
fixed the filetypes for vi
04:36
rrot: r40274 | petdance++ | trunk/t/pmc/array.t:
fixing filetype for vim
04:42
05:07 Zak joined 05:23 hoelzro joined 05:27 jjore joined 05:47 hoelzro joined 05:57 Zak joined 06:05 payload joined
Tene Andy: also tools/dev/nopaste.pl 06:10
cotto paste 06:24
paste?
purl paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste
dalek tracwiki: v1 | cotto++ | CallgrindFormat 07:13
tracwiki: initial version
tracwiki: trac.parrot.org/parrot/wiki/Callgr...ction=diff
07:18 patspam joined 07:20 donaldh joined 07:23 brooksbp joined 07:50 iblechbot joined, bacek joined
cotto hi bacek 07:52
07:59 contingencyplan joined
dalek tracwiki: v2 | cotto++ | CallgrindFormat 08:09
tracwiki: add annotated body of a profile
tracwiki: trac.parrot.org/parrot/wiki/Callgr...ction=diff
tracwiki: v3 | cotto++ | CallgrindFormat
tracwiki: fix numbers
tracwiki: trac.parrot.org/parrot/wiki/Callgr...ction=diff
08:11 cognominal joined 08:14 ewilhelm_ joined 08:15 tokuhirom_ joined 08:36 chromatic joined
cotto chromatic, trac.parrot.org/parrot/wiki/CallgrindFormat 08:39
It doesn't cover everything we'd need to use but it's a good start. 08:40
chromatic Do you feel like you understand it sufficiently? 08:41
cotto I haven't played with how it tracks jumps, but yes apart from that. 08:42
chromatic That'll be a good first cut then. 08:43
We can get it to detect and report regular function calls.
cotto Yup. That'll be a great first step. 08:44
chromatic Okay. I'll work on the refactoring tomorrow, so that we can work on this first reporting step next week. 08:45
cotto I still think it's a good idea to use an intermediate format that's post-processed into something Callgrind-compatible, though.
to avoid storing more state than necessary 08:46
chromatic Write up that format and we can work on it. 08:47
cotto You mean a more formal version?
nm. You were referring to the intermediate format.
chromatic Yes.
cotto ok 08:48
08:49 payload joined 08:51 payload joined
dalek rrot: r40275 | fperrad++ | trunk/compilers/imcc/imcc.y:
[codingstd] fix c_parens
09:02
rrot: r40276 | chromatic++ | trunk/compilers/imcc/imcparser.c:
[IMCC] Regenerated compilers/imcc/imcparser.c, as per note in r40275 commit.
09:09
09:52 payload1 joined 10:10 mikehh_ joined 10:12 cognominal joined
dalek rrot: r40277 | allison++ | trunk/ports/ubuntu/changelog:
[ubuntu] Since there are no longer any changes specific to Ubuntu, the
10:13
10:16 Whiteknight joined
dalek rrot: r40278 | whiteknight++ | trunk/compilers/pirc/src/pircompunit.c:
[bsr_jsr_ret] remove reference to ret from PIRC
10:33
11:05 mikehh_ joined 11:20 donaldh joined
dalek rrot: r40279 | whiteknight++ | trunk/examples/benchmarks/stress.pasm:
[bsr_jsr_ret] fix an issue with the benchmark tests that I didn't see before. kid51++ (and fperrad++ for the last fix)
11:27
rrot: r40280 | whiteknight++ | branches/kill_stacks:
[kill_stacks] creating a new branch to rip out stacks
11:31
11:38 masak joined
dalek rrot: r40281 | whiteknight++ | branches/kill_stacks:
[kill_stacks] not ready for this yet, apparently. deleting branch, will get back to it later.
11:51
12:15 iblechbot joined 12:22 MoC joined 12:35 fdorothy joined
mikehh examples_tests FAIL, All others PASS (pre/post config, smolder, nqp_test fulltest) at r40281 - Ubuntu 9.04 amd64 12:41
nopaste "mikehh" at 90.209.201.189 pasted "examples_tests failure at r40281" (27 lines) at nopaste.snit.ch/17390 12:43
moritz Whiteknight: just wanted to tell you that rakudo doesn't use push{action,mark} and popmark 12:44
Whiteknight thanks moritz
12:48 ruoso joined
mikehh are there any (dis)advantages building with g++ over gcc - I know NotFound prefers it 12:52
dalek rrot: r40282 | whiteknight++ | trunk/t/examples/subs.t:
[bsr_jsr_ret] fix a problem in the examples tests. Thanks mikehh++
jonathan Whiteknight: Only time I used any of those, was when I used pushmark and popmark in the .Net => PIR translator. 12:54
Whiteknight okay, thanks
jonathan Whiteknight: IIRC, I *may* have been able to eliminate the need for them with some smarter static analysis.
Though mapping .Net's exception model on to Parrot's had already been lots of effort. :-) 12:55
Coke updates parrot and finds a broken partcl. 12:57
Whiteknight Coke: so, the normal?
Coke ayup. 12:58
apparently I had used bsr in a few places.
Whiteknight the horror 12:59
mikehh rakudo (240b984) builds on parrot r40269 - make test PASS, make spectest (up to 27743) PASS - t/spec/S06-advanced_subroutine_features/lexical-subs.rakudo - TODO passed: 4 13:00
jonathan That'll be the thing chromatic++ fixed yesterday :-) 13:01
mikehh Coke: where's the best place to get info on partcl so I can include it in my testing routine
Coke code.google.com/p/partcl/issues/detail?id=88 13:02
mikehh sorry that was parrot r40281 for rakudo
Coke mikehh: code.google.com/p/partcl/
mikehh ok I will have a look 13:03
13:05 kid51 joined
Coke if you're feeling particularly masochistic, 'make test' and 'make spectest' are both interesting. 'make specinfo' is like spectest, but updates the files in docs/ so you can compare to previous results. 13:05
(showing more clearly when spec test files start regressing)
kid51 Good morning all 13:06
Since Whiteknight removed 3 opcodes yesterday, do we have to run 'make opsrenumber' 13:07
?
13:07 tetragon joined
Whiteknight no, I ran that in branch 13:11
you might need to make realclean
kid51 But I see this in trunk: 13:13
$ grep -nE 'bsr|jsr|ret' src/ops/ops.num
25:cpu_ret 2
40:bsr_i 16
41:bsr_ic 17
42:ret 18
45:local_return_p 21
46:jsr_i 22
47:jsr_ic 23
63:returncc 39
69:set_returns_pc 45
Coke GAH
kid51 82:rethrow_p 58
812:pic_set_returns___pc 788
I'm not an expert here, but it looks like some of the deleted codes are still numbered.
Whiteknight kid51: I don't have those in my trunk 13:14
kid51 Alright, maybe I'm looking at the wrong box. 13:15
I thought I had updated on both Linux and Darwin.
My error; I hadn't updated on Darwin. 13:16
Whiteknight oh, okay
dalek kudo: 4c31fb7 | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to get better handling of lexical subs
13:18
13:37 rg joined 13:42 fperrad joined 14:11 szabgab joined 14:14 asciiville joined 14:36 hoelzro joined 15:13 hoelzro joined 15:17 szabgab joined 15:20 donaldh joined 15:48 mikehh_ joined 15:52 mikehh__ joined 16:05 kid51 joined 16:44 szabgab joined 16:47 Psyche^ joined 17:01 chromatic joined 17:06 tetragon_ joined 17:22 payload joined 17:26 mokurai joined 17:56 Whiteknight joined, Andy joined 18:13 tetragon joined
dalek TT #876 created by whiteknight++: Deprecate pushaction, pushmark, popmark 18:21
18:25 iblechbot joined 19:01 Zak joined 19:20 donaldh joined
dalek rdinal: 5b4c4e4 | treed++ | src/classes/Array.pir:
Exlicitly make Array.size respond to elements vtable.
19:21
19:22 Zak joined
dalek rrot: r40283 | whiteknight++ | branches/kill_stacks:
creating a branch to remove stacks
19:30
treed Can anyone comment on the relative speed of using an opcode vs. just calling the method that provides that vtable? 19:35
i.e. Which, if either, is faster? 19:36
(I expect that using a vtable is faster than finding a method.) 19:38
moritz too 19:39
Whiteknight finding the method isn't so bad, it's passing the parameters that is slow 19:49
well, passing and processing them
treed And you don't have to do that with a vtable?
Whiteknight well, yes and no 19:50
purl Go not to the Elves for counsel, for they shall say both no and yes.
treed Haha.
Thanks, perl.
purl
purl yes, treed?
Whiteknight a VTABLE written in C doesn't need argument processing. A VTABLE written in PIR does
in that case, a VTABLE written in PIR is probably going to be slower then a METHOD written in PIR because it needs to recurse into a new runloop to execute it 19:51
treed Well, in my case, any vtable will be in PIR.
Huh.
19:51 Zak joined
Whiteknight if you take a look in src/pmc/object.pmc, calling a VTABLE on an object actually calls a C VTABLE, which in turn calls a new runloop to execute the PIR override 19:52
whereas calling a METHOD written in PIR happens in the current runloop
19:56 Zak joined
moritz wouldn't it be more efficient to detect that on the caller side and continue within the current runloop? 19:58
or would that slow down all the C VTABLEs too much?
dalek rdinal: 2527236 | treed++ | src/classes/Array.pir:
Undo the last commit. treed--
20:01
jonathan One issue is that we don't know if the C vtable needs to call the PIR and get the value back and twiddle it, or something. 20:02
Not always anyway. Though usually that's not needed.
Even if you could avoid spawning another runloop though, I fear that the end result would still be that the parameter passing was the costly part. 20:03
If I understand the motivation for L1 correctly, vtables would be written in that in the future? In which case we may lose the calling boundary issue.
treed L1? 20:04
purl well, L1 is a hypothetical language that would be used to implement PMCs and PIR-visible ops so that they could all be easily jitted. or irclog.perlgeek.de/parrot/2009-04-21#i_1083550 or rt.perl.org/rt3/Ticket/Display.html...txn-471982 or magical unicorns and flying puppies.
dalek rrot: r40284 | whiteknight++ | branches/kill_stacks (5 files):
[kill_stacks] reimplement pushaction, pushmark, and popmark opcodes in terms of a regular RPA PMC instead of stacks
20:05
Whiteknight moritz: the problem is that some VTABLEs are called from C code inline, so we can't just pass the pointer back to the runloop 20:06
jonathan wonders if the puppies are flying because they grew wings, or because they were kicked off a cliffe.
20:07 donaldh_ joined 20:13 aardvark joined 20:15 Zak joined
dalek rrot: r40285 | whiteknight++ | branches/kill_stacks (6 files):
[kill_stacks] Kill the stack system. Kill it dead.
20:16
Whiteknight jonathan: Yes, it's the intention that L1 will be used to implement VTABLEs and Ops, so we can avoid runloop recursion
or, at least, avoid most cases of it
dalek rrot: r40286 | whiteknight++ | branches/kill_stacks (3 files):
[kill_stacks] some miscellaneous cleanups
20:19
Whiteknight that whole process was actually much faster then I was expecting 20:20
cotto msg darbelo In the future, try to avoid blog urls that end in a dot. They're easy to misparse. 20:24
purl Message for darbelo stored.
cotto Whiteknight, in what cases won't L1 avoid runloop recursion? 20:32
Whiteknight cotto: anywhere that we are calling into a VTABLE from C will cause a recursion 20:33
dalek rrot: r40287 | whiteknight++ | branches/kill_stacks (8 files):
[kill_stacks] remove some of the remaining references and support infrastructure for POP(). We don do dat no mo.
Whiteknight the solution is to just write more and more and more in L1 instead of C 20:34
cotto true
20:38 Zak joined 20:40 Zak joined
donaldh_ When I run rakudo to generate PIR and then try to execute the PIR I get Class '[ 'parrot' ; 'Perl6MultiSub' ]' not found. 21:04
moritz looks like some missing loalib statements, or whatever they are called
donaldh_ I can't for the life of me figure out why.
moritz donaldh_: irclog.perlgeek.de/perl6/2009-06-30#i_1276192 21:07
donaldh_ moritz: thanks, that works. 21:08
It's strange that it works, since I had already straced parrot and watched perl6_group.so getting loaded. 21:11
moritz maybe in the wrong namespace/HLL/whatever? 21:12
donaldh_ I guess it must be. 21:15
21:17 bkuhn joined
bkuhn Hey, if I want to take a look at pynie, which codebase should I be looking at: the one in the parrot SVN or the one in the Google Code pynie-specific SVN? 21:18
moritz bkuhn: I don't think there are pynie sources left in the parrot repo. 21:19
jonathan bkuhn: Hi! I was under the impression that all languages had left Parrot SVN.
moritz bkuhn: not in any version since 1.0
bkuhn hrm, maybe my parrot checkout is old. :)
jonathan bkuhn: So almost certainly you want the one on Google Code.
:-)
moritz and update to a newer parrot ;-) 21:20
bkuhn ah, moritz, the weirdness is that git-svn apparently left behind the languages dir! 21:23
moritz bkuhn: ah right, git does not care about directories at all, contrary to svn 21:24
bkuhn looks for a git command that will throw away all untracked files. 21:27
Ah git clean
Tene donaldh_: the issue is that "load_bytecode 'perl6.pbc'" is being called from the 'perl6' HLL instead of the 'parrot' HLL.
donaldh_: and that means that the types it ends up loading from the dynpmc .so get put in the 'perl6' HLL
This is a parrot bug. 21:28
donaldh_ Tene: thanks, though it looks like the intended behaviour since the .loadlib calls are after the .HLL perl6 directive in perl6.pir 21:30
Is the bug that they end up in the parrot HLL in a normal invocation ? 21:31
jonathan I'm not sure if there's a way to specify the HLL a PMC should live in. 21:32
Tene donaldh_: rakudo doesn't currently have a workaround for this parrot bug in its generated PIR.
jonathan: there isn't, and there should be. 21:33
21:42 Zak joined
bkuhn Hey, is the PCT not installed by default when you do a 'make install'? 21:42
asciiville Does anyone know of any current information available regarding statement of direction or standardization for Parrot database interaction? 21:52
21:53 Zak joined 21:59 Zak joined 22:02 kid51 joined
dalek rrot: r40288 | whiteknight++ | trunk (83 files):
[kill_stacks] merge in the kill_stacks branch. Stacks are no more
22:04
22:08 Zak joined
dalek rrot: r40289 | whiteknight++ | branches/bsr_jsr_ret:
[bsr_jsr_ret] remove this unnecessary branch, already merged to trunk
22:08
rrot: r40290 | whiteknight++ | branches/kill_stacks:
[bsr_jsr_ret] remove this unnecessary branch, already merged to trunk
22:18 theory joined, Zak joined 22:37 rg1 joined
treed Is it possible to get a key that was given to a subrule? 22:40
mikehh All tests PASS (pre/post config, smolder, nqp_test fulltest) at r40290 - Ubuntu 9.04 amd64 22:54
23:18 tetragon joined 23:21 donaldh joined
kid51 confirmed mikehh's result on Linux/i386 at r40290 23:26
23:31 patspam joined
mikehh Oh and rakudo (4c31fb7) builds on parrot r40290 - All tests PASS make test/ make spectest (up to r27748) 23:32
I couldn't gewt partcl to build - it seems to require an installed parrot 23:33
s/gewt/get/
kid51 ISTR discussion on list to that effect 23:34
... but don't rely on my memory
mikehh it broke with Can't open perl script "/usr/local/lib/parrot/1.4.0-devel/tools/dev/gen_makefile.pl": No such file or directory 23:35
kid51 Hmm. That 1.4.0-devel looks a bit suspicious 23:36
mikehh I used something like perl Configure.pl --parrot-congig=../parrot/parrot_config
s/congig/config/ 23:38
I was going to mess around with Configure.pl to make it more like the rakudo one - but got sidetracked 23:39
A website I am supposed to help look after just got wiped - the person responsible is in Hospital at the moment and the hosting company just cleared it out 23:44
kid51 bad luck and trouble!
mikehh I am on their contact list but never heard from them - they claim they have no backups anymore
I have my own but have to upload them - it's going to takre an age 23:45
kid51 Well that's a hosting company that doesn't deserve new business.
kid51 witnesses cloudburst in Brooklyn 23:46
mikehh I got hold of the person I normally deal with - a senior VP, and I think some heads are going to roll
The people I work for there - have been major customers for years 23:47
even though this is a more personal site 23:48
their other sites are ok 23:49
Khisanth hmm thunder while it was bright and sunny was a lot more unusual :) 23:51
kid51 Khisanth: You in NYC? Have we met? 23:52
Khisanth I am in Brooklyn but no 23:53
kid51 Am always trying to identify people in area for F2F meetups 23:55