Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8
Set by moderator on 27 March 2011.
whiteknight yeah, I've been following along 00:01
00:03 spinclad left
whiteknight blah. Screw this. Deleting the VM 00:05
00:11 nwellnhof left
soh_cah_toa cotto: you still at work? 00:12
cotto_work soh_cah_toa: yes 00:14
I can devote a few brain cycles to review though.
soh_cah_toa cotto_work: ha, alright. anyway, about fetch/vivify...
cotto_work about it
soh_cah_toa i don't think i can make it into one function 00:15
the way i had it took out all common code that didn't rely on args $2 or $3
b/c args $2 and $3 vary in type 00:16
$1 and $4 were always pmc's
in vivify, if i factor out the outer if, than i include the call to VTABLE_set_pmc_keyed_int 00:17
which uses $2 and $3
cotto_work $2 and $3 never appear inside the body of the if(PMC_IS_NULL...). Factor that out. 00:19
The if statement should stay in the op, the body should be a separate function 00:20
I'm not seeing the problem, 00:21
00:21 kid51_at_dinner is now known as kid51
soh_cah_toa you're looking at vivify? 00:22
cotto_work both
soh_cah_toa in vivify, the call to VTABLE_set_pmc_keyed is in the outermost if 00:23
cotto_work yes
soh_cah_toa but it's args are $2 and $3
which i want to avoid
b/c they're different data types in the 3 different versions of vivify 00:24
cotto_work Leave VTABLE_... inside the op body
soh_cah_toa right, that's what i have 00:25
but then i need to separate functions
b/c in fetch, there is no call to VTABLE... and i can factor out the outer if statement
i'm pretty sure that call to VTABLE... is the only different between the two 00:26
*difference
cotto_work don't factor out the outer if statement
just factor out its body
soh_cah_toa well, that's what i have. so just move the definitions to src/ops/experimental.ops? 00:27
cotto_work "definitions"?
soh_cah_toa of Parrot_stock_vivify/fetch 00:28
sorry, meant to say that
cotto_work First, you only need a single function if you leave the if in the op body. Second, yes.
soh_cah_toa ah i see! 00:29
leave the outer if in both fetch/vivify
cotto_work exactly
soh_cah_toa i was confused since we were talking only about vivify 00:30
duh, such a simple solution
cotto_work and now you know it
soh_cah_toa well, i'm still getting used to the process
cotto_work sure. It takes a while. 00:31
soh_cah_toa you wanted it renamed to Parrot_pmc_new_from_type, right?
cotto_work lowercase the first letter because it's a static function, but yes
soh_cah_toa okay
cotto_work That's why git is so great. You can hack on a clone and we can make sure that it looks good before it goes in to parrot.git 00:32
soh_cah_toa yeah, i'm loving git
cotto_work It also means you don't need a commit bit to get useful work done. 00:33
00:33 mikehh joined
soh_cah_toa oh yeah 00:33
well, i'm glad i'm learning and catching things like this now rather than gsoc time
00:33 whiteknight left
kid51 seen dukeleto? 00:34
aloha dukeleto was last seen in #parrot 6 hours 26 mins ago saying "jaffa4: we can answer questions about how Rakudo Perl 6 and Parrot VM interact, but perl6-specific questions should be asked in #perl6 on freenode".
cotto_work yup 00:35
soh_cah_toa fortunately, i'm able to pick up new things pretty quickly 00:36
and also chatting w/ a team of developers help a lot more than any book can 00:37
oh one more thing. you wanted me to use a return value. what would i need to return though? 00:39
cotto_work PMC*
soh_cah_toa oh right, the call to Parrot_pmc_new 00:40
cotto_work yup 00:41
soh_cah_toa so the only args i'd need then are interp and key (PMC pointer) 00:42
cotto_work exactly
soh_cah_toa ok, gotcha 00:43
00:51 petdance joined
dukeleto kid51: i am here, but leaving soon. 00:53
cotto_work dukeleto: ooc how long are you planning on staying under that rock? 00:54
dukeleto cotto_work: it sure is dark and comfy :) 00:56
cotto_work: i am trying to crawl back on top of a large pile of "things to do" that fell on top of me 00:57
00:57 davidfetter left
cotto_work dukeleto: moving is like that 00:58
00:59 benabik joined
dukeleto i asked the melange peeps to fix my account, but haven't had time to check it again 01:00
cotto_work: what do you need from me? 01:06
cotto_work dukeleto: nothing atm. just curious
cotto_work goes home 01:07
petdance I do believe I'm going to start the PMCNULL/STRINGNULL stuff 01:08
dalek rrot: 756e1da | mikehh++ | src/pmc/imccompiler.pmc:
fix codetest failure - add missing ASSERT_ARGS
01:09
01:10 spinclad joined, woosley joined
petdance oh wait, don't we have a rleease coming up? 01:11
kid51 petdance: 7.5 days 01:12
petdance hm
01:12 mtk left
kid51 3.3: "supported" release 01:12
recommend branch for new stuff
petdance: BTW, at $job, I was favorably impressed with a new director who (for the first time at this job) used the concept of "technical debt" in conversation 01:13
petdance goodness.
yeah, there's a branch I'm on already 01:14
kid51 cool
01:15 jevin joined 01:18 mtk joined 01:19 cosimo joined
mikehh still failing with g++ - t/src/extend_vtable.t (TT #2084) and also t/examples/pod.t (TT #2088) 01:23
soh_cah_toa mikehh: t/examples/pod.t i think has 3 errors, right? 01:24
atrodo yay! I made it into the quotes. Too bad it's not the punchline :( 01:27
mikehh soh_cah_toa: I get failed 1 of 613 subtests - it loses its sequence due to 2 prints that output 01:29
look at TT #2088
soh_cah_toa mikehh: okay. yeah, i was trying to fix them a while ago when i was working on some docs. the error message weren't very descriptive though and had some trouble 01:30
mikehh: i'll be going back to it once i'm finished w/ TT #1215 01:31
01:31 jevin left
mikehh soh_cah_toa: the problem is that the print with :immediate and :postcomp actually outputs, which it did not do previously 01:33
we probably need to discuss this in #ps tomorrow, (or later today, for me :-} ) 01:35
soh_cah_toa mikehh: which line number is that?
plobsing the problem is that :immediate (no :anon) and :postcomp weren't run by IMCC unless it was compiling PIR to be run 01:36
the purpose of the compilation is a piece of information IMCC doesn't need and no longer has 01:37
mikehh it is in docs/ppds/pir_19.pod - the snippet around line 491
dalek rrot: 568c380 | jkeenan++ | config/auto/llvm.pm:
[configure] Don't pick up LLVM's ccflags. trac.parrot.org/parrot/ticket/2089.
01:38
soh_cah_toa mikehh: okay 01:39
dalek TT #2092 created by jkeenan++: config/auto/llvm.pm: Offer explicit optout 01:40
TT #2092: trac.parrot.org/parrot/ticket/2092
TT #2089 closed by jkeenan++: LLVM cflags prevent debug builds
TT #2089: trac.parrot.org/parrot/ticket/2089
mikehh soh_cah_toa: if you look at the output of prove -v t/examples/pod.t you will see it gets -> 4243ok 335 - docs/pdds/pdd19_pir.pod:491:PIR: 01:41
a lot of output though :-}
soh_cah_toa yeah, no kidding 01:42
mikehh the test does not expect the 4243 and so loses sequence or something
soh_cah_toa alright 01:44
01:46 kid51 left 01:58 dngor_ is now known as dngor 02:05 jevin joined 02:06 ShaneC left
soh_cah_toa cotto: i submitted the patch if you want to take a look trac.parrot.org/parrot/ticket/1215 02:14
cotto ~ 02:19
soh_cah_toa, will do (might be a bit though)
soh_cah_toa cotto: not a problem 02:20
02:20 ShaneC joined
soh_cah_toa says goodnight to parrot 02:40
02:40 soh_cah_toa left 02:51 hudnix left 02:57 mikehh left 03:23 mikehh joined 03:46 jevin left 04:31 petdance left 04:41 JimmyZ joined
cotto anyone have any thoughts on what a talk about the state of Parrot should cover? 05:40
www.linuxfestnorthwest.org/sessions...t-state-vm 05:43
05:43 bacek_at_work left, aloha left 05:46 jevin joined 06:10 bacek_at_work joined
cotto melange-- 06:17
Are they trying to make the ui worse?
cotto feels a little better
karma melange 06:18
bacek_at_work, aloha is slacking off
I need to register my internets rage.
06:19 aloha joined
bacek_at_work cotto, yeah... My desktop just hang and I have toreboot it. 06:20
aloha, karma melange
aloha bacek_at_work: melange has karma of -14.
cotto melange--
bacek_at_work aloha, karma melange
aloha bacek_at_work: melange has karma of -17.
bacek_at_work looks like she is alive
cotto and there was much rejoicing
bacek++ 06:22
06:29 fperrad joined 06:39 contingencyplan left 06:42 woosley left 06:46 contingencyplan joined 06:49 NotFound left, NotFound joined 06:53 woosley joined 07:01 theory left 07:18 krunen joined 07:48 Eduardow left 07:50 JimmyZ left 07:52 cosimo left 07:55 JimmyZ joined 07:56 Eduardow_ joined 08:21 ShaneC left 08:45 S_Arms joined 08:48 fmiju joined
fmiju Hello everyone. I wrote my gsoc application for subroutine-level profiler project, but it is still incomplete. Thanks for people who commented on it, and sorry that I didn't reply earlier. The problem is, that I don't know what exactly I should be doing each week, so I can't write a proper schedule. 09:08
moritz fmiju: that often means that you didn't think the proposal through in enough detail 09:09
and welcome to #parrot :-)
fmiju: for example, you can take a look at other profilers, and see what components they have
fmiju: and then identify which of them are crucial for operation 09:10
fmiju: and then chose to implement them in an order that makes sense. That way you get a feeling for how much work it is
and then you spread that work over the weeks that are availalbe to you 09:11
fmiju Thank you, I'll read more about it. 09:12
moritz it does take work, but it could well be worth it
fmiju yes, I understand. But still, I think I'm completely inexperienced, and will need a lot of time 09:14
Can I leave more work for July and August, and make less in May and June? That's because there are exams and other things to do in university. 09:25
moritz fmiju: if you can get something decent for the mid term evaluations, yes 09:27
something decent to run, I mean
fmiju Right :) 09:30
09:34 contingencyplan left 09:41 ShaneC joined 10:16 woosley left 10:17 ambs joined 10:28 jrtayloriv left
dalek rrot/jit_prototype: fece603 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Fix previous commit: we need explicit ws
10:39
10:51 ShaneC left, UltraDM joined
dalek rrot/jit_prototype: 3ce7b62 | bacek++ | t/compilers/opsc/03-past.t:
Update test to recent code changes.
11:01
rrot/jit_prototype: b139e39 | bacek++ | t/compilers/opsc/20-jit.t:
Update test to latest code changes.
rrot/jit_prototype: 9e8d596 | bacek++ | t/compilers/opsc/07-op-to-c.t:
Update test to latest code changes.
11:20 fmiju left 11:22 woosley joined 11:25 JimmyZ left 11:27 UltraDM left 11:35 darbelo joined 11:51 Patterner left 11:56 Psyche^ joined, Psyche^ is now known as Patterner 12:15 Coke joined 12:16 janus left, janus joined 12:26 whiteknight joined 12:27 JimmyZ joined
whiteknight good morning, #parrot 12:31
moritz good morning whiteknight 12:33
whiteknight: if you backlog, you'll see that fmiju of gsoc fame (subroutine-level debugger) had temporarily joined the channel
whiteknight oh, awesome 12:34
moritz I didn't know what to say really, to be both encouraging and demanding :-)
atrodo "Good job, but we need more braaaaiiiins"? 12:35
whiteknight it's not easy to say the right things
dalek rrot/jit_prototype: 0f9bcc2 | bacek++ | compilers/opsc/src/Ops/ (3 files):
Rework handling of '->' and '.' to be postfix
12:37
12:40 bluescreen joined
whiteknight moritz: is rakudo still segfaulting for you on latest parrot? 13:01
I haven't had a lot of tuits to throw at the problem
moritz whiteknight: haven't tried today, will do that now
whiteknight thanks 13:02
I was going to try to put out a release candidate of sorts today, but if rakudo is having problems I won't do that
I probably can't build Rakudo here on this machine 13:04
moritz my attempts to bisect his problem have gone wrong very badly 13:07
rakudo on some parrot revs required so much memory that it made my machine unusable
or didn't build with a ulimit
so I tried 'git bisect skip'
and it took me outside the bisecting range (wtf?)
13:09 hudnix joined 13:10 JimmyZ_ joined
moritz whiteknight: observed a first segfault on latest parrot 13:11
13:12 JimmyZ left, JimmyZ_ is now known as JimmyZ 13:15 mtk left
whiteknight moritz: two revisions I would really like to see tested, if you have the time, are the revisions directly before the imcc_compreg_pmc merge, and the revision after it 13:16
or, the revision where the merge happened 13:17
I want to try to isolate whether that is or is not the problem
moritz whiteknight: commit 1842a6ef65a33c24c6f7e21004f006ce1e9e5b3d right?
whiteknight lemme look 13:18
yeah, that's the merge
020b9ecbed083ef9ad7c53ac233ff781ac053674 is the one before it
moritz whiteknight: will do after my current test run
whiteknight okay, thanks
13:19 JimmyZ left
whiteknight the imcc_compreg_pmc branch was very long-lived. bisecting across it could easily take you out of your range 13:19
13:19 mtk joined, JimmyZ joined
moritz ouch 13:19
moritz wants an option to treat branch merges as a single commit in a bisect 13:20
whiteknight if we have to undo that merge for the release, I want to know sooner rather than later
or, if we can find and fix the bug, all the better
moritz if jnthn_ doesn't want to use the new nqp in rakudo this month, we can also base the rakudo release on the previous parrot release :-) 13:22
Coke OOC, did this branch not cause any trouble before merging?
moritz (but it would be LTA, of course)
whiteknight Coke: I didn't see any trouble myself in the branch or after the merge
the segfaulty problems moritz is seeing don't seem to appear on all systems, and are heavily dependent on GC 13:23
Coke Did you ask for folks to test it (esp with rakudo) before the merge? Or did you rely just on your machine?
whiteknight Coke: I sent out several emails to ask for help testing
and I got several successful test reports
I do not believe this was a hasty decision, and it appears the bug is transient and emergent 13:25
it's very highly tied to the GC
13:26 bubaflub joined
whiteknight plobsing could duplicate it on his machine, committed a fix, and now doesn't see it on his machine 13:26
moritz still seems to see it, however
moritz I see segfaults - not sure if they are still the same ones
whiteknight moritz: okay, is it possible to get a backtrace? 13:27
I should be able to identify pretty quickly if they are related
moritz whiteknight: I'll try to get one, after testing before and after the merge 13:28
whiteknight moritz++
13:32 ambs left
whiteknight oh wow, I got Rakudo to build on this machine 13:41
no segfaults for me 13:42
and make test passes without issue
moritz what about spectest? 13:44
whiteknight haven't tried. I can do that, but it is guaranteed to take forever 13:46
I'm running a few other tests first to see if anything else is looking segfaulty 13:47
moritz RELEASE_3_2_0-148-g020b9ec: clean 13:48
whiteknight which one is that? 13:49
moritz 15:18 <@whiteknight> 020b9ecbed083ef9ad7c53ac233ff781ac053674 is the one before it
that's the one
whiteknight okay, so the one before the imcc_compreg_pmc merge is clean
that's a good sign.
dalek sella: a5231a1 | Whiteknight++ | t/test/Result.t:
fix broken test
13:53
whiteknight okay, winxed works fine. nqp builds and runs all tests. rosella builds and runs all tests. I'm going to start a spectest run for rakudo now to see if I can duplicate anything 13:55
14:04 JimmyZ left
moritz segfaults on RELEASE_3_2_0-325-g1842a6e 14:12
(that's the merge)
whiteknight okay, so that's the culprit 14:13
I don't need a backtrace from the merge. What I really need is a backtrace from Parrot HEAD
moritz going back to master now, building without --optimize
whiteknight okay, awesome
Coke moritz++ # building all this stuff takes forever. 14:16
moritz Coke: building parrot is actually quite fast
make -j3 and ccache be thankit 14:17
Coke www.redbullusa.com/cs/Satellite/en_...2969629749 #nifty
14:17 JimmyZ joined
Coke moritz: yah, I was more referring to rakudo. ;) 14:17
whiteknight a ccache-alike utility for Parrot world would be nice 14:22
we've got a ways to go before that's possible, however
JimmyZ ccache is not enough? 14:25
Coke JimmyZ: can we use ccache when making .pbcs out of .pirs ? 14:26
JimmyZ the runtime pirs doesn't take much time 14:27
14:30 lucian joined 14:33 lucian_ joined
moritz whiteknight: without --optimize I now get an assertion failure from gc... nopaste coming 14:33
nopaste "moritz" at 192.168.1.3 pasted "rakudo on latest parrot, without --optimize" (89 lines) at nopaste.snit.ch/40170 14:35
"moritz" at 192.168.1.3 pasted "corresponding C backtrace" (65 lines) at nopaste.snit.ch/40171 14:36
14:36 lucian left 14:41 dmalcolm joined
whiteknight okay, that problem looks very different from what plobsing and I were seeing over the weekend 14:41
moritz with --optimize it seems more random than the previous problem 14:42
without optimize, I get it for every single spectest file
whiteknight how many synopses are there? 14:44
my spectest run is at S32. I'm wondering how much longer it will go 14:45
moritz S32 is the last 14:46
whiteknight oh, awesome
moritz maybe you'll get integration tests after that
whiteknight blah
the backtrace suggests that a PMC from inside a PackFile constants table is being collected by the GC 14:48
and that shouldn't happen. Inside IMCC the GC should be turned off. Outside IMCC, the packfile should be wrapped in a PMC for marking
moritz whiteknight: do you want shell access to my machine for debugging?
whiteknight and that PMC should be registered, so it's always alive
moritz: not yet 14:49
moritz whiteknight: it's behind a DSL line, so there's some lag invovled
whiteknight moritz: let me look around at a few other things first
moritz sure
14:50 theory joined 14:55 Eduardow_ is now known as Eduardow
whiteknight the two options are either GC is running during IMCC, or the PtrObj PMC isn't properly marking the PackFile (or isn't itself being marked) 14:57
14:57 JimmyZ left
moritz if nobody else can reproduce it, there's a third option: my setup is screwed 14:58
whiteknight I'm going to follow the assumption that you are competent enough 14:59
moritz I've now created a new user, and building the stuff in the context of that new user
without ccache, just to be sure
whiteknight considering how new most of this software is, it's hard to blame anything but the code
holy crap. how many tests for tan does rakudo need? 15:03
moritz quite some, for different numeric types, different angle units etc. 15:04
whiteknight is there any reason why all that has to be in the core runtime for the language, and can't be in a library somewhere? 15:05
moritz the decision to value convenience higher than a small core 15:06
at least in some areas
whiteknight it seems weird to make everybody pay the cost of including features that only a small handful of people will need 15:07
of course, Parrot still hasn't completely excised all it's similar math methods, so I can't complain too loudly
we will, eventually
moritz there are tentative plans to make some modules autload instead of pre-load 15:08
whiteknight ok
moritz: are you having any better success in the build with the new user? 15:09
my spectest run just completed. 100% pass
moritz whiteknight: it's slow as hell... and the first tests didn't segfault
wtf.
moritz tries with rm -rf ~/.ccache
whiteknight ccache is supposed to not cause those kinds of problems. 15:11
moritz whiteknight: pmichaud reported one instance of such weirdness 15:12
whiteknight: the only other things I do differently as user 'moritz' is parallel build 15:13
no other parrot in $PATH 15:14
whiteknight moritz: did pmichaud report his weirdness before or after that last fix from plobsing?
I was pretty convinced plobsing fixed it, which is why I'm trying to get comparisons
moritz whiteknight: he reported a ccache weirdness years ago
15:14 hercynium joined
moritz whiteknight: sorry if that was badly phrased 15:15
15:19 Andy_ joined
whiteknight oh, okay. that makes me feel much better 15:30
are any other rakudo devs seeing issues in Parrot HEAD that you are aware of 15:31
?
or, is nobody else testing it as diligently as you are?
moritz whiteknight: I'm not aware of anything
oh, one more difference which I just remembered
'moritz' uses perl 5.12.1
'tester' uses the system perl (5.10.something from Debian)
moritz starts to see how pulling configure options from perl is really hurtful 15:32
cotto_work ~~
15:37 woosley left 15:42 lucian joined
whiteknight okay, we should try to find out *today* if this is a symptom of a bigger issue or if it's a local problem only. If it's a bigger issue, we need to do some major emergency work for the release 15:42
cotto_work backscrolls 15:43
moritz whiteknight: I'm doing a test run now with perl-5.12 but serial build. So far it looks good (wtf?)
whiteknight okay
moritz problem is that with --optimize, the spectests are slow as hell 15:44
15:46 lucian_ left
whiteknight yes they are 15:48
moritz oh wait, I just compiled with --gc=gms 15:51
ETOOMANYPARAMTERSTOTEST
no wonder they were so slow
today the world hates me.
15:52 ambs joined
whiteknight --gc=gms makes your tests run slower? 15:53
15:54 ambs_ joined, ambs left, ambs_ is now known as ambs
whiteknight wishes he could get a lot less mail from the gsoc mentors mailing list 15:55
moritz whiteknight: no, lack thereof
cotto_work there needs to be a gsoc-irrelevant list
whiteknight cotto_work: yes, and all the chatty mentors can be subscribed to that instead 15:56
moritz ... transparently :-)
whiteknight people don't stop to think that several thousand mentors and admins don't need to be reading every quick reply they write
moritz commutes while rakudo recompiles 15:57
Coke I don't mind most of the traffic, just all the negative crap.
whiteknight Coke: for the most part, me too. I don't mind most of the chatting most of the time. The really negative people and the on-list complainers really bug me 15:58
every time they push an update to melange you would think the sky was falling 16:00
"zomg things have moved around a little bit and I can't just click things without looking first" 16:01
16:01 fmiju joined
cotto_work It wouldn't be so bad if they made things better. 16:01
whiteknight it's not bad at all no matter what they do 16:02
if they replaced the whole website with a picture of Carol smith giving the middle finger, it would still be fine
and we should still be grateful for the opportunity
cotto_work I'm still glad Google is doing gsoc. I wish they'd find a ux person.
whiteknight For april fools, I was seriously considering an anouncement that Parrot had been accepted into the Microsoft Autumn of Documentation 16:03
cotto_work That'd have been great.
16:07 contingencyplan joined 16:10 Eduardow left 16:11 Eduardow joined
atrodo +1 to MAD existing 16:11
cotto_work thinks of Inspector Gadget 16:14
What's the working hypothesis for the issues moritz++ is seeing? perl 5.12.1 issue? 16:15
16:15 soh_cah_toa joined
cotto_work hio soh_cah_toa 16:16
soh_cah_toa cotto_work: hey, just the man i'm looking for
cotto_work ducks
soh_cah_toa haha, no nothing bad. just about tt #1215 16:17
cotto_work sure
dukeleto ~~
cotto_work soh_cah_toa: you saw my feedback?
any questions about it?
good morning, dukeleto
soh_cah_toa cotto_work: yeah, i did. you wanted me to run 'make bootstrap-ops'. what does that target perform? 16:18
cotto_work It's basically the same as running ./ops2c --core
soh_cah_toa oh, okay. 16:19
cotto_work It rebuilds the C ops code from the .ops files
soh_cah_toa b/c i built it w/ core-vm and just make and it built fine
cotto_work yeah. We have to have bootstrap-ops be a separate dependency or the build will depend on itself.
s/dependency/target/
soh_cah_toa okay 16:20
cotto_work the joys of self-hosting
soh_cah_toa :)
i'm surprised it didn't pick up the preamble typo 16:21
cotto_work corevm doesn't even look at the .ops files
soh_cah_toa well that explains it 16:22
another thing, what was the the issue w/ the VTABLE functions? 16:23
cotto_work you changed them
soh_cah_toa really? maybe it was a copy/paste mistake 16:24
cotto_work VTABLE_get_pmc_keyed_str -> VTABLE_get_pmc_keyed (or similar)
the first takes PARROT_INTERP, PMC*, STRING* and the second takes PARROT_INTERP, PMC*, PMC* 16:25
16:25 mtk left
soh_cah_toa i see it now 16:25
cotto_work ok
I forgot to run bootstrap-ops when testing your patch. It's an easy mistake to make. 16:26
soh_cah_toa yeah, that's what it was. i just copy/pasted into all of them w/o looking a little closer
well now i know 16:27
cotto_work learn from it and it won't be a waste 16:28
soh_cah_toa that's right 16:29
16:30 mtk joined
soh_cah_toa question...what does the :base_core modifier do to the opcode? 16:32
cotto_work soh_cah_toa: I'm not sure it does anything. 16:35
soh_cah_toa ha, alright then 16:37
benabik The string "base_core" only exists in the ops files and ops tests... Seems somewhat likely it doesn't do anything. 16:38
soh_cah_toa right 16:39
cotto_work It's the first of many historical leftovers you're likely to find.' 16:40
16:41 fmiju left
soh_cah_toa oh, probably right 16:42
benabik Wierd. Searching through the history with `git log -Sbase_core --stat`, I'm not finding it anywhere but ops files.
soh_cah_toa benabik: yeah, that's what i meant 16:43
bubaflub soh_cah_toa: you can open a ticket with a patch to remove :base_core 16:46
soh_cah_toa bubaflub: yeah? alright, will do
bubaflub soh_cah_toa: sure. if no patch at least it's in the ticket system
soh_cah_toa i can do that w/ a quick sed script 16:47
bubaflub soh_cah_toa: something to do later. these things have a way of popping up and then someone says "it'd be nice to fix that..." and then it just goes down the memory hole
soh_cah_toa++
cotto_work soh_cah_toa: if you can remove them now, go for it. 16:48
soh_cah_toa i'll open the ticket in a few minutes but it may have to wait until tomorrow. i got some h/w to do after i submit this patch 16:49
cotto_work sure 16:50
benabik I found where it was first added, but can't see it was doing anything even then. :-/
whiteknight homework schmomework
soh_cah_toa i know, i know... :/ 16:51
do i gotta run src/ops/experimental.ops through headerizer? 'make bootstrap-ops' is complaing about a missing prototype. also complaing about ASSERT_ARGS 16:52
*complaining
cotto_work the .ops files don't get headerized in their current state 16:54
soh_cah_toa i didn't think so
i don't understand it's problem then. the functions are defined before they're used anywhere so i don't need a prototype 16:55
cotto_work can you nopaste what you've got?
soh_cah_toa sure
16:58 Andy_ left
nopaste "soh_cah_toa" at 192.168.1.3 pasted "TT #1215 patch - 'make bootstrap-ops' errors" (361 lines) at nopaste.snit.ch/40172 16:59
17:02 Andy_ joined
cotto_work soh_cah_toa: in the future it'd be more helpful to post a diff 17:06
git diff
soh_cah_toa alright 17:07
nopaste "soh_cah_toa" at 192.168.1.3 pasted "'git diff' for my previous nopaste" (1460 lines) at nopaste.snit.ch/40173 17:11
soh_cah_toa wow, that's really long 17:12
cotto_work no worries. it's mostly generated 17:13
The build works for me, which makes me suspicious. 17:14
now it breaks
soh_cah_toa yeah, that's not right
i was getting the error about mixed declarations and code a while ago. it was b/c i had a semicolon after ASSERT_ARGS. but as you can see, it's fine now 17:15
17:16 lucian_ joined
soh_cah_toa that was before the first patch, i mean 17:16
cotto_work s/new_pmc/pmc_new/ 17:17
benabik Doesn't ASSERT_ARGS use macros defined by headerizer? (The #define ASSERT_ARGS_func ?)
cotto_work delete the ASSERT_ARG macro
benabik: right
soh_cah_toa odd, it still complains about it... 17:18
cotto_work rebootstrap?
those two changes should get everything working again
17:19 lucian left
soh_cah_toa it says the ASSERT_ARGS is in core_ops.c even after i removed it 17:19
i mean i removed it from src/ops/experimental.ops 17:20
cotto_work you need to either edit core_ops or rebootstrap ops again 17:21
soh_cah_toa well 'make bootstrap-ops' is what's giving me the error
isn't that supposed to generate a new core_ops.c file? 17:22
cotto_work yes
in that case you need to edit core_ops.c
just delete the ASSERT_ARGS and fix the function name and it should build again 17:23
soh_cah_toa fix the function name?
cotto_work alternately, you can do git checkout src/ops/core_ops.c to get back to a working version of that file
yes
soh_cah_toa what's wrong w/ it? 17:24
cotto_work some op bodies call parrot_new_pmc_from... instead of parrot_pmc_new_from....
soh_cah_toa wow, that's so trivial i didn't even notice
cotto_work The part after "parrot" refers to the subsystem that the function belongs to.
soh_cah_toa alright
cotto_work gcc did though 17:25
17:25 Eduardow left
soh_cah_toa looks like ops2c fixed it 17:25
cotto_work there you go 17:26
soh_cah_toa that's odd b/c i though bootstrap-ops was supposed call that
*thought
cotto_work ops2c just runs whatever ops2c you happen to have built
bootstrap-ops checks dependencies
soh_cah_toa okay 17:27
well, i fixed that but now i got something else... 17:29
cotto_work wheee
benabik Ah the classic cycle of fix a bug so the compiler can get to another bug.
soh_cah_toa oh wait, i think i edited the function makes after ops2c
let me re-run 17:30
*names
NotFound Now you are seeing why I said that even trivial changes in functions in .ops files are hard? 17:31
soh_cah_toa yeah, no kidding
cotto_work there are obstacles
soh_cah_toa it was a simple fix
but somehow turned out to take way more than it should've 17:32
17:32 hercynium left 17:33 ShaneC joined 17:35 dmalcolm left
soh_cah_toa alright, look like 'make bootstrap-ops' finally decided to shut up 17:41
17:41 hercynium joined
soh_cah_toa are the warnings about the missing prototype okay? 17:41
whiteknight they can go away later 17:42
soh_cah_toa alright
mikehh rakudo (4bf1327) - builds on parrot (3_2_0-356-g568c380) - make test, make spectest_smolder[(#14490), roast (2b4b33c)] PASS
Ubuntu 11.04 beta i386 (g++ --optimize)
27,636 ok, 0 failed, 606 todo, 1,799 skipped and 0 unexpectedly succeeded
cotto_work soh_cah_toa: that function needs to return pmc. 17:43
soh_cah_toa i does
it*
cotto_work what you nopasted didn't 17:44
gcc complains about it 17:45
warning: control reaches end of non-void function
soh_cah_toa which one? nopaste 40172?
benabik Wow. Rakudo spectest is sloooooow when I don't use optimize and gms. Hasn't crashed yet though, which is awesome.
cotto_work both 72 and 73 17:46
soh_cah_toa b/c it is there
cotto_work there's no return statement
soh_cah_toa agh! 17:47
umm...i meant to do that
17:48 Eduardow joined 17:51 hercynium left, hercynium joined 17:54 Eduardow left
moritz also gets segfaults with the system perl 18:01
whiteknight moritz: Can you put together like a results matrix or something so we can get a clear idea of what the problem is? 18:03
moritz whiteknight: so far the only conclusive result is: it only segfaults with --gc=gms 18:04
whiteknight okay, so that's an interesting result
and it points to the possible cause
Maybe we're not using write barriers correctly where the PtrObj PMC is concerned 18:05
if we need to be using it at all
either way, I think 3.3 is going out with ms2 as the default GC
cotto_work yes 18:06
whiteknight so that puts a little bit less strain on the situation
cotto_work that's been the plan
whiteknight but we still need to get it resolved
cotto_work also yes
benabik Rakudo's --gen-parrot builds parrot with --gc=gms
whiteknight is --gc=gms a configure flag or a runtime flag? 18:07
benabik Configure, I believe.
cotto_work configure to select the default
can be overridden at startup
benabik So although parrot's default default is ms2, rakudo's parrot's default is gms. 18:08
cotto_work yes
they opt-in
whiteknight okay, I just got a Rakudo segfault with an --optimize'd parrot 18:09
18:09 dukeleto left
whiteknight FUUU 18:09
cotto_work x64?
whiteknight yes 18:10
if I'm getting a GC-related failure with --optimize, that suggests to me that a PMC is not safely being marked on the stack
just a suggestion, of course. There are other possible alternatives 18:11
and this whole situation still smells to me like we're running GC during IMCC 18:12
cotto_work can hack something to check that? 18:14
whiteknight I'm going to
18:14 davidfetter joined
moritz huh, with --gc=gms the parallel build seems to be incomplete from time to time 18:15
18:19 loufoque joined
cotto_work soh_cah_toa: do you have a patch? 18:19
18:20 Eduardow_ joined
soh_cah_toa cotto_work: yeah, i submitted it 18:20
cotto_work soh_cah_toa: testing now 18:22
soh_cah_toa cotto_work: okay
loufoque does parrot have support for a regular expression engine? 18:25
or is that perl-specific
whiteknight we don't have a regex engine built-in 18:26
we do have bindings to pcre
Coke ... also PGE, NQP...
whiteknight NQP provides a regex engine
loufoque ok so it's perl-specific 18:27
moritz loufoque: not at all
loufoque well PGE and NQP are Perl frontends for parrot no? 18:28
moritz loufoque: it has a backend for generic regex features. Only the grammar for it is perl specific
loufoque: but you can in principle use it without any perl syntax (it just takes some work)
cotto_work soh_cah_toa: what's an email address you use that github knows about? 18:36
soh_cah_toa cotto_work: kpolulak@gmail.com 18:37
cotto_work ok. I want to test nqp with your changes, but so far it looks good.
soh_cah_toa yay 18:38
18:38 nwellnhof joined
cotto_work t/pmc/threads.t failed with ENOBODYCARES 18:40
18:40 benabik left
soh_cah_toa what does that mean? 18:42
cotto_work it's an unreliable test for a subsystem that doesn't work well 18:43
soh_cah_toa so is it gonna be a problem? 18:44
cotto_work nope
soh_cah_toa okay 18:45
cotto_work not yours, at least
soh_cah_toa alright then
18:46 dmalcolm joined 18:52 benabik joined 18:53 fmiju joined
dalek TT #2093 created by soh_cah_toa++: Remove :base_core modifier from *.ops files 18:54
TT #2093: trac.parrot.org/parrot/ticket/2093
18:56 loufoque_ joined 19:01 loufoque left 19:03 loufoque_ left
dalek nxed: r956 | NotFound++ | trunk/winxedst (2 files):
introduce experimental statement 'switch without expression' and use it in few
19:05
19:09 bubaflub left
cotto_work there's one nqp failure, but it occurs without the fetch/vivify patch 19:11
there you go 19:13
...
jnthn_ cotto_work: Is that nqp as in new-nqp?
cotto_work master branch of the nqp repo 19:14
dalek rrot: 91bd7c3 | (Kevin Polulak)++ | src/ops/ (2 files):
factor common code in fetch/vivify into a static function

Signed-off-by: Christoph Otto <christoph_github@mksig.org>
jnthn_ OK, there's one of the hll tests that consistently fails atm. Sorry 'bout that.
cotto_work jnthn_: ok
dalek nxed: r957 | NotFound++ | trunk/ (3 files):
update installable files
19:15
TT #1215 closed by cotto++: Factor out Duplicated Code in vivify/fetch opcodes 19:26
TT #1215: trac.parrot.org/parrot/ticket/1215
19:32 fmiju left
cotto_work #ps in 57 19:33
19:34 darbelo left, darbelo joined 19:41 bubaflub joined
dalek TT #2091 closed by jkeenan++: t/op/gc-leaky-box.t, t/op/gc-leaky-call.t: new test failures 19:42
TT #2091: trac.parrot.org/parrot/ticket/2091
Tene valgrind.org/docs/manual/dh-manual.html -- DHAT looks very interesting 19:58
cotto_work Tene: quite 20:02
Tene++ for a potentially really nice fine 20:05
soh_cah_toa Tene: lucky for you i have something like that in my gsoc proposal and have been checking out valgrind source code for inspiration
cotto_work sadly ubuntu 10.10 doesn't have a recent enough valgrind to include that 20:07
or it was explicitly excluded 20:10
20:11 lucian_ left 20:13 bluescreen left 20:16 lucian joined
nopaste "cotto_work" at 192.168.1.3 pasted "playing with DHAT" (217 lines) at nopaste.snit.ch/40174 20:20
20:20 jrtayloriv joined
cotto_work I read that as "ouch". 20:22
plobsing cotto_work: what is "ouch" about that? 20:28
20:29 whiteknight left
cotto_work plobsing: notice how many blocks get freed 20:29
mikehh #ps time 20:30
plobsing as far as valgrind is concerned, we didn't free() them, true. but that's because GC doesn't return memory to the system 20:31
cotto_work plobsing: it eventually gets freed though, right? 20:32
at interp destruction
plobsing unlikely. I thought we disabled global destruct.
benabik Huh. Parrot master while compiling Rakudo: Normal succeeds, --optimized succeeds, --gc=gms succeeds, --optimized --gc=gms segfaults on Compiler.pir. 20:37
dalek Heuristic branch merge: pushed 196 commits to parrot/tt1931-nci-parameters-deprecation by plobsing
20:55 darbelo left, darbelo joined 20:57 ambs is now known as mib_foobar, mib_foobar is now known as ambs 20:58 darbelo_ joined 21:02 darbelo left, darbelo_ left 21:03 darbelo joined, theory left 21:04 dngor left 21:05 theory joined 21:11 darbelo left
dalek rrot: da70a78 | cotto++ | docs/pdds/pdd19_pir.pod:
make pdd19 examples not print output during compilation
21:24
benabik Actually, --optimize --gc=gms builds. --optimize --gc=gms --debugging=0 fails. 21:25
21:29 Andy_ left 21:31 ambs left
dalek TT #2088 closed by cotto++: strange error in t/examples/pod.t 21:32
TT #2088: trac.parrot.org/parrot/ticket/2088
21:33 hercynium left 21:39 lucian left
dalek rrot/jit_prototype: 06fda1a | bacek++ | t/jit/jitted.ops:
Add more ops for jitting test.
21:46
rrot/jit_prototype: 0d384e7 | bacek++ | t/compilers/opsc/01-parse-body.t:
Add more tests.
rrot/jit_prototype: 5952810 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Add LLVM::Type::initialize_from_module to take advantage of precompiled bytecode.
21:46 rohit_nsit08 joined
dalek rrot/jit_prototype: 589fcc7 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Don't initialize all types to prevent segfault. I'll fix it later.
21:46
rrot/jit_prototype: cdda279 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Stylish changes in error handling
rrot/jit_prototype: 5029f51 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Initialize LLVM types from loaded bitcode
rrot/jit_prototype: 9217a4a | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Generate int constants
rrot/jit_prototype: 36fbc18 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Initial (broken) handling of -> access
rrot/jit_prototype: eb7660d | bacek++ | compilers/opsc/src/Ops/JIT.pm:
More semantically correct op_macro jitting
rrot/jit_prototype: 5bffc3b | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Temporary skip undeclared functions instead of dying
rohit_nsit08 hello #parrot 21:47
davidfetter what's shakin', rohit_nsit08 ?
rohit_nsit08 davidfetter: hi, sorry didn't get that. 21:48
davidfetter reminds himself that US idiom may not go over so well in an international channel 21:49
bubaflub rohit_nsit08: "what's shakin'" == "what's up"
rohit_nsit08 bubaflub: hi, ooh thanks. davidfetter: rocking :-) 21:50
was just reading a book on compilers
some alfred V. Aho
bubaflub rohit_nsit08: very nice. which one - the dragon book?
rohit_nsit08 yup
davidfetter dragon I (C) or dragon II (java)?
rohit_nsit08 red one
bubaflub rohit_nsit08: nice. i picked up a used copy for cheap and plan on reading it soon 21:51
rohit_nsit08 davidfetter: it is C based
davidfetter was quite dismayed to discover that examples early in that book simply would not compile using a modern C compiler 21:52
soh_cah_toa rohit_nsit08: the dragon book?
davidfetter ...and got a whole new appreciation for COBOL as a consequence
rohit_nsit08 soh_cah_toa: yes
soh_cah_toa rohit_nsit08: neat, i just ordered myself a copy too
davidfetter ponders transcendental functions
soh_cah_toa for now, all i have is the ebook editioin 21:53
davidfetter has a copy of dragon I
rohit_nsit08 soh_cah_toa: great :-) , i have a hard copy and ebook too, if u wish i can mail it to you.
benabik Dragon I & II?
soh_cah_toa thanks, but that's alright. my hardcopy should be in within a few days. my ebook will suffice for now :) 21:54
benabik I have the 2nd ed Dragon book, but it's not in Java... It's not really in C either, for that matter.
soh_cah_toa for me...dragon II
rohit_nsit08 any major difference
?
soh_cah_toa not sure, never read dragon I 21:55
bubaflub rohit_nsit08 and soh_cah_toa and benabik - i also recommend the ANTLR book
soh_cah_toa bubaflub: the definitive antlr reference? 21:56
bubaflub soh_cah_toa: yessir. quite instructive, even if you don't use ANTLR itself 21:57
rohit_nsit08 i just checked, and i have ebook of second edition and hard copy of 1st edition :-)
bubaflub soh_cah_toa: but ANTLR does have some pretty slick tools for writing grammars
soh_cah_toa bubaflub: yeah, i've heard. never did use it though. i'll have to check out that book 21:59
rohit_nsit08 was checking the website of ANTLR, looks great 22:00
22:01 davidfetter left
soh_cah_toa speaking of book recommendations...any recommendations for books on unit testing? 22:05
tutorials can only teach you so much...
rohit_nsit08 i referred whiteknight's blog post for unit testing. A very good to start with 22:11
bubaflub rohit_nsit08: you're referring to this - whiteknight.github.com/2011/03/28/i...ting.html?
rohit_nsit08 ya 22:12
bubaflub yes, it's quite good. i passed it on to a former co-worker who is learning how to do testing. 22:13
22:13 nwellnhof left
soh_cah_toa oohhh...very nice 22:13
22:13 nwellnhof joined
dalek rrot: 24233e2 | nwellnhof++ | t/perl/Parrot_Test.t:
[t] Add back trailing spaces in t/perl/Parrot_Test.t

Fixes test with Test::Builder version <= 0.94
22:13
rrot: 4d82146 | nwellnhof++ | t/src/extend_vtable.t:
[t] Fix test 3 of t/src/extend_vtable.t
22:21
cotto_work nwellnhof++ 22:27
22:28 whiteknight joined
rohit_nsit08 whiteknight: Hi 22:33
whiteknight hello rohit_nsit08
22:35 bubaflub left
soh_cah_toa whiteknight: hey, great blog post on unit testing. very helpful 22:35
whiteknight thanks
rohit_nsit08 whiteknight: i came across coffeescript today, it has a self hosted compiler which converts it into javascript (though coffeescript itself is much much similar to javascript)
whiteknight rohit_nsit08: yes, coffeescript is interesting 22:36
rohit_nsit08 and ya quite well documented too, 22:37
whiteknight my internet is the slow 22:38
22:53 jevin left 22:55 davidfetter joined 23:02 cognominal left
dalek rrot: e5f7752 | nwellnhof++ | t/src/extend_vtable.t:
[t] Make t/src/extend_vtable.t work with g++

See TT #2084
23:04
23:05 cognominal joined
rohit_nsit08 good night #parrot 23:08
whiteknight goodnight
23:08 rohit_nsit08 left
whiteknight moritz: ping 23:15
dalek rrot: 364ad6b | Whiteknight++ | src/embed/api.c:
block GC during packfile serialization and write to file. This gets rid of my segfaulty issues building Rakudo
23:16
rrot: ed8fd08 | Whiteknight++ | t/src/extend_vtable.t:
Merge branch 'master' of github.com:parrot/parrot
whiteknight msg moritz Can you test rakudo with github.com/parrot/parrot/commit/364ad6bc22. I am blocking GC during packfile write, which is when we are seeing most of your segfault problems 23:17
aloha OK. I'll deliver the message.
davidfetter aloha, book 'em dano. murder one. 23:18
whiteknight I don't think that's the problem, but I'm willing to be pleasantly surprised 23:20
mikehh nwellnhof++ 23:22
bacek_at_work ~~ 23:44
23:45 dmalcolm left 23:50 soh_cah_toa left 23:56 davidfetter left