www.parrot.org | planet.parrot.org | 1.5.0 "TEH PARROTZ!" Released! | Feature freeze over, coders start your engines!
Set by moderator on 18 August 2009.
dalek rrot: r40668 | whiteknight++ | branches/context_pmc2/src (3 files):
[context_pmc2] fix some order-of-initialization issues in creating the first context. running into a segfault now whwere it appears a context is being freed prematurely
00:18
Whiteknight bacek: ping
00:19 theory joined
bacek_at_work Whiteknight: short pog 00:19
pong
Whiteknight bacek: I fixed that order-of-initialization thing in r40668 00:20
segfaults in the runloop, looks like a context is getting collected somewhere
some of the pointers are 0xdeadbeef, and I dont know where they are getting set like that
so we're making progress, slowly 00:22
bacek_at_work Whiteknight: "slowly"? I'll finish it today!
Whiteknight you're some kind of magical robot
I've got a whole bag of karma here for you if you can 00:23
Coke sure, lisa. some wonderful, MAGICAL robot.
bacek_at_work Can I convert karma to beer? 00:24
Whiteknight you ever make it to USA-PA, I'll do the conversion :) 00:26
Coke still needs to make it to Sofia one of these years for a pub crawl. 00:28
00:32 patspam joined
chromatic Coke, did that PGE patch make a difference for you? 00:34
Coke let me try with a simple 'make test' instead of a full test. moment.
00:37 kid51 joined
jonathan
.oO( that probably isn't Sofia in Bulgaria, but if it is, I'm joining! )
00:41
Whiteknight irclogs? 00:50
purl irclogs is irclog.perlgeek.de/parrot/today or see also: infrared clogs
Coke chromatic: doesn't seem to have helped at all. 00:51
version I had lying about: 2m43 - updated version with your patch: 3m16s
00:51 nathanmccauley joined
jonathan -> sleep 00:52
bacek_at_work ... no suitable candidate found for MMD ($jonathan, $sleep) 00:55
00:55 ash_ joined
chromatic I wouldn't know; I can't run Partcl or Rakudo against an installed Parrot. I keep getting "Direct creation of Iterator" errors. 00:56
... so maybe I'll uninstall Parrot and reinstall it. 00:57
00:58 slavorg joined
Coke jonathan: yes, I had an offshore team working with me a few years ago out there. 01:04
great guys.
davidfetter did you figure out how to bound time? i've worked with offshore teams many times, and the issue we always ran into was latency 01:09
i.e. something that could have been dealt with locally in minutes never took less than a day
send the message (it's 3am there), wait 'til they wake up, get the message, do something about it...and by then it's 3am here
dalek kudo: 929a700 | (Kyle Hasselbacher)++ | docs/announce/2009-08:
announce/2009-08: passing 82% of spectests
01:37
chromatic 82%? 01:40
purl well, 82% is extra dark? Wimps! Lindt 99% all the way! :)
chromatic 82% seems high. 01:41
... unless 2380 spectests went missing. 01:46
71% I can believe. 01:47
Coke davidfetter: you don't rely on offshore for stuff like that, IMO. 01:53
they were awesome for things that were going to take a few days; you had to have work queued up. 01:54
davidfetter has this dark suspicion that the entire offshoring thing is a scheme for stealing some big chunk of several first-world salaries by people with corner offices
Coke supposes that watching the episode of buffy called _the body_ was probably not a good choice for light entertainment.
dalek kudo: 7685eb3 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 430 files, 12339 passing, 0 failing
02:01
kudo: 8d8ffc7 | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
02:08 mokurai joined
Coke is there a string equivalent to Parrot_run_meth_fromc_args_reti ? 02:22
allison String equivalent how? 02:23
string return?
no
02:23 ruoso joined, theory joined
Coke how does one get a string ret, then. (STRING *) Parrot_run_meth_from_c_args ? 02:24
allison yup
Coke k.
allison (pretty evil, that's why it's going away)
Coke (I only need it because I can't replace all my PMCs with pir objects due to issues there, so I have to override some methods by hand.) 02:27
02:36 janus joined
dalek kudo: 82ef264 | pmichaud++ | docs/announce/2009-08:
More 2009-08 announcements.
02:37
kudo: 3d5359d | pmichaud++ | docs/ (2 files):
More text updates in preparation for release.
02:42
kudo: c88002f | (Kyle Hasselbacher)++ | docs/announce/2009-08:
announce text edits
02:48
kudo: bffd1ca | (Kyle Hasselbacher)++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
Coke tries to talk himself out of writing .EQ, .AND, and .OR hllmacros. 02:52
nopaste "coke" at 72.228.52.192 pasted "Rewrite C into PIR..." (21 lines) at nopaste.snit.ch/17608 03:06
Coke can someone double check my conversion there? 03:07
cotto Coke, sure 03:08
cotto looks into copy opcode
Coke getting segfaults... ah, might be because I need to start looking up TclFloat at runtime. 03:09
(hurm, nope.) 03:10
oh, whee, segfault in Parrot_mmd_sort_candidates 03:11
cotto It looks like it'd work, but there could be nuances I'm missing. 03:12
Coke ok. next, can you see where that C method could segfault? =-)
I'm running with --optimize, so I don't have the line #.
I'll rebuild... 03:13
segfault is in src/multidispatch:941 03:17
type_call is 1431655765 03:18
dalek kudo: 42d8ebd | pmichaud++ | README:
Some README refactorings.
kudo: 0e5e157 | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
kudo: fd8fc8a | pmichaud++ | docs/announce/2009-08:
More announcement bikesh^H^H^H^H^H^Hupdates.
03:24
03:52 TimToady joined 04:10 MikHel joined 04:29 nathanmccauley joined
beta poor leno 04:32
pmichaud Looks like Rakudo no longer builds against Parrot trunk. :-| Probably to be expected with the recent branch merges. 04:46
cotto purl, bacek? 04:53
purl bacek is THE MANIAC
cotto bacek is also some sort of magical coding robot
purl okay, cotto. 04:54
05:03 mokurai joined
Coke pmichaud: how many tests to get to 70%? =-) 05:14
only 4 tests! so close. =-) 05:17
05:17 theory joined
cotto yay for no conflicts! 05:38
dalek rrot: r40669 | cotto++ | branches/pluggable_runcore (142 files):
update from trunk after Tuesday's mergefest
05:41
bacek_at_work cotto: bah! 05:45
NotFound pmichaud: it build, but fails to run anything 05:47
05:56 solarion joined 06:05 mokurai left 06:09 HG` joined 06:14 uniejo joined
bacek_at_work pmichaud: looks like my fault (as usual). I'll check it tonight. 06:15
06:28 cognominal joined
dalek kudo: 48f6de1 | moritz++ | README:
remove trailing ws in README
06:42
06:50 bacek_at_work joined 06:53 ttbot joined 07:09 barney joined
cotto chromatic, I haven't tested it exhaustively, but CONTEXT(interp) seems to be a pretty good unique identifier for the current Sub. 07:42
I haven't found anything to disprove a 1-1 mapping between Subs and Contexts. 07:44
07:52 dduncan joined
chromatic We also shouldn't recycle a context while we could return to that particular Sub invocation. 07:53
cotto That's a lot of contexts sitting around looking bored. 07:54
chromatic It's a call graph. It's what it does. 07:56
cotto That'll come in real handy. 08:00
chromatic I had a feeling you'd see it my way! 08:01
dduncan also posted in #perl6 - dduncan pasted "Rakudo build problem - no HLLCompiler" at paste.lisp.org/display/85717 08:02
pmichaud dduncan: was Parrot installed via "make install-dev"? 08:03
dduncan any idea why this is happening or how to get Rakudo to build?
no, make install
pmichaud Need "make install-dev".
We should've put a check for that into Configure.pl. Oops.
dduncan or the README
purl You didn't read the README? One side makes your brain larger.
pmichaud it's in the README.
line 64. 08:04
dduncan I see it now, in Rakudo's README, in the section mentioning --parrot-config, which I did use ... but Parrot's README makes no mention of install-dev, and it should, considering people who go and install Parrot first without looking at Rakudo 08:09
I will try re-installing Parrot using make install-dev now 08:10
pmichaud very interesting that "make install" doesn't install the pct components, though. That's bad. 08:16
mikehh All test PASS (pre/post-config, smoke, nqp_test, fulltest) at r40669 - Ubuntu 9.04 amd64 (g++)
dalek rrot: r40670 | moritz++ | trunk/README:
[README] mention install-dev
pmichaud compilers (even precompiled ones) cannot run without them.
pmichaud decides to file a ticket. 08:17
mikehh rakudo (48f6de1) builds on parrot r40669 but test.pir segfaults
pmichaud mikehh: yes, I noticed that as well. I think one or more of the branch merges has caused rakudo failures. 08:18
08:19 MoC joined
dduncan okay, using Parrot's "make install-dev" appears to have fixed my reported problem with Rakudo make 08:19
mikehh pmichaud: it also builds but test.pir segfaults on Ubuntu 9.04 i386 08:22
that's with the latest parrot
pmichaud mikehh: yes, I had the same results on my system.
we might need to bisect to find the problem commit 08:23
moritz maybe I can do that later today
pmichaud we know that 40625 works
mikehh it seemed ok with the release version
pmichaud (40625 was the release revision)
ttbot Parrot trunk/ r40670 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74376.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 08:24
dalek TT #936 created by pmichaud++: "make install" doesn't install PCT 08:30
mikehh I am getting a backtrace from t/tools/parrot_debugger.t on amd64 but not on i386 - although the test claims to PASS on both 08:32
moritz bisect running, 5 revisions left to check 08:33
bacek_at_work 3997959c1b2e8c893bee3692ca68e97f205eaf20 is first bad commit 08:34
commit 3997959c1b2e8c893bee3692ca68e97f205eaf20
Author: bacek <bacek@d31e2699-5ff4-0310-a27c-f18f2fbe73fe>
I'll check it tonight.
moritz bacek_at_work: please translate that into a parrot revision number :) 08:35
s/parrot/svn/ 08:36
bacek_at_work svn.parrot.org/parrot/trunk@40643
moritz thanks
dduncan good night
08:36 dduncan left
mikehh bacek:at:work: we would need to check rakudo's test.pir against that 08:39
bacek_at_work indeed. But I'm still @work 08:42
moritz no hurry; it won't kill rakudo not to use bleading edge parrot for a few hours 08:43
chromatic Nothing jumps out at me from the diff. 08:46
pmichaud the @40643 url gives me 404 not found :-| 08:48
mikehh trac.parrot.org/parrot/changeset/40643 08:50
moritz pmichaud: that was an URI that looked like an URL :-) 08:51
and what git-svn uses for revisions
pmichaud changing the structure of the Sub PMC would seem to break any custom PMCs that depend on it. :-| 08:52
chromatic Nothing in Rakudo I can see touches it directly. 08:54
pmichaud not even Perl6MultiSub ? 08:58
or P6Invocation ?
hmmmm.
(you may be right -- I haven't looked)
chromatic I'm sure about MultiSub. I gave it a good skim. I'm checking P6Invocation now. 08:59
By the way, 26%.85 of the time spent executing "Hello, world!" in Rakudo PDX is in isa_pmc from the Class PMC. 09:00
09:00 cotto joined
dukeleto interesting 09:01
chromatic P6Invocation looks clean too. 09:02
09:03 TiMBuS joined
pmichaud chromatic: I have a fix for isa_pmc 09:05
I implemented it in June but we ran into a Rakudo problem with it. I think that's now fixed, so I'll try my patch again (when I'm awake enough to do it)
the isa_pmc fix I have gives us a 11% speedup in Rakudo spectests
chromatic I remember; I'd like to see it.
pmichaud looks like my patch is spread over several incomplete files 09:08
(ugh.)
but the core feature of the patch is deleting lines 1283-1297 from src/pmc/class.pmc (line numbers are in current trunk) 09:09
in order for that to work, we have to fix up PMCProxy a bit more -- the current code in oo.c creates a few PMCProxy objects even when it shouldn't. 09:10
(or at least it did when I last tried the deletion from class.pmc)
bacek_at_work decommute to home to 09:11
chromatic Hm, I just sped up "Hello, world!" in Rakudo by 9.744%.
pmichaud :-)
by deleting those lines? Or with some other magic?
chromatic A magic line in HashIterator's shift_string. 09:12
pmichaud ah
excellent. :-)
chromatic ONE magic line.
dukeleto likes magic lines
moritz chromatic: you should insert more magic lines :-)
eleven of them and rakudo runs in negative time - or so :-) 09:13
chromatic Don't do math like that with dukeleto around. He's the Doctorate of Division by Zero Fallacies.
pmichaud "Q: Will Perl 6 be faster than Perl 5?" "A: Yes. We just need ten more magic lines from chromatic."
moritz chromatic: Chuck Norris can divide by zero! 09:14
dukeleto moritz++
pmichaud chromatic: are you building rakudo from trunk for these changes, or ... ?
chromatic Trunk Rakudo, Parrot ~1.5.0.
pmichaud okay, but not from Parrot head ? 09:15
or do you magically have Parrot HEAD working as well? ;-)
chromatic I rewound to before the big branch merge stampede. 09:16
pmichaud okay.
I might have to do the same. But Rakudo still won't be able to see benefit until we can get past the merge stampede.
(at least not for the general developing community :-)
nopaste "chromatic" at 72.87.39.97 pasted "Magic Parrot Optimization for Rakudo" (17 lines) at nopaste.snit.ch/17609 09:17
chromatic That should apply cleanly almost anywhere in the past couple of weeks.
moritz well, that looks like TWO lines to me :-) 09:18
dalek rrot: r40671 | dukeleto++ | trunk/t/op/arithmetics.t:
[TT #370] Add test case by pmichaud++ exhibiting the floor(NaN) bug
pmichaud ugh, 04:20 here. I should get some sleep. 09:22
back in a few hours.
szbalint I was wondering whether you're up early or late, apparently the latter :) 09:23
ttbot Parrot trunk/ r40671 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74439.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 09:24
dalek rrot: r40672 | chromatic++ | trunk/src/pmc/hashiterator.pmc:
[PMC] Added manual recycling of the HashIteratorKey PMC retrieved from

wrapper used to retrieve a stored value. Recycling it to the free list preserves encapsulation and removes code duplication. Why does this matter? Rakudo iterates over many, many hashes. This patch improves the Rakudo "Hello, world!" benchmark by 9.744%.
09:31
ttbot Parrot trunk/ r40672 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74482.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 09:36
09:42 bacek joined
bacek o hai 09:59
10:02 Whiteknight joined
Whiteknight messages? 10:03
purl To access purl's messages, msg me with the word "messages".
beta *yawn* 10:17
good morning
purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40672 - Ubuntu 9.04 amd64 (gcc) 10:18
beta first day of school :-/
c ya
TiMBuS anyone else getting a segfault with rakudo head? 10:36
0x00007f86e246ca6a in clone_key_arg (interp=0x1f1f080, st=0x7fffeab1b710) 10:38
at src/call/pcc.c:1196
1196\t if (key->vtable->base_type != enum_class_Key)
moritz TiMBuS: only on parrot head
TiMBuS oh
moritz that's know
it should work with the 1.5 release of parrot
TiMBuS does rakudo only build against parrot releases now?
moritz it should always build against the revision in build/PARROT_REVISION 10:40
but we try to keep it building against newer parrots 10:41
bacek TiMBuS: it is not. But currently parrot is slightly broken. 10:42
TiMBuS fair enough then, ill just roll parrot back then 10:44
mikehh At the moment parrot is PASSing all its tests - We seriously need test for parrot that wiull catch anything that will break rakudo (and other HLL's of course) 11:06
will
and tests 11:07
dalek rrot: r40673 | NotFound++ | trunk (4 files):
[core] initialize vtables for core PMC at an earlier stage
11:10 kid51 joined
ttbot Parrot trunk/ r40673 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74556.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 11:12
bacek Bah! ATTRibutes considered harmful... At least misleading... 11:37
dalek rrot: r40674 | bacek++ | trunk/src/pmc/sub.pmc:
Change usage of Sub PMC ATTRibutes.

used directly for any "subclasseable" PMC. This commit partially unbroke Rakudo.
11:38
purl dalek: that doesn't look right
ttbot Parrot trunk/ r40674 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74617.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 11:44
11:47 ruoso joined
bacek ttbot: I KNOW! 11:47
mikehh bacek: I am now getting Null PMC access in get_pmc_keyed() in rakudo make test 11:54
at least it has got past the segfault 11:55
bacek "partially unbroke Rakudo"
mikehh :-}
11:58 quek joined
mikehh we still have to figure out some tests for this type of break as all parrot tests PASS 11:58
moritz it's the same as with the Perl 6 test suite - real world applications catch other bugs than test suites 11:59
mikehh yeah - but when you do you need to add to the test suite
perl6 seems much better at adding tests 12:00
NotFound I'm fine with real world usages catching more bugs, but is bad that they catch segfaults.
bacek we have to clone moritz for handling parrot's testsuite 12:01
moritz and KyleHa
bacek and masak for real world applications
NotFound We must clone the real world.
12:02 quek left
mikehh Oh and all tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40674 - Ubuntu 9.04 amd64 (gcc) 12:06
bacek There is no spoon^W real world. It's all in my head.
mikehh he - bacej is on form today 12:08
bacek
bacek fighting with imaginary voices in his head 12:09
mikehh I think it time to take a break for a bit - I am hitting the wrong keys again
moritz recommends hitting the tab key more often 12:10
mikehh definately in form
NotFound bacek: then clone your head and you get the world cloned as side effect. 12:11
bacek NotFound: side effects considered harmful! 12:12
NotFound Better said, inside effect ;)
12:48 bacek_ joined
nopaste "bacek" at 114.73.60.177 pasted "WTF???" (15 lines) at nopaste.snit.ch/17612 12:49
bacek_ Rakudo failing on exactly this assert. WHY???
NotFound bacek_: some inconsistency with the ATTR usage, probably, 12:52
bacek_ how it's can be?...
NotFound I'll take a look 12:53
bacek_ NotFound: is GETATTR_foo eligible in METHODs? 12:54
NotFound bacek_: not sure, but for attrs overridable from pir you should use GET_ATTR 12:55
bacek_ NotFound: what the difference?
purl it has been said that the difference is irrelevant at the stage where language acquisition is not a conscious decision.
12:56 bkuhn joined
NotFound GET_ATTR uses attributes from the object when used from a pmcproxy, 12:56
The attrs handling is the root case of most inheritance problems. 12:57
bacek_ indeed... We have to clean-up ATTRs handling design... 12:58
NotFound bacek_: You get that assertion failure before the null pmc access?
bacek_ no.
I just added it to trace rakudo's failure.
NotFound: GET_ATTR still gives different result... 13:05
13:07 masak joined, Psyche^ joined
bacek_ ok. I give up. 13:12
NotFound: It you'll have time can you check r40675? I've marked get_namespace with XXX... 13:13
Good night. 13:14
NotFound bacek_: I'll take a look now
dalek rrot: r40675 | bacek++ | trunk/src/pmc/sub.pmc:
[pmc] Change usage of GETATTR to GET_ATTR in Sub PMC.
bacek_ Ah. Ok. I can delay my $bedtime
NotFound bacek_: I don't think it will be short, better repair yourself ;) 13:15
bacek_ Ok :)
Good night again 13:16
ttbot Parrot trunk/ r40675 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74678.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 13:19
Coke (parrot segfaults) I have dozens of files that segfault in tcl. go to town. =-) 13:21
NotFound rakudo pass tests with trunk :) bacek++ 13:27
Coke (chromatic's patch) hurm. one of my tests actually runs out of memory faster now.
TiMBuS is rakudo still leaky as a sieve? i was getting ready to make an irc bot in perl6, but it occured to me that this might be a bad idea. 13:28
moritz TiMBuS: it's still a good idea to write it, and complain loudly about leaks on #perl6, in bug trackers, on blogs etc. 13:30
TiMBuS is there any way to track these leaks?
moritz no idea 13:31
TiMBuS hrm 13:32
dalek TT #937 created by coke++: Testing new ticket creation. 13:41
13:48 bacek_ joined
bacek_ hi. me again 13:48
Coke: can you give couple of most annoying segfaults? I'll try to fix them. 13:49
NotFound bacek_: rakudo pass all tests and most of spectest :) 13:50
bacek_ NotFound: that's good... I just don't like word "most". And I don't like my code in Sub.get_namespace... 13:51
NotFound bacek_: now that we know the root of the problem we can clean it 13:53
Coke bacek_: ok. first, grab latest parrot and partcl. 13:54
then see: code.google.com/p/partcl/wiki/TestingPartcl
bacek_ NotFound: fsvo of "know". I know symptoms...
Coke then grep through code.google.com/p/partcl/wiki/SpecTestStatus for "segfault"
bacek_ Coke: Step 3 - profit! 13:55
Coke to run a test listed in that page that has a segfault, e.g. "parseExpr", you can run it manually as:
./tclsh t_tcl/parseExpr.test
the regexp deaths are probably due to a PGE issue, so I'd avoid those for now.
bacek_ Is "execute @SKIP - segfault after execute-7.9" good candidate to start with? 13:56
13:57 ash_ joined
Coke probably. double checking that it still segfs... 13:57
dalek rtcl: r604 | coke++ | wiki/SpecTestStatus.wiki:
Fix failure mode.
Coke yup. 13:59
bacek++
bacek_ it's... slow 14:00
Coke welcome to hell! 14:01
hopefully after we get a profiler we can figure out /why/ =-)
szbalint chromatic and cotto is working on the profiler right? 14:03
is it in a branch yet?
Coke yes. 14:05
szbalint is that the pluggable runcore one?
Coke yes. 14:06
run with -Rprofiling
you get a bunch of output that you can then (for now) hand parse (in parrot.pprof)
szbalint yay
Coke note that this output is PIR only.
;(but it has a lot of information than old opcode only profiler.) 14:07
szbalint yeah, the old opcode profiler didn't tell me much
Coke bacek_: have you fixed my segfault yet? =-) 14:15
bacek_: ooh, much shorter file for that one that segfaults. moment. 14:24
14:24 hercynium joined
Coke this tcl code: expr {((wide(1)<<60)-1) % 0x400000000 14:25
is in the failing test that segfaults - if you run it by itself in a file or from the command line, it's fine; do so from the interactive tclsh, boom.
so:
$ ./tclsh 14:26
% expr {((wide(1)<<60)-1) % 0x400000000}
int modulus by zero
Segmentation fault (core dumped)
at src/call/pcc.c:1196
looks like key's vtable is missing. 14:27
bacek_ Coke: it's actually some garbage in PCC handling... 14:28
I don't know much about pcc... 14:29
14:31 Psyche^ joined 14:32 davidfetter joined
Coke bacek_: I think I've hacked around the error now. (parrot still shouldn't be segfaulting there.) 14:33
14:35 rdice joined
Coke bacek++ 14:37
hurm. if I want speed, opcodes are better than PMCs, neh? 14:38
(written in C, avoid calling conventions...) 14:39
pmichaud good morning, #parrot
szbalint slept well?
Coke bacek_: execute.test: Total 144 Passed 27 Skipped 78 Failed 39
whee. 14:40
++ to whoever changed the "can't find file" error message.
bacek_: parseExpr.test is still segfaulting. 14:51
14:53 mikehh_ joined 14:54 payload joined, uniejo joined 15:02 whiteknight joined
mikehh bacek: rakudo make test now passes, trying make spectest 15:06
15:11 cotto joined
dalek kudo: e0820fa | pmichaud++ | build/Makefile.in:
Patch to allow Windows to link with ICU.
15:13
rrot: r40676 | fperrad++ | trunk/compilers/pirc/src/bcgen.c:
[pirc] s/Parrot_sub/Parrot_Sub_attributes/
15:15
ttbot Parrot trunk/ r40676 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74743.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 15:18
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40675 - Ubuntu 9.04 amd64 (g++) 15:21
15:21 theory joined
pmichaud I get spectest failures with current parrot trunk.... nopasting 15:21
nopaste "pmichaud" at 72.181.176.220 pasted "Rakudo spectest failures with current Parrot HEAD" (16 lines) at nopaste.snit.ch/17613 15:22
moritz (extensive tests)++ 15:23
mikehh rakudo (48f6de1) builds on parrot r40675 - make test PASS, make spectest 3 test fail - Ubuntu 9.04 amd64 (g++)
jonathan pmichaud: On those tests, do some of them pass but give non-zero exit status?
pmichaud the S12-attributes and S14-roles tests do, yes. 15:24
those are known failures
jonathan pmichaud: Of note, t/spec/S12-attributes/class.rakudo and t/spec/S14-roles/basic.rakudo have been for me.
moritz the two usual suspects
jonathan OK
So the interesting ones are the other three.
pmichaud Correct.
jonathan This one makes me unhappy: t/spec/S06-advanced_subroutine_features/wrap.rakudo
Any chance you an nopaste the output of running it? 15:25
I'd be curious to see t/spec/S29-context/eval.rakudo too
nopaste "pmichaud" at 72.181.176.220 pasted "output from wrap.t test" (12 lines) at nopaste.snit.ch/17614
jonathan I can sort of see how these might be related.
mikehh those passed for me the other 3 failed
jonathan In that they both use set_outer 15:26
moritz mikehh: depending on the harness non-zero exit status might or might not be a failure
nopaste "pmichaud" at 72.181.176.220 pasted "output from eval.t test" (32 lines) at nopaste.snit.ch/17615 15:27
pmichaud it does look like a set_outer issue 15:28
mikehh IIRC when I ran those test a while back using ./perrl6 they sometimes passed, sometimes failed
jonathan Yeah.
I wonder if that's been changed of late, or just hit by other changes.
pmichaud the entire Sub PMC structure was changed 15:29
jonathan Ah. 15:30
pmichaud /* If we've got a context around for the outer sub, set it as the 15:33
* outer context. */
if (CONTEXT(interp)->caller_ctx->caller_ctx->current_sub == outer)
sub->outer_ctx = Parrot_context_ref(interp, CONTEXT(interp)->caller_ctx->caller_ctx);
else if (CONTEXT(interp)->caller_ctx->current_sub == outer)
sub->outer_ctx = Parrot_context_ref(interp, CONTEXT(interp)->caller_ctx);
.... why are there two of these here?
jonathan "two of these"? 15:35
jonathan doesn't follow 15:36
pmichaud why check both caller_ctx and caller_ctx->caller_ctx
?
is that supposed to handle the case where some intermediate routine is handling set_outer on behalf of a caller? 15:37
jonathan Ah, yes.
That'd be it.
pmichaud that's.... icky.
(to special case things that way)
jonathan Aye.
pmichaud what if we have two or three intermediate routines...?
jonathan Erm, we're screwed?
;-)
pmichaud :-)
I guess we could either chase up the caller stack, or we could figure out something else worthwhile to do 15:38
jonathan I guess we can generalize it, but I was reluctant to go chasing too far down.
pmichaud yeah
anyway, I don't think that's the source of the problem here.
other than that, set_outer looks pretty normalish to me
jonathan Do you have any ideas for "something else worthwhile" off hand? 15:40
I agree that this probably isn't quite where the problem lies though.
pmichaud well, it's obviously a lexicals issue of some sort.
jonathan And it doesn't explain the my.t failure, afaict.
pmichaud oh, I hadn't looked at that yet. Just a sec
my.t is the same error as eval.t 15:41
in fact, it looks like it might be the same test :-)
nopaste "pmichaud" at 72.181.176.220 pasted "output from my.t test" (81 lines) at nopaste.snit.ch/17616 15:42
pmichaud test #48
jonathan oh, ok 15:43
Yeah, you're right.
pmichaud so it's still a lexicals issue of some sort.
15:44 rjbs joined
jonathan Eww. 15:45
rjbs Hi! I was wondering whether it's on the agenda to get trusted-root-signed cert for Parrot svn.
I saw that recent Rakudo is installable, so I'm having a quick go at compiling it and the "trust this cert?" reminded me that I'd seen that error before. 15:46
Or here's an alternate take: does it answer over non-SSL http? I wonder if --gen-parrot in rakudo's build could use that.
moritz there's an easy way to find out. 15:47
pmichaud afaik it doesn't answer over non-SSL http
which is why Rakudo uses the https:
moritz it redirects to https://
pmichaud as far as plans to get a better cert... I haven't heard of any. Might be worth filing a ticket or a message to parrot-dev 15:48
it'd be a good idea, for exactly the reasons you cite
rjbs Ok. Well, I just popped in to say, "that prompt made me make a prune face." 15:49
pmichaud me also.
rjbs I think you can get a signed cert pretty cheaply these days. Maybe TParrotF wants to spring for one.
Ok, back to the realms of 5. Ciao!
pmichaud thanks!
pmichaud files a ticket
moritz rjbs++ # also for testing the installable rakudo before the merge 15:50
pmichaud trac.parrot.org/parrot/ticket/938 15:51
moritz pmichaud++ 15:53
15:53 rjbs left
dalek TT #938 created by pmichaud++: Parrot svn could use a trusted-root-signed-cert 15:53
pmichaud PObj_get_FLAGS(outer) |= SUB_FLAG_IS_OUTER; 15:56
why does this line bother me so? 15:57
jonathan erm
That looks dubious.
oh no
Maybe it works
I guess the lhs must be an lvalue (e.g. the actual flags location) otherwise it'd not cokmpile.
pmichaud that doesn't fit my notion of "correct way to set a flag in Parrot"
jonathan But it's not the usual macro to use. 15:58
15:58 payload joined
pmichaud it's used that way a lot, apparently, though. 15:59
jonathan I don't think it's wrong, just that there's a SET macro to do it. 16:00
pmichaud I wonder if the way we use rebless_subclass on blocks might be getting in the way. 16:07
Coke dukeleto: you can use '' on HEREDOCS to avoid \\$ing. 16:08
(makes the PIR more readable, IMO.)
(and won't impact the single quotes already in the PIR
jonathan pmichaud: I think one earlier version of the Parrot changes did rather upset that... 16:09
pmichaud memmove(temp, proxy, sizeof (PMC)); 16:13
how is this impacted by variable-size PMCs, ooc ?
(from the rebless_subclass op)
jonathan Just means we'd need to do something different for the third argument. 16:14
I figure there'll be a way to know how big the PMC is...
(in fact,I think the auto_attrs patch may have added something like that...)
pmichaud is that potentially the problem here?
jonathan I don't think they did variable size PMCs in this patch though? 16:15
pmichaud I know that the Parrot_sub structure is now gone.
jonathan If they did then yes, that code would be affected...but I think we'd see a lot more things broken.
pmichaud and it now uses an *_attributes structure like other PMCs do
jonathan Hmm 16:17
That hangs off the PMC though?
pmichaud yes
jonathan So we just copy the pointer to it?
So that afaict should be fine.
dukeleto Coke++, i forgot about that 16:18
pmichaud I dunno, I'm grasping at straws here. And since most of the work I had planned to do this week involved Parrot changes, I'm a little blocked until we can get Rakudo to run against Parrot HEAD again
jonathan pmichaud: It's not very many tests.
pmichaud being able to access outer lexicals in eval is pretty important, though.
jonathan True. 16:19
cotto szbalint, I expect the profiling runcore to become generally useful and merged within the next week.
pmichaud that's not something I think we can safely regress on.
jonathan Yeah, too many people use head...
Could you work in a branch for a bit while we get this debugged?
pmichaud I might be able to do that. 16:20
jonathan Then merge once it's fixed?
That'd unblock you...
pmichaud well, for some limited value of "unblock"
jonathan I think first we see if the Parrot folks who worked on the patch have any ideas.
And if not, I can dig in and try to debug it some more.
I'm behind on Rakudo days and haven't got much work on...I could easily do another one tomorrow.
16:21 Andy joined
pmichaud yes, I'm a little bummed by it all, though. I again have family visiting this weekend (starting tonight) which means my Rakudo+Parrot hacking time is limited to today. 16:21
I wasn't expecting to not be able to do Parrot stuff.
I'll just hope someone else can figure out what's going on, though. 16:23
jonathan Leave it.
Either someone from Parrot can fix it.
Or I'll fix it.
jonathan wants his contextuals and NQP refactors. ;-) 16:24
Or in the event nobody can fix it, jsut bisect and revert. 16:25
pmichaud it's a big revert 16:27
trac.parrot.org/parrot/changeset/40643 16:28
(we already have the bisect location :-)
jonathan Ah.
NotFound Are you talking about t/spec/S06-advanced_subroutine_features/wrap.rakudo failure? 16:29
pmichaud NotFound: yes.
among others.
NotFound I was trying a fix for that, but failed.
jonathan The others might be an easier starting point for debugging. 16:31
pmichaud Agreed.
jonathan We're completely sure this commit was what broke it? 16:33
jonathan didn't see anything too suspect yet... 16:34
pmichaud jonathan: irclog.perlgeek.de/parrot/2009-08-20#i_1411279
afk lunch for me 16:35
jonathan pmichaud: Ah, ok 16:37
NotFound Will be helpful to have something in make test catching that failure 16:39
particle dukeleto: re: r40671 -- what's wrong with single-quoted heredocs? <<'OUTPUT' would relieve the backslashitis in that commit
16:40 szabgab joined
particle parrot.org has a trusted root wildcard cert 16:41
svn.parrot.org should be configured to use it, iiuc
16:46 HG` joined
Coke particle: I just said that. 17:05
(and he already responded.) 17:06
17:09 mokurai joined
Coke grumbles, as trac2email is ALMOST working perfectly. 17:11
particle ok, i reviewed ml, not backscroll
Coke anyone aside from allison able to config parrot.org email addresses?
particle what's not working?
purl see "doesn't work"
particle i haven't tried
Coke there is no one single email address to send new tickets to.
one is the trac2email address, one is the mailing list.
(updating tickets is easy, she updated reply to) 17:12
particle you mean, when updating, send to either of two addresses 17:13
but when new, must send to one?
17:16 chromatic joined 17:28 davidfetter joined
jonathan oh lol 17:46
.sub 'foo'
.param pmc something :named
.end
'foo'() # BOOM!
(Writing :named rather than :named('foo') appears to segfault) 17:47
chromatic In IMCC? 17:49
jonathan chromatic: No, when it's called
In the signature binding code it looks like
chromatic PCC then.
jonathan Correct.
We end up with a STRING* that's NULL, it appears.
...and then deference it.
For some reason I'd assumed that .param pmc foo :named just took the foo as the name... 17:50
(braino more likely than it's ever actually worked that way)
chromatic I could make that work, or I could make it a compilation error. 17:52
jonathan I don't have strong feelings either way.
I'd rather it didn't segfault though. :-)
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40676 - Ubuntu 9.04 amd64 (gcc) 18:12
rakudo (e0820fa) builds on parrot r40676 - make test PASS, make spectest (up to 28042) 3 tests fail - Ubuntu 9.04 amd64 (gcc) 18:24
t/spec/S04-declarations/my.rakudo - Failed test: 48 18:25
t/spec/S06-advanced_subroutine_features/wrap.rakudo - Parse errors: Bad plan. You planned 60 tests but ran 6 18:26
t/spec/S29-context/eval.rakudo - Failed test: 1
t/spec/S04-declarations/my.rakudo fails with Lexical '@log' not found after ok 6 - wrapper after 18:29
bah that was t/spec/S06-advanced_subroutine_features/wrap.rakudo fails with Lexical '@log' not found after ok 6 - wrapper after 18:32
18:38 szabgab joined
Coke jonathan: that sounds like something I opened a ticket for. 18:41
18:42 MoC joined
Coke ... but I cannot find it. =-) 18:42
18:43 jsut joined
chromatic Hm, Rakudo HEAD and Parrot HEAD run "Hello, world!" 3.545% faster than Parrot 1.5.0 with my HashIterator patch. 18:43
That's a ~13% improvement in two days. 18:44
moritz wonders how chromatic can measure speed to an accuracy of four digits
jonathan chromatic++ 18:45
chromatic Number of processor ops executed as measured by Callgrind.
moritz how reproducible is that if you run it multiple times?
chromatic It's deterministic. 18:46
moritz wow
chromatic With the caveat that if control flow depends on random input....
dalek rtcl: r605 | coke++ | wiki/SpecTestStatus.wiki:
update segfault lists
18:47
18:51 particle joined 18:59 payload joined
dalek kudo: 9716d3f | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 431 files, 12371 passing, 0 failing
19:03
19:15 quek joined 19:17 hercynium joined
Coke msg cotto what does a line number of -1 mean? 19:19
purl Message for cotto stored.
nopaste "coke" at 72.228.52.192 pasted "most-used opcodes in simple tcl program." (45 lines) at nopaste.snit.ch/17617 19:26
chromatic Half a billion new PMCs? 19:28
Coke nice, huh!
chromatic That's a lot. 19:29
nopaste "coke" at 72.228.52.192 pasted "script used to generate last post (bigint/total not working)" (42 lines) at nopaste.snit.ch/17618
Coke that can't be right. 19:30
DOH.
sorry, that's timings, not counts. =-)
I didn't say, and then just nodded when you spoke. =-) 19:31
19:31 pyrimidine joined
nopaste "coke" at 72.228.52.192 pasted "order by count (showing time/count)" (35 lines) at nopaste.snit.ch/17619 19:44
19:45 quek left
nopaste "coke" at 72.228.52.192 pasted "order by time (showing time/count)" (43 lines) at nopaste.snit.ch/17620 19:45
Coke ther eyou go.
jonathan oh f**k when did BoundNCI disappear? 19:47
19:49 joeri joined
chromatic Before 1.0. 19:49
jonathan Ah 19:52
Damm, I had a comment saying about using it...and of course the code doesn't...
Which means it does something completely different from what I expected.
jonathan can work around it 19:53
nopaste "coke" at 72.228.52.192 pasted "new vs. root_new" (3 lines) at nopaste.snit.ch/17621
Coke chromatic: Looks like I can get a boost if I avoid root_new. 19:54
dalek a: 5c3ac67 | fperrad++ | src/pmc/luafunction.pmc:
Parrot_sub is gone
19:56
20:16 darbelo joined 20:26 quek joined 20:36 japhb joined 20:38 whoppix joined
dalek rrot: r40677 | chromatic++ | trunk/src/jit/i386 (2 files):
[JIT] Removed custom JIT sub for long-removed new_p_ic opcode.
20:53
ttbot Parrot trunk/ r40677 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74814.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 21:01
21:01 bacek joined
cotto Coke, I think it means that there's no file for that instruction, but I'm not entirely sure. 21:03
chromatic I think that's right. 21:04
cotto The unfortunate thing about that runcore is that it's stuck getting its line info from imcc. 21:05
Sub info seems to be accurate, but lines can be anything between correct and totally goofy.
Coke well, if the root_new -> new thing pans out with an increase, this is already a win for me. =-) 21:10
->
cotto You've already got some useful info? 21:11
Tene cotto: I have a vague memory of suspecting that annotations screw up the line info. I don't remember confirming it, though.
21:12 quek left
cotto I'd expect HLL annotations and PIR line/file info to be orthogonal, but we all know how wacky imcc can be. 21:13
Tene cotto: like, imcc doesn't count line numbers that are annotations in some situations, or something. 21:14
jonathan Tene: It's quite possible. 21:15
cotto: No, those are stored differently.
21:19 Andy joined
pmichaud Coke: out of curiosity, how are you converting root_new to new ? 21:19
chromatic Hm, a 2.854% startup speedup by lazily initializing MMD NCI thunks. 21:20
bacek Good morning 21:23
purl And good moroning to you, bacek.
jonathan oh hai bacek 21:25
dalek rrot: r40678 | bacek++ | trunk/include/parrot/sub.h:
[cage] Put typedefs for old Parrot_sub and Parrot_coro structs.
bacek jonathan: hai oh
jonathan bacek: Rakudo has some fail in 3 spectests since the sub changes. 21:26
bacek jonathan: yeah. I noticed it...
jonathan bacek: Specifically, things that calls set_outer are broken.
However, set_outer itself doesn't look incorrect.
So I think something else in the patch does it.
bacek jonathan: check comment in Sub.get_namespace 21:27
jonathan Any chance you can have a look? It's broken something fairly important (eval being able to see variables in the outer scope).
bacek I suspect same issue.
jonathan bacek: I dunno, did PMC_get_sub(INTERP, SELF, sub); get broken? 21:29
bacek jonathan: not. PMC_get_sub works. GET_ATTR broken
jonathan :-S 21:30
ttbot Parrot trunk/ r40678 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74874.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
21:31 whoppix joined
jonathan bacek: It appears it's something to do with subclassability of Sub. 21:31
bacek jonathan: indeed. But I expected GET_ATTR should handle this situation. 21:33
jonathan: which rakudo's test failing? 21:34
jonathan The easiest one to debug is probably...moment...
S29-context\\eval.rakudo
bacek jonathan: thanks 21:36
looks like fixed in r40679. 21:37
21:37 skv joined
bacek S02/wrap.t also passed... 21:37
dalek rrot: r40679 | bacek++ | trunk/src/pmc/sub.pmc:
Wallpapering problem with GET_ATTR for subclassed Sub PMC.
21:39
21:40 Limbic_Region joined
jonathan bacek: Thanks! 21:41
bacek++
ttbot Parrot trunk/ r40679 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74923.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 21:42
dalek rrot: r40680 | chromatic++ | trunk/src/pmc/nci.pmc:
[PMC] Delayed NCI thunk initialization until absolutely necessary. This

PMC MMD NCI registrations.
21:43
21:44 Whiteknight joined
bacek msg NotFound I wallpapered GET_ATTR problem in Sub PMC. Your turn to check what the heck with GET_ATTR for subclassed PMCs 21:45
purl Message for notfound stored.
NotFound bacek: I was doing some tests, again without results 21:46
bacek NotFound: ah. ok... I'm out of ideas how to test it...
NotFound I have ideas, but lack the time ATM. I'll take a look tomorrow. 21:47
bacek jonathan: S02-names_and_variables/names.rakudo still failing. Is it expected? 21:48
Whiteknight bacek: how are things on the context_pmc2 branch?
jonathan bacek: How does it fail?
Whiteknight (I haven't been able to look at it today)
bacek Whiteknight: sorry... Didn't have time...
jonathan bacek: For me it passes all subtests and crashes at exit. 21:49
bacek jonathan: # wrong way to die: 'Null PMC access in invoke()'
not ok 18 - dies when calling non-existent sub in non-existent package
jonathan bacek: Has you latest Rakudo? That one was only fixed like very recently...
bacek doesn't crash btw
jonathan If it's the one I think it is.
Whiteknight bacek: that's okay, just making sure I didn't miss anything
ttbot Parrot trunk/ r40680 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/74961.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 21:50
bacek jonathan: ok, git pulling now
Whiteknight: you didn't.
jonathan: it would be nice to have SPECTEST_REVISION similar to PARROT_REVISION in rakudo. 21:53
jonathan bacek: Not really, we'd have to update it almost every commit...
bacek jonathan: S02/names passed on latest rakudo. Without crash.
(update) what about releases? 21:54
jonathan bacek: I think something is done for releases.
bacek jonathan: ok
S04/my.t passed. 21:58
jonathan bacek: Great. :-) 21:59
Looks like all fixed up then. :-)
bacek It's not "real" fix... Just wallpapering of real problem with attributes.
22:05 kid51 joined 22:07 whoppix joined
Coke pmichaud: I'm just reverting the changes that made "new 'TclList'" into "root_new ['parrot'], 'TclList'" 22:10
bacek jonathan: S14-roles/basic segfaulting on exit. Known issue? 22:18
jonathan bacek: Know it does it.
bacek: Don't know why.
particle i think a version of the spectests is shipped with the release
s/version/export/
jonathan particle: ah, ok
That'd be a decent way to do it. 22:19
bacek jonathan: ok.
jonathan: spectest passed. 22:21
jonathan bacek: w00t
bacek++
bacek remember times when make spectest did't spent 2324 seconds... 22:22
seen fperrad
purl fperrad was last seen on #parrot 2 days, 19 minutes and 42 seconds ago, saying: Whiteknight, another thing : could you review my patch on TT #113 ? [Aug 18 21:56:27 2009]
22:22 payload joined
bacek msg fperrad can you yell at me loudly next time I brake compatibility? 22:23
purl Message for fperrad stored.
jonathan bacek: That was when we ran less tests. ;-) 22:27
bacek jonathan: yeah. Something like 2000 tests in total :)
jonathan Seems so long ago. 22:28
particle many lines of code ago
jonathan When I had less white hair.
bacek When I had no hair at all :) 22:35
dalek rrot: r40681 | bacek++ | branches/context_pmc2/src/pmc/context.pmc:
[pmc] Reorder mark fields in Context.mark in order of declaration. Also mark result_signature.
22:37
22:38 joeri left 22:39 rg1 joined
dalek rrot: r40682 | bacek++ | branches/context_pmc2 (21 files):
Bring branch up-to-date with trunk

  \tdocs/project/release_manager_guide.pod
  \tinclude/parrot/sub.h
  \tsrc/gc/alloc_register.c
  \tsrc/pmc/continuation.pmc
  \tsrc/pmc/exception.pmc
  \tsrc/pmc/lexpad.pmc
  \tsrc/pmc/sub.pmc
  \tsrc/sub.c
23:05
cotto bacek, aren't you supposed to resolve those before committing? ;) 23:12
Whiteknight jonathan: you a sonata arctic fan? 23:23
23:24 delta joined
jonathan Whiteknight: Yeah, been listening to them a bit for a little while now... 23:29
23:30 patspam joined
Whiteknight I was a huge fan back in undergrad, now I'm just a casual listener 23:32
jonathan Whiteknight: I'm not fan at the level of, would go hugely out of my way to see them, but if they were playing in my city I'd probably go. 23:33
They're one of many, many bands I feel that way about though. :-)
23:36 bacek joined
bacek msg Whiteknight Continuation and param passing broken in context_pmc2. I just fixed compilation of Context.mark :-/ 23:37
purl Message for whiteknight stored.
dalek rrot: r40683 | bacek++ | branches/context_pmc2/src/pmc/context.pmc:
[pmc] Move comment about Context.mark inside Context.mark.
23:39
Whiteknight okay, awesome 23:42
jonathan I hate it when pmc2c does that.
That's caught me out before too...
Whiteknight I hate it when pmc2c
jonathan ;-) 23:43
Whiteknight I'm willing to break a few grammar rules to express my dislike for that program
bacek Whiteknight: we need proper function to replace PARROT_CONTEXT usage
Whiteknight bacek: what do you mean by that? 23:44
jonathan Whiteknight: Heh. I remember having to tweak it / fix it once or twice in the past, when I did less Rakudo and more Parrot. It wasn't fun.
Whiteknight jonathan: you should do more Parrot now, we need all the help we can get
bacek Whiteknight: check next commit (r40684) 23:45
Whiteknight ok
chromatic That commit makes sense to me; not everything has a caller_ctx.
dalek rrot: r40684 | bacek++ | branches/context_pmc2/src/scheduler.c:
Don't deref NULL Context
23:46
bacek chromatic: indeed. That's why I asking for proper function :)
jonathan Whiteknight: It's not so much that I wouldn't like to, so much as Rakudo sucks up a lot of time and energy at the moment. Plus to me it feels like there's fewer Rakudo core hackers than Parrot core hackers right now.
bacek $dayjob 23:47
see you
chromatic We don't dereference caller_ctxs very often though. 23:48
Whiteknight these stupid contexts are remarkably annoying 23:49
I don't know who implemented this first, and don't want to say anythig bad about somebody I might never have met, but how could anybody think that this was a good idea? 23:50
chromatic What is *this*?
purl *this* is, like, what I'm meant to actually read right? github.com/nothingmuch/moose/commit...6eb2bae293
23:50 whoppix joined
Whiteknight the state of the Parrot_Context sructure 23:50
and the weird way it's managed and refcounted
chromatic The refcounting is for performance. 23:51
Irony, yes. I have a big bucket in the garage.
Whiteknight and all the idiosyncratic premature optimizations
chromatic I disabled context recycling once.
I also disabled copy on write for STRINGs. 23:52
Yow. That is all.
treed So. 23:55
if I have, say 'Foo'
and I set_hll_global 'Foo' to something
Will that global conflict with a namespace also called 'Foo'?
Or are globals and namespaces not quite the same thing?
Whiteknight string COW is a very good feature to have and a good implementation of that wouldn't be considered a premature optimization 23:56
chromatic Immutable STRINGs would be better.
Whiteknight agreed
chromatic treed, they're both PMCs, as far as set_hll_global cares.
Whiteknight I wonder how much effort it would take to bring that mountain to mohammed
treed So they would conflict, then. 23:57
chromatic A fair bit, especially considering backwards compatibility concerns.
treed, I believe so.
treed nods.
treed is trying to figure out how to handle classes/metaclasses appropriately.
Mostly in terms of storage.
chromatic Consider how much (could be unnecessary) work we have to do when returning a STRING we hope someone doesn't modify out from under something else.
treed Clearly, because the Array class is actually a global, it belongs as a global. 23:58
But then where do I store the actual class and metaclass namespaces.
chromatic treed, I like the Perl 6 approach of prefixing them with typeish sigils.
Whiteknight immutable strings would be a wonderful thing to have had in the beginning of Parrot
treed Oh?
purl Oh is that possible? better look into that...
chromatic If you don't want to consider that STRING approach so abstractly, profile any interesting code and see how often Parrot_str_new_COW comes up.
treed I know there was some stuff with !CARDINALMETA in Cardinal, which I think is inherited from Rakudo. 23:59
Whiteknight I know it happens pretty often
jonathan treed: In Rakudo, we store an the type object in the namespace, under the same name as the namespace, and there's not a conflict.
23:59 jan joined
jonathan s/an// 23:59