HAPPY BIRTHDAY #PARROT! | www.parrot.org/ | 1.4.0 | For 1.5: Remove Deprecated Features | planet.parrotcode.org/
Set by moderator on 14 August 2009.
mikehh rakudo still fails to build - Class '[ 'parrot' ; 'Random' ]' not found 00:01
00:02 Limbic_Region joined
mikehh somebody is still running smolder tests a couple of times a day on 0.9.0, Perl 5.8.3 i586-linux-thread-multi, cc, i386, linux 00:16
00:22 davidfetter joined
treed Can anyone explain why " PMC* logical_not(INTERP, PMC *self, PMC *dest)" needs both dest and a return value? 00:32
PDD 17 doesn't specify what it is that it's supposed to return.
A lot of ops have a PMC* return and a dest, but not all. 00:34
Which makes me wonder why the difference.
bacek treed: weird stuff... 00:35
simple rule - always return new pmc. Don't try to reuse old one.
treed: O! Can you explain why cardinal can't parse shootout.alioth.debian.org/u32q/ben...&box=1 00:36
?
treed Just a sec, I'll look at it.
But I do return a PMC.
I declare but do not use the dest param. 00:37
And have no idea why it's there.
bacek treed: original idea was "try to reuse dest pmc if possible".
treed Aha. 00:38
There's nothing that immediately jumps out at me as a parsefail. Does it actually parsefail or does it fail to provide a method or something?
bacek treed: letme check with latest cardinal
treed Line 3 00:39
treed just checked.
I ran into a problem the other day where a line with only whitespace was causing parsefail. 00:40
bacek make: *** No rule to make target `src/classes/Any.pir', needed by `src/gen_builtins.pir'. Stop.
treed I wonder if that's it.
Use rake instead.
"rake cardinal"
treed really should just remove the Makefile build system.
bacek Ah. ok 00:41
treed ARGV doesn't seem to be implemented? 00:42
But that shouldn't cause parsefail.
It's not the empty line problem.
Hm.
bacek Yay! Segfault!
treed Wow. 00:43
While running that script or while building?
bacek No. When I try to run "./cardinal m.PL" :) 00:44
treed Oh. 00:45
Neat.
There's something really bizarre going on with that mandelbrot file. 00:49
It's given an unterminated statement error. 00:50
But the prior line parses fine by itself.
00:53 quek left
treed Oh. 00:53
I figured it out.
Well, maybe. 00:54
00:54 patspam joined
treed I think it's interpreting \\n in the string as an actual linebreak. 00:54
Cardinal uses quoted_string or whatever, though, which is complete magic to me.
Hm, maybe that's not it. 00:55
bacek If I remove this line it failing on ci = (2.0*y/size)-1.0
treed Yeah.
I'll get to that after I figure out the first one. 00:56
It actually seems to have something to do with #{ stuff 00:57
Maybe having more than one #{}? 00:59
Yeah, it looks like it's not handling the termination of a #{} correctly. 01:02
treed checks out the grammar for that.
it's in quote_expression, looks like 01:03
bacek treed: "[11:05:58] Mark: boo to languages without formal grammars:)" (this from my friend. Big ruby and haskell fun) 01:08
treed Haha, no kidding. 01:10
man quote_expression is a different kind of magic 01:11
I'm not used to interacting with the grammar in PIR form.
I have no idea how to tell it to stop gobbling things incorrectly. 01:16
bbiab
01:37 quek joined 01:45 joeri left 02:20 TiMBuS joined 02:42 janus joined 02:44 kid51 joined 02:58 quek left
treed bacek: The second failure is probably because Cardinal's optable doesn't like parens. 03:05
bacek treed: yak... 03:07
03:07 mokurai joined
bacek treed: than it fails on "50.times do" 03:07
treed parsefail? 03:08
If so it wouldn't surprise me if the parser isn't set up to allow method calls on literals. 03:10
bacek I can't test it right now. I broke parrot badly. 03:11
treed Nice.
Nope, it works fine.
crb(main):001:0>1.times do puts 'foo' end
foo
purl bar
treed Maybe the 0b1 just before that? 03:12
Yeah. 03:13
It doesn't like 0b1.
I have no idea why they did that.
bacek Let me switch back to master and test.
treed They could have just said "1" and saved two keystrokes.
bacek "0b1" is binary 1? 03:15
treed Yeah. 03:16
Analogous for 0x for hex.
dalek rrot: r40574 | bacek++ | branches/tt795_kill_parrot_sub_structure/lib/Parrot/Pmc2c (2 files):
[pmc2c] Support arrays as ATTRibutes
rrot: r40575 | bacek++ | branches/tt795_kill_parrot_sub_structure (23 files):
[core] Remove Parrot_sub and Parrot_cont. Build is badly broken
bacek treed: does ruby support "native types"? E.g. native int, bool, etc? 03:17
treed Not in the way I think you mean. 03:18
1 is a Fixnum (subclass of Integer)
It might support them in the C Extension API.
bacek unterminated statement at line 39, near ") | escape"
treed Probably the parens again. 03:19
bacek yeah...
nopaste "bacek" at 114.72.236.32 pasted "Yak. Cardinal's PCT failure..." (91 lines) at nopaste.snit.ch/17558 03:21
treed It's possible ARGV hasn't been implemented yet. 03:22
Although I'd expect that to be NilClass rather than Undef.
But maybe I didn't hll_map that yet.
Yeah, ARGV doesn't appear anywhere in the source. 03:23
bacek still failing after replacing ARGV with 500
treed at that point?
purl at that point are you allowed to route around the problem by actually using another VCS?
treed what's the failure then? 03:24
bacek yes
error:imcc:syntax error, unexpected PREG, expecting '(' ('$P131')
in file 'EVAL_13' line 479
invoke() not implemented in class 'Integer'
current instr.: '_block11' pc 57 (EVAL_13:31)
treed Expecting (?
Bad PIR output? 03:25
nopaste "bacek" at 114.72.236.32 pasted "Latest m.rb for treed++" (55 lines) at nopaste.snit.ch/17559
treed IMCC interprets PIR, yeah?
bacek lsh $P131, $P134 03:27
(This is generated line where IMCC failing)
you probably need math dynops in cardinal
treed I'm not sure what that means.
bacek hmm... There is no "lsh" in src/dynopslib/math... 03:28
Ah. It's called "shl" 03:29
src/parser/grammar.pg. Line 495 03:30
treed Ah.
Yeah.
bacek (same for shr/rsh) 03:31
treed And ... yeah.
bacek hrm... The opcode 'shl_p_p_n' (shl<3>) 03:32
treed What about it?
bacek It's after replacing lsh with shl. 03:33
there is only shl_p_p_i version
03:33 patspam1 joined 03:34 Andy joined
bacek and some miscompile of "byte_acc = 0"... 03:36
Ha! cardinal miscompile "byte_acc = 0" on next line after comment...
03:40 bacek_ joined
bacek_ "Could not find non-existent sub break" 03:40
No control exceptions yet?
bacek switching back to brake parrot even more 03:45
treed There are some. 03:55
But maybe not that one.
cardinal's still very alpha
It saddens me.
dalek rdinal: 56914a3 | treed++ | src/parser/grammar.pg:
Change rsh/lsh to shr/shl. bacek++
03:58
purl dalek: that doesn't look right
cotto < purl-- > 03:59
bacek cotto: hi 04:00
dukeleto 'ello 04:01
cotto bacek, hi to you 04:03
enjoy breaking stuff. You're good at it. (and at fixing stuff too)
dukeleto likes making things go *boom* too 04:05
treed bacek: shl/shr don't seem to actually do anything? 04:06
crb(main):001:0>a = 8; a <<= 2; puts a
8
bacek treed: hmm... 04:07
treed makes things go *boom* too often to enjoy it 04:10
dukeleto does anybody know about dynops and whether they should be installed? it seems that they should 04:12
treed has no idea what dynops are. 04:13
dalek rrot: r40576 | bacek++ | branches/tt795_kill_parrot_sub_structure/src/pmc/coroutine.pmc:
[core] Fix Coroutine compilation.
04:14
bacek treed: forget dynops for now.
purl bacek, I didn't have anything matching dynops for now
bacek < purl-- > # annoying girl...
cotto purl, I'm going to take away your botsnacks 04:15
purl :)
cotto bacek, do you know about the corevm make target?
bacek cotto: and about coretest too
cotto corevm is pretty recent, but yeah 04:16
bacek And they already passed on my branch! :)
dalek rrot: r40577 | bacek++ | branches/tt795_kill_parrot_sub_structure/src (2 files):
[core] Remove 2 more Parrot_sub referencies
04:17
cotto bacek, how long have you been programming? 04:18
bacek 20 year.
cotto what percentage of your life is that?
(and it'd better be <=100)
;) 04:19
dukeleto treed: things that live in src/dynoplibs, which are "dynamically loadable opcodes", i.e. recompiling parrot is not necessary to modify them
bacek about 150 :)
Ah.
Sorry.
60%
purl 0.6
bacek I've earned my first money doing some Basic programming when I was 12
O shi... I coudn't believe. make test passed on my branch. 04:20
purl: 20/33*100 04:21
purl 60.6060606060606
cotto Are you serious? That's amazing.
dukeleto just calculated 12 years of coding which turns out to be 44%
bacek cotto: about branch or experience?
cotto about taking 5 hours to rip out Parrot_Sub 04:22
and get make test passing again
bacek cotto: just checkout branch and check it :)
cotto don't mind if I do 04:23
bacek preferably on something different from i386/linux :)
cotto no can do 04:24
bacek can't translate "no can do" to something understandable...
cotto that's not possible 04:25
or "I can't do that"
bacek ah. ok
dukeleto bacek: you need testing on something more exotic that x86/linux ? 04:26
bacek dukeleto: yes. It will be helpful.
cotto Have you tested with rakudo and partcl?
bacek cotto: not yet. It still require some polish and review before I'll start testing HLLs
dukeleto bacek: let me know the info an I can test on darwin-x86 04:27
dalek rrot: r40578 | allison++ | branches/pcc_arg_unify/src/call/pcc.c:
[pcc] Remove two static functions that are no longer used.
bacek dukeleto: just checkout tt795_kill_parrot_sub_structure and run make test
dukeleto: It should make smoothly. 04:29
bacek cross his fingers
cotto There'll be some fun merges after the next release.
bacek merges are always fun!
bacek decommutes to kitchen to make some lunch and have some prize beer for Parrot_sub killing 04:30
dukeleto bacek: checking it out now 04:31
cotto bacek, if I ever meet you, I'll be glad to buy you a beer. 04:32
bacek cotto: "10/13 Isabel street, Ryde, NSW, Australia". You are welcome! :)
dukeleto would buy y'all a round 04:33
cotto Hmm. Directions from my place to yours involve some very long kayak trips according to Google Maps. 04:36
I'd better start training.
bacek Classical 6000+ kayaking :) 04:38
dalek rrot: r40579 | allison++ | branches/pcc_arg_unify/src/call/pcc.c:
[pcc] Need to pop the fake context after pushing it.
04:41
dukeleto bacek: tt795_kill_parrot_sub_structure passes "make test" on darwin-x86 04:43
bacek dukeleto: hooray! 04:44
dukeleto bacek++ 04:45
bacek: i could test it on darwin-ppc on monday if you like. just remind me 04:46
bacek dukeleto: ok. I'll try to finish work on this branch today. Otherwise it will not be finished in next couple of weeks... 04:47
cotto bacek, nice work. fulltest only complained about a couple codingstd nits 04:55
bacek cotto: it was easy. Mostly copy-pasting guts of Parrot_sub into Sub PMC and fixing compilation errors. 05:11
cotto I was noticing that the changes weren't that complicated. 05:14
but there's a metric ton of them
05:15 spinclad joined
bacek cotto: it will be another ton... And little bit more complicated. 05:17
cotto you mean before you can merge back into head or to take care of Parrot_Cont? 05:19
bacek Parrot_cont 05:20
dalek rrot: r40580 | bacek++ | branches/tt795_kill_parrot_sub_structure (2 files):
[cage] Fix coding standard tests. cotto++ for notice
05:25
rrot: r40581 | allison++ | branches/pcc_arg_unify/src/pmc/cpointer.pmc:
[pcc] Removing unnecessary mark.
05:38
chromatic dukeleto, I thought you already had bought me a round. 05:50
dukeleto chromatic: i think that was on schwern's dime, actually
chromatic Half a round anyway. I usually have a ways to drive after those meetings. 05:51
dukeleto via ewilhelm's feduciary concern
chromatic: where are you residing these days?
chromatic Hillsboro
dukeleto you like it? 05:52
05:53 Ryan52 joined
chromatic I do. It's not as walkable as downtown, and I have to walk/drive two miles to the nearest MAX station, but my backyard opens onto a creek and there are three nice parks within walking distance (one house over, 1/4 mile, ~1 mile respectively). 05:53
dukeleto that sounds nice
chromatic It's what I looked for in a house. 05:54
dukeleto i am in NE alberta. it is close to a bunch of stuff but it is also a bit of a concrete jungle. I am just renting though
chromatic That area's not too bad. It's cleaned up a lot in the past few years. My cohort Jim Shore lives there, not far from Kennedy School. 05:55
dukeleto i've heard it has had some serious gentrification in the past few years, and it is pretty evident 05:57
chromatic Even five years it's evident. 06:00
cotto chromatic, I'm thinking about how to best map between Parrot's CPS and the straight call/return that Callgrind expects. What about giving each contination and ID and adding that the .pprof file? The postprocessing script could rebuild the call graph and figure out when control has left or bypassed (via tailcall) a function. 06:09
btw, something that would parallelize would be to abstract clock_gettime into a Parrot API function that could also be implemented on win32 by windows performance counters. 06:12
s/parallelize would/parallelize well/ 06:13
*well would be...
chromatic Each continuation does have an ID: its pointer value. 06:27
cotto can't they get reused?
or recycled
06:28 szabgab joined
chromatic They can, but I don't think it's a problem in practice. 06:28
RetConts get recycled quickly, but they're not a problem for us.
It's long lived continuations which make our control flow graph go cyclical and branchy and bunchy and weird. 06:29
cotto do you think that's the best approach? 06:30
chromatic When I wrote my POC, I never sat down and figured out all of the types of control flow which made profiling go weird and figured out the best way to handle them. 06:31
Maybe we should do that.
dalek rrot: r40582 | dukeleto++ | trunk (4 files):
[TT #101] Add tests for pbc_disassemble and pbc_dump, with a convenience function in Parrot::Test
06:32
rrot: r40583 | cotto++ | branches/pluggable_runcore (9 files):
[profiling] remove some structs (and assoc code) used by the old and busted profiling runcore
cotto I'm trying to short-circuit that by looking at where control flow is going, but I don't care what the final solution is as long as it's general enough to handle whatever weirdness rgrjr throws at it. 06:34
there's certainly value in sitting down and figuring out what all Parrot can do that we'll need to deal with.
chromatic Mind throwing some notes on the wiki about what we know right now and how we think we can detect it? 06:35
cotto It's very close to bed time for me and my only notes are in my head.
I could put something up tomorrow evening if you don't beat me to it.
chromatic Sounds great. 06:36
I might focus tomorrow on fixing bugs and removing deprecations.
cotto I'm a little disappointed about not being able to have profiling in 1.5, but having it at this state now means it'll be in very good shape for 1.6. 06:37
including HLL annotations, which I haven't touched yet
chromatic, do you want to abstract clock_gettime or should I? 06:38
chromatic If I'd managed to merge a week earlier, we might be in better shape.
I'm happy to do it, provided you give me a couple of notes on what to do.
I haven't had much hacking time since my merge.
dalek rrot: r40584 | dukeleto++ | trunk/t/tools (2 files):
[cage] Fix copyright info
06:39
06:40 MikHel joined
cotto I don't understand the win32 side well yet, but the unix side needs a struct that stores the time, a setter, a getter and a function or constant that gives the resolution. 06:41
chromatic Seems reasonable.
cotto clock_gettime + the #defines in src/runcores/cores.c +261 seems to work for *nix, though idk how well it's been tested apart form Linux and whatever GeJ tested it on. 06:43
I'm off to bed. Good night. 06:44
GeJ that would be FreeBSD (i386 && amd64) 06:46
good night cotto
06:53 iblechbot joined
dukeleto looks like "make fulltest" is not compatible with "make -j" 06:59
at least not "make -j 9 fulltest" on my system
dalek rrot: r40585 | dukeleto++ | trunk/t/tools/pbc_dump.t:
[TT #101] More tests for pbc_dump
07:13
07:15 iblechbot_ joined
dalek rrot: r40586 | dukeleto++ | trunk/t/tools (2 files):
[codingstd] Fix svn props for t/tools/pbc_disassemble.t and t/tools/pbc_dump.t
07:24
07:24 tokuhirom__ joined
dalek rrot: r40587 | chromatic++ | trunk/src/pmc/nci.pmc:
[PMC] Optimized NCI registration signature handling slightly by avoiding

every signature -- and by reusing a calculated key length rather than recalculating it. Parrot startup is now 0.55% faster.
07:51
dukeleto chromatic++
chromatic I'd rather have a 2-3% improvement, but I'll take what I can get. 07:52
dalek TT #101 closed by dukeleto++: [test] add parrot_utils tests 07:58
mj41 dukeleto: r40557 broke many tests, Infinoid fix some in r40560 but t/src/extend.t still fails on win32 - tt.ro.vutbr.cz/report/pr-Parrot/do?...un-8667=on tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk 08:09
dukeleto mj41: looking now 08:10
mj41: 40557 broke all the packfile tests because the script that generates the native_pbc tests only works on some platforms. Infinoids tests should have fixed those. I am not quite sure about t/src/extend.t 08:12
mj41: does t/src/extend.t fail on win32 for the latest revision of parrot? 08:14
08:15 bacek joined
nopaste "chromatic" at 72.87.39.97 pasted "GC Tunings for Whiteknight" (34 lines) at nopaste.snit.ch/17560 08:16
mj41 dukeleto: yes, see tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk
chromatic msg whiteknight See nopaste.snit.ch/17560
purl Message for whiteknight stored.
bacek hi again 08:17
purl oh, you're back!
08:20 tokuhirom__ joined
dukeleto mj41: do you have a last known good sha1 so that I can bisect? 08:22
mj41: or svn rev :)
mj41 dukeleto: bisect? TapTinder found it was ok in r40556 and broken in r40557, and since 40557 fails without break .. tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk/page-3 08:25
dukeleto mj41: gotcha. I am boggled about how those tests break currently 08:27
mj41 dukeleto: there is only test output you can see after click on "failed" on tt.ro.vutbr.cz/report/pr-Parrot/do?...un-8722=on :-( 08:30
dukeleto mj41: "make test" passes but t/src/extend.t has failing tests, what is up with that? 08:31
mj41: scratch that 08:32
mj41: t/src/extend.t has one failing todo test on my machine, but I can't reproduce the errors that you are seeing
mj41 I should probably add some clients with ICU installed. 08:33
ttbot chromatic: Parrot trunk/ r40587 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/71768.txt 08:37
dalek rrot: r40588 | dukeleto++ | trunk/t/op/arithmetics.t:
[t] Add various tests for NaN/Inf handling
09:02
mj41 chromatic: sorry, ignore last ttbot msg, there is a bug 09:05
nopaste "mj41" at 147.229.5.176 pasted "dukeleto: t/src/extend on win32 (pc-jurosz)" (112 lines) at nopaste.snit.ch/17561 09:16
mj41 dukeleto: there is probably problem in Parrot_PMC_set_string on win32 09:18
10:06 HG` joined 10:12 Khisanth joined 10:15 pece joined 10:19 pece left 10:25 Khisanth joined
dalek rrot: r40589 | mikehh++ | trunk/src/pmc/nci.pmc:
fix codetest failure - line length in src/pmc/nci.pmc
10:39
mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40589 - Ubuntu 9.04 amd64 (gcc) 10:52
bacek mikehh: can you test tt795 branch?
mikehh I'll give it a go
bacek thanks 10:53
mikehh rakudo still fails to build - Class '[ 'parrot' ; 'Random' ]' not found 10:57
partcl builds - make test FAIL - 1 additional failure - t/internals/pir_compiler.t - Failed tests: 1, 4 - others 6 tests exit status 1 but subtests PASS 11:06
11:11 Whiteknight joined 11:14 joeri joined
mikehh bacek: make test, make codetest PASS config tests PASS - running fulltest now 11:25
bacek mikehh: thanks 11:29
Whiteknight good morning #parrot
bacek good evening Whiteknight 11:30
11:30 patspam joined 11:32 quek joined
mikehh bacek: 1 failure - examples/shootout/mandelbrot.pir ALL others PASS 11:37
bacek: Ubuntu 9.04 amd64 with g++ 11:40
bacek mikehh: thanks!
mikehh: how did you manage to build partcl? It fails on "bsr" opcodes on my box 11:42
mikehh it requires a make install-dev as does rakudo now 11:43
dalek rrot: r40590 | bacek++ | branches/tt795_kill_parrot_sub_structure/examples/shootout/mandelbrot.pir:
[cage] Remove accidentally committed changes. mikehh++, bacek--
11:44
bacek I know. But "bsr" op present in partcl sources...
mikehh bacek: I was testing that on trunk - let me see waht happens on tt795 11:49
11:56 mokurai left
mikehh bacek: it gives the same results on tt795 - I did a sudo make install-dev from tt975 - then with partcl - make realclean, svn up, perl Configure.pl --parrot-config=/usr/local/bin/parrot_config, make, make test 12:01
bacek: rakudo is still failing to build on tt795 with Class '[ 'parrot' ; 'Random' ]' not found 12:03
dalek rrot: r40591 | whiteknight++ | branches/context_pmc2:
creating a new branch to look at creating a garbage-collectable Context PMC type. Doing things in baby steps.
12:04
12:22 ascent joined 12:26 bacek joined
bacek hi again 12:29
purl oh, you're back!
bacek mikehh: can you run "/usr/local/bin/parrot --output=runtime/tcllib.pbc runtime/tcllib.pir" in partcl directory? 12:30
12:31 MoC joined 12:34 eirik joined, pece joined
mikehh bacek: and then? 12:34
bacek it fails on my box... 12:35
And I don't understand why it doesn't fail on your :)
mikehh it ran, didn't complain or anything
bacek erm... 12:38
12:39 quek left 12:49 Andy joined
dalek rrot: r40592 | whiteknight++ | branches/context_pmc2 (6 files):
[pmc_context2] create a skeleton PMC type for Context that is only a simple wrapper around the Parrot_Context* structure
12:51
bacek apparently my partcl checkout is broken... 12:56
mikehh bacek: happens... 12:57
anyway got to take the dog out bbl
13:16 kid51 joined 13:28 masak joined
Coke sees people testing partcl in scrollback, but is just skimming. 13:38
mikehh++
bacek++
13:55 bacek joined
dalek rrot: r40593 | whiteknight++ | branches/context_pmc2 (3 files):
[context_pmc2] lots of changes to Context handling logic, especially pushing/popping, allocating/deallocating, and things that have to do with reference counting
14:08
rrot: r40594 | whiteknight++ | branches/context_pmc2/src/gc/alloc_register.c:
[context_pmc2] some small fixes to my last commit
14:12
14:20 tetragon joined
dalek a: 8513839 | fperrad++ | README:
add a README
14:38
a: c541867 | fperrad++ | README:
typo
14:44
14:45 Psyche^ joined
dalek rrot: r40595 | whiteknight++ | branches/context_pmc2 (4 files):
[context_pmc2] add some register accessor API functions. Use them. Headerizer
14:52
lscript: 3353b2c | fperrad++ | README:
Add a README
14:57
15:01 jan joined 15:08 urkle joined 15:11 urkle joined 15:33 HG` joined 16:01 bluefeet joined 16:03 payload joined 16:15 davidfetter joined 16:32 Andy joined
Whiteknight how do I signal EOF on the commandline in Bash? 16:38
eirik ^D
Whiteknight ah, that was it, thanks! 16:39
I was thinking ^Z, but that's windows
eirik no problem
^Z is put in background
masak ah, ^Z. that brings back old DOS memories...
Whiteknight thanks eirik++ 16:40
bluefeet I've just built the latest rakudo following the "How to get Rakudo Perl 6" on rakudo.org and am trying to then get mod_parrot up and running. I tried the latest released mod_parrot version (0.05, released january) and it almost immediately failed. Then I tried a checkout from svn, and it got a little father, but fails on make test with "Cannot load /.../mod_parrot.so into server: /.../mod_parrot.so: undefined symbol: Parrot_find_glob 16:41
dukeleto bluefeet: interesting 16:42
bluefeet: which os are you on?
bluefeet centos 5.x (5.2 I think)
eirik Whiteknight: happy to help 16:43
dukeleto bluefeet: looks like Parrot_find_glob no longer exists 16:44
bluefeet: or it got renamed to Parrot_find_global_* 16:45
bluefeet: where does mod_parrot live? 16:46
bluefeet haven't installed it yet - its still in it's build path, /home/aran/mod_parrot/src/.libs/mod_parrot.so 16:47
dukeleto bluefeet: i meant, did you check out from svn.perl.org/parrot-modules/mod_parrot/trunk ?
bluefeet oh, ya, I did - just a couple minutes ago via svn 16:48
dukeleto bluefeet: did you/your irc client trucate your message? can you pastebin the command that you typed as well as the complete error message? 16:49
bluefeet centos 5.3, if it matters
dukeleto s/trucate/truncate/ 16:50
bluefeet sure
16:50 davidfetter joined
dukeleto pastebin your "uname -a, gcc -v, httpd -V" as well 16:51
bluefeet: jhorwitz would be the best person to ask about this 16:56
seen jhorwitz
purl jhorwitz was last seen on #parrot 26 days, 17 hours, 59 minutes and 17 seconds ago, saying: ok, dinner awaits. i'll fix up the docs later tonight in time for the release. [Jul 20 22:50:45 2009]
bluefeet dukeleto: scsys.co.uk:8001/32554
eirik is it okey to submit a small patch here? I found some documentation with outdated filenames. www.pvv.ntnu.no/~eirikald/api.c-gc-renames.diff 16:59
dukeleto bluefeet: i can't quite tell which parrot svn rev you are on, can you tell me the rakudo sha1 that you are on or the parrot svn rev?
16:59 chromatic joined
dukeleto erik: sure. have you thought about sending in the CLA so you can get a commit bit? 17:00
bluefeet `svn log` shows latest is r40521 on parrot 17:01
(not sure if that is what you needed)
eirik dukeleto: perhaps I should do that, but for now I think I want to see if there is anything I can and want to contribute to for an extended periode of time first 17:02
dukeleto: just started looking at the project yesterday. been wanting to get my hands into some vm (and friends) work for a while 17:03
dukeleto erik: sounds good. you can send patches by creating a new TT on trac.parrot.org as well
bluefeet dukeleto: looks like rakuda sha1 is ada2b41a8da3f85105eb2d35747cc012dac91ef4 17:04
dukeleto erik: parrot has a wide landscape of things that still need to be worked on to get your hands dirty
bluefeet: looks like you are using parrot r40521 17:05
eirik dukeleto: I'll make a ticket for that patch then. 17:06
dukeleto erik: go ahead, I will commit your patch and then close it :) it is good to have a record of your submissions on trac though
eirik dukeleto: it is 17:07
dukeleto erik: the process for getting a commit bit requires you to refer to a few patches that you have contributed
eirik dukeleto: added as #927. 17:09
dukeleto erik: we will be notified shortly :) 17:10
dalek TT #927 created by eirik++: Out of date documentation in src/gc/api.c after file renames. 17:11
eirik there we go
dukeleto: I was looking for some low hanging fruits in the ticket system to get me started last night , but could not find any. Is there some other list somewhere of things to work on?
dukeleto erik: look for things marked cage or docs 17:12
erik: what kind of stuff are you looking to do?
eirik dukeleto: code generation and analysis are some areas I like to work with. 17:15
but some cage and docs tasks should be a good way to get started. To get acquainted with the code base. 17:17
dukeleto erik: yes, that is how you find the intersection of things you are interested in and things that are possible for you to work on :)
17:18 Andy joined
eirik dukeleto: it is. (oh, and it is eirik, not erik) 17:19
dukeleto eirik: oops, sorry 'bout that. my eyes are going in my old age :) 17:21
eirik dukeleto: don't worry about it. even people I tell my name to tend to get it wrong. 17:22
dukeleto eirik: which is your poison, svn or git ? 17:24
eirik I know svn, but I am leaning against git so I can just bring my lapttop and find a tree in the park to work under. 17:25
svn is what I have been using for most of the other projects I have been working on.
dukeleto eirik: trac.parrot.org/parrot/wiki/git-svn-tutorial
eirik: a bunch of parrot hackers use git-svn, so if you have questions, just ask 17:26
eirik okey, thanks.
dalek tracwiki: v16 | dukeleto++ | git-svn-tutorial 17:35
tracwiki: trac.parrot.org/parrot/wiki/git-sv...ction=diff
17:37 rindolf joined
dalek rrot: r40596 | dukeleto++ | trunk/src/gc/api.c:
[TT #927][docs] Update filenames in src/gc/api.c, eirik++
17:37
TT #927 closed by dukeleto++: Out of date documentation in src/gc/api.c after file renames. 17:38
dukeleto bluefeet: mod_parrot.so: undefined symbol: Parrot_find_global_k is the culprit 17:44
bluefeet: which is documented but does not seem to exist currently in Parrot 17:46
Author: bacek <bacek@d31e2699-5ff4-0310-a27c-f18f2fbe73fe>
Date: Tue Jul 21 03:44:37 2009[cage] Remove unused Parrot_find_global_k function
git-svn-id: svn.parrot.org/parrot/trunk@40187
sorry for the awful formatting 17:47
bluefeet: looks like that function went out the window in r40187
bluefeet: if you want to play with mod_parrot, you could reset to r40186. you don't actually need the rev that rakudo needs, do you? 17:49
does anybody know where the appropriate place to report mod_parrot bugs is? trac? 17:51
dalek TT #928 created by Austin_Hastings++: Probable edge-condition bug in PBC file generation 17:52
bluefeet dukeleto: ah, cool, thanks, ya I'll just try r40186 then 17:56
dalek rrot: r40597 | dukeleto++ | trunk/docs/embed.pod:
[docs] Remove docs for Parrot_find_global_k which was removed in r40187
17:57
bluefeet dukeleto: thanks much. I'm off to the county fair to eat some good food and go on some rides with the kids. later! 17:59
dukeleto bluefeet: no worries
18:09 payload joined
dalek TT #929 created by eirik++: Remove redundant old_blocks delcaration in compilers/imcc/pbc.c 18:22
18:53 Andy joined 19:22 PacoLinux joined 19:23 MikHel joined 19:33 mokurai joined 20:30 chromatic joined
dalek tracwiki: v33 | kjs++ | PIRCDevelopment 20:34
tracwiki: various updates
tracwiki: trac.parrot.org/parrot/wiki/PIRCDe...ction=diff
rrot: r40598 | dukeleto++ | trunk/MANIFEST.generated:
[TT #925][install] Make sure dynops get installed into dynext/
20:48
TT #925 closed by dukeleto++: Dynops are not installed with "make install" nor "make install-dev" 20:53
20:53 rindolf left 20:56 braceta joined
mikehh that done broke the make 21:02
-> /usr/lib/libicudata.so: file not recognized: File format not recognized 21:04
collect2: ld returned 1 exit status 21:05
make: *** [blib/lib/libparrot.so.1.4.0] Error 1
dukeleto that's not cool 21:07
mikehh: my latest commit to manifest.generated broke your make? 21:10
dalek rrot: r40599 | dukeleto++ | trunk/MANIFEST.generated:
[cage] Remove duplicate lines in MANIFEST.generated
21:12
mikehh dukeleto: I presume so 21:15
dukeleto mikehh: can you make sure to do a "make reaclean" and then nopaste the entire output of the make error ? 21:16
dalek kudo: 5637208 | (Duke Leto)++ | (4 files):
Convert any-num to the rand/srand dynops

of 1.5 . This fixes the Rakudo build to use the dynamically loadable math ops instead. Plus changes by moritz:
   + bump build/PARROT_REVISION to r40598 where dynops installing is fixed
   + remove left-over usages of !random hll_global
Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
21:19
kudo: 9959b21 | moritz++ | docs/ChangeLog:
[docs] mentioned installed parrot in ChangeLog
21:21 nillo joined
mikehh dukeleto: I think something might have got corrupted on disk - I am going to re-install libicu 21:30
dukeleto mikehh: ok, you scared me for a bit :) 21:34
21:42 bacek joined
mikehh ok it builds now 21:44
21:46 braceta left
mikehh and rakudo builds 21:52
running other tests now
22:00 joeri left
mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40599 - Ubuntu 9.04 amd64 (g++) 22:01
chromatic ~20% of the time spent in examples/benchmarks/primes.pasm is in malloc/free. 22:08
moritz jonathan: there's a branch 'rep6object' in parrot, not touched for 3 months - is that still relevant? if not, svn rm ;-) 22:14
mikehh rakudo (5637208) builds on parrot r40599 - make test/make spectest (up to 28009) PASS - Ubuntu 9.04 amd64 (g++) 22:18
jonathan moritz: It may die.
bacek Good morning 22:19
purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
jonathan bacek: And good moroning to you
mikehh hi bacek
bacek jonathan: :)
jonathan ;-)
moritz: Kinda distracted at the moment...will try and remember to kill it soon.
moritz jonathan: I'll try to kill myself 22:23
jonathan moritz: Feel free, danke in advance.
moritz branching_guide.pod++
mikehh partcl r587 builds on parrot r40599 - make test FAILs 7 tests but only 2 subtests - t/internals/pir_compiler.t - Failed tests: 1, 4, 6 other tests exit status 1 but pass all subtests 22:28
I am not running partcl make spectest at the moment 22:29
dalek rrot: r40600 | moritz++ | branches/rep6object:
remove outdated rep6object branch
mikehh any suggestions what next to include in my testing? 22:33
bacek mikehh: lua 22:38
chromatic Hm, storing the Integer PMC's single INTVAL attribute in PMC_data directly instead of through a struct improves the primes.pasm benchmark by 30.97%. 22:39
MoC I just switched back to IRC and the first thing I read was "[00:23:08] <@moritz> jonathan: I'll try to kill myself" ;D
chromatic If sizeof (INTVAL) == sizeof (void *), that's even doable. 22:40
whoppix pmichaud++ # giving great feedback on use.perl.org/~korpenkraxar/journal/39051
22:40 rg1 joined
MoC btw: smolder.plusthree.com/app/public_pr...ails/26249 The failed test within t/src/extend.t is new... 22:41
Whereas new means something like "it wasn't there when I last smoked"... 22:42
mikehh bacek: that's git://github.com/fperrad/lua.git right?
jonathan chromatic: You may hurt future subclassability of Integer by doing that, but only if Parrot changes how it inherits from PMCs to eliminate proxy objects. And with some macro magic you can probably deal with that anyway. 22:48
erm, proxy object is the wrong name
I mean the instance it stores of a PMC it inherits from. 22:49
chromatic We already have PMC instance attribute macro magic. 22:50
See GETATTR_Integer_iv in src/pmc/pmc_integer.h for example. 22:51
jonathan Ah, OK.
Then that's probably going to fly.
dalek rrot: r40601 | chromatic++ | trunk/examples/benchmarks/primes.pasm:
[benchmarks] Removed hard tabs in primes.pasm benchmark.

ops. As those ops create their own out PMCs, this allocated twice as many PMCs as necessary. The benchmark is now slightly more than twice as fast with no changes to Parrot itself.
chromatic If you don't want 30% faster Integers in Rakudo though, just say the word.... 22:52
jonathan chromatic: Feel free to do it, I just wanted to make sure inheritability was considered.
But it sounds like it will be. :-) 22:53
chromatic Parrot ain't done until Rakudo can RUUUUUUUN. 22:54
jonathan wants a t-shirt saying that for the next Parrot Developer Summit. 22:55
23:02 bacek joined
dalek rrot: r40602 | allison++ | branches/pcc_arg_unify/src/extend.c:
[pcc] Convert 'Parrot_call_sub' API function over to new calling

compatibility.
23:02
purl compatibility is a straw man.
bacek mikehh: (lua) yes 23:04
chromatic: did you ever consider to change PMC structure to something like struct FooPMC { struct header; attr1; ...; attrN }; where "header" is current PMC* (pruned), attr1..attrN generated from ATTRs. 23:06
Then we can omit second allocation for PMC_data.
(which is technically what you are proposing for Integer) 23:07
jonathan I guess it means you need pools of varying sizes to allocate stuff out of, and it gets a bit more complex to walk the PMC headers. 23:08
And less cache-friendly.
bacek NewPMC* and PMCheader are equivalent in terms of memory layout. 23:09
jonathan Though if a mark call involves a de-reference of the pointer anyway it may end up coming out almost equal if the common case is liveness.
bacek: No, I meant more the spacing between the PMCs.
bacek jonathan: "spacing"? 23:10
jonathan bacek: If the PMCs are being allocated out of a buffer, and you are making all of the data be allocated out of that space rather than just a header, then you have to look at every PMC in the arena when doing a DOD run, then it follows that you've more memory space to wander through. This may mean less of it fits into CPU caches, which potentially implies a performance hit. 23:12
OTOH the wins may outweigh that hit.
bacek jonathan: we are checking every PMC during DOD anyway. And VTABLE_mark trash caches because you have to load new piece into cache. 23:14
I suspect with "single PMC chunk" it will be faster (because whole PMC already there)
jonathan bacek: Maybe. However, we only need to call VTABLE_mark on stuff we know is alive.
bacek: I guess that's what we do anyway. 23:15
So a bunch of the time, depending on the death rate, we don't do VTABLE_mark.
I'm not sure how significant that factor is.
bacek Than I don't quite understand why "you have to look at every PMC in the arena when doing a DOD run"...
jonathan But yes, VTABLE_mark does likely cause some cache misses. 23:16
Ah, it's not in the DOD run I guess, it's probably the sweep...if those are still two distinct phases (I haven't kept watch).
23:18 patspam joined
jonathan Anyway, given so much is hidden away behind macros now, it may not be too hard to prototype the idea. It'd be a good bit of work still, but maybe not so bad. 23:18
23:19 nathanmccauley joined
bacek I do not look for low-hanging fruits :) 23:19
jonathan One danger is that it's a bit less "defensive" 23:22
bacek Anyway, I'll try to prototype something after auto_attrs branch merge. 23:23
jonathan In that right now, if you somehow overrun a buffer when copying stuff to the PMC struct, you're probably not going to affect other PMCs, or at least not their header data.
But given people don't tend to put buffers in there directly, but pointers to them, that's perhaps a non-issue.
Or a very minor one.
bacek jonathan: if you overrun memory you are doing it wrong :)
jonathan Well yes, of course, but designing things to try and limit damage when people innevitably do probably isn't a bad thing. ;-) 23:24
Anyway, it'd be an interesting prototype to see. 23:25
bacek Of course it's good. But it's dark scary low-level C world with raw pointers.
jonathan Things that go SEGV in the night. 23:26
bacek And steal your memory. 23:27
Join the Dark Side, Luke. 23:28
davidfetter free() the malloc()s!
bacek sweep() the mark()s! 23:29
$dayjob time. See you!
chromatic bacek, I did. I'd like to see that eventually. 23:30
23:30 MoC joined 23:32 MoC` joined
NotFound bacek: current plan is merging the branch just after the release. 23:33
treed Anyone else getting a segfault attempting to build parrot? 23:37
treed just did an svn up. 23:38
./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
/bin/sh: line 1: 14448 Segmentation fault ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
make: *** [runtime/parrot/include/config.fpmc] Error 139
dalek rrot: r40603 | mikehh++ | trunk/t/benchmark/benchmarks.t:
fix benchmark.t for changes in primes.pasm (1000 -> 5000)
23:40
NotFound treed: have you done a realclean?
treed Nope, that may be it.
>_>
mikehh rakudo (5637208) builds on parrot r40601 - make test/make spectest (up to 28010) PASS - Ubuntu 9.04 amd64 (gcc) 23:45
treed Yeah, that was it.
However.
purl Consequently, and fuuuuurther-moooooore
treed I'm trying to run a smolder_test, and I apparently don't have TAP.
Could not load TAP::Harness::Archive.
I'm not really a perl person. How do I install it? (OS X)
23:46 MoC joined
NotFound treed: using CPAN 23:47
treed doesn't know how to use CPAN.
NotFound But I'm not really a OS X person ;)
treed I recall trying once before.
It was a scary experience.
It was trying to download some file that it could never download.
treed finds sial.org/howto/perl/life-with-cpan/macosx/ 23:48
Hopefully that'll work.
NotFound treed: then better wait for someone with OS X experience with it.
treed Hm. 23:49
I tried "sudo -H cpan -i TAP::Harness::Archive" and it seemed to complete successfully, but maybe not
NotFound Just try 23:50
treed Oh, no, it didn't succeed.
make had problems
Can't locate Module/Build.pm
Trying to -i Module::Build 23:51
NotFound Usually you need to install or update a lot of modules for dependences of TAP::Harness::Archive
Maybe you have cpan configured to not auto follow dependences. 23:52
treed Now it's asking me if I want to follow.
There we go. 23:55
23:56 chromatic joined