Camelia, the Perl 6 bug

IRC log for #parrot, 2008-11-23

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 pmichaud # continue working in lex2 branch
00:00 allison oh, I see, yes it is the reverse
00:00 johbar joined #parrot
00:00 allison you'd create a lot more branches that way
00:00 pmichaud yes, but the individual merge steps only contain the things I've affected, not what everyone else has done
00:00 allison I'd just do :
00:00 allison cd lex1
00:01 allison svn merge trunk
00:01 pmichaud the difference is that svn merge trunk contains all of the changes that people have made that are really irrelevant to my branch
00:01 pmichaud also, in pre-svn-1.5 versions, I have to keep track of which revisions I've done previous merges in
00:01 allison yeah, but when I do merge it back into trunk:
00:01 pmichaud going the other way I don't have to keep track of that.
00:01 allison cd trunk
00:01 dalek r33017 | chromatic++ | mmdcache:
00:01 dalek : [MMD] Cleaned up headers and types and conversion warnings in
00:01 dalek : src/multidispatch.c.
00:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33017
00:01 allison svn merge lex1
00:02 pmichaud that's the same in my case as well.
00:02 allison the diff it generates still only includes the changes I made in the branch
00:02 allison but, yeah, both would work
00:03 allison and your way might be a good way to get around a foobar'd merge
00:03 allison like, when someone deletes and immediately readds an entire directory
00:03 allison oooh, actually
00:03 pmichaud yes, and the individual sync-with-trunk steps mirror what we do when we merge back to trunk for real.
00:03 allison that may be how I can recover reini's install branch
00:04 pmichaud s/mirror/are the same as/
00:04 dalek r33018 | chromatic++ | mmdcache:
00:04 dalek : [MMD] Made Parrot_mmd_sort_candidates() return the best candidate for a
00:04 dalek : multidispatch, not the entire sorted candidate list.  If we want the sorted
00:04 dalek : list, we'll have to add in code to sort it later.  The default case now can
00:04 dalek : avoid the sort altogether.
00:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33018
00:04 pmichaud i.e., it's the same as merging back to trunk, only we do it to a copies of trunk until we're ready to do it for real.
00:04 allison pmichaud: yes
00:05 allison pmichaud: for multiple users working on a branch, it's a bit tricky to tell them "wait, stop work on that branch, now work this other branch"
00:05 dalek r33019 | chromatic++ | mmdcache:
00:05 dalek : [PMC] Removed get_pmc VTABLE override from MultiSub; previously it returned the
00:05 dalek : sorted candidate dispatch list for the current arguments in the most recent
00:05 dalek : Parrot context.  No one used that, and it seemed weird, so now it returns the
00:05 dalek : invocant PMC.
00:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33019
00:05 allison pmichaud: but when you're the only developer, there's really no difference between the two strategies
00:06 pmichaud yes, that might be the case if there are large numbers of users.  I haven't run into that situation much.
00:06 allison pmichaud: thanks, good alternative
00:06 pmichaud speaking as someone who reviews svn diffs that show up in email -- the alternative approach makes it easier to see/review what is changing :-)
00:06 pmichaud but yes, they're just two ways of looking at the same process.
00:07 allison pmichaud: yeah, I just ignore the commits that have a standard "bring X branch up-to-date with trunk" message, since they have no impact
00:09 AndyA joined #parrot
00:14 dalek r33020 | allison++ | pdd30install_stage2:
00:14 dalek : Creating branch for ongoing 'make install' work, integrating trunk with branch.
00:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33020
00:16 allison pmichaud: when you do 'cd new_branch; svn merge old_branch' it doesn't demand a revision number?
00:16 pmichaud it might, but you just use the starting revision number of old_branch
00:17 pmichaud which you can get from    svn log --stop-on-copy
00:17 pmichaud you can probably also use dates    -r '{2008-01-01}:head'      although I haven't tried that yet.
00:19 pmichaud I typically do
00:19 pmichaud svn log --stop-on-copy   # in old branch
00:20 pmichaud then in new_branch I do    svn merge -r #####:head
00:20 pmichaud er,
00:20 pmichaud then in new_branch I do    svn merge -r #####:head  old_branch
00:20 pmichaud afk for a while.
00:21 alvar joined #parrot
00:25 dalek r33021 | chromatic++ | trunk:
00:25 dalek : [t] Made t/pmc/eval.t always use Parrot::Test::Util to create temporary files.
00:25 dalek : This helps prevent spurious failures from temporary file collisions during
00:25 dalek : parallel testing.
00:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33021
00:27 * jonathan -> sleep
00:27 chromatic Hm, do we have no say_p_X opcodes?
00:45 chromatic joined #parrot
00:45 leto_ joined #parrot
00:47 dalek r33022 | chromatic++ | trunk:
00:47 dalek : [t] Made t/pmc/io.t always use Parrot::Test::Util to create temporary files.
00:47 dalek : This helps prevent spurious failures from temporary file collisions during
00:47 dalek : parallel testing.
00:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33022
01:06 davidfetter joined #parrot
01:09 dalek r33023 | chromatic++ | trunk:
01:09 dalek : [t] Made t/pmc/filehandle.t always use Parrot::Test::Util to create temporary
01:10 dalek : files.  This helps prevent spurious failures from temporary file collisions
01:10 dalek : during parallel testing.
01:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33023
01:12 dalek r33024 | pmichaud++ | ctxpmc:
01:12 dalek : Create a branch for refactoring contexts into PMCs.
01:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33024
01:40 dalek r33025 | allison++ | pdd22io_part2:
01:40 dalek : [pdd22io] Interpreter initialization routines for the I/O subsystem move off to
01:40 dalek : their own file.
01:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33025
01:42 pmichaud ...if I manage to refactor contexts into PMCs, will we have to wait a release before merging to trunk?
01:47 pmichaud afk.
01:48 dalek r33026 | pmichaud++ | ctxpmc:
01:48 dalek : Changed my mind about the branch for now.
01:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33026
01:56 Whiteknight pmichaud, you still here?
01:58 dalek r33027 | allison++ | pdd22io_part2:
01:58 dalek : [pdd22io] Strip the functions needed for interpreter initialization/destruction
01:58 dalek : down to a bare minimum.
01:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33027
01:59 dalek r33028 | allison++ | pdd22io_part2:
01:59 dalek : [pdd22io] Moving a few commens over to the core.c file.
01:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33028
02:02 dalek r33029 | allison++ | pdd22io_part2:
02:02 dalek : [pdd22io] Add headizer hooks for src/io/core.c.
02:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33029
02:11 dalek r33030 | allison++ | pdd22io_part2:
02:11 dalek : [pdd22io] Bringing the pdd22io_part2 branch up-to-date with trunk r33029.
02:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33030
02:22 dalek r33031 | allison++ | pdd22io_part2:
02:22 dalek : [pdd22io] Generated headers for io/core.c.
02:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33031
02:23 dalek r33032 | allison++ | pdd22io_part2:
02:23 dalek : [pdd22io] Add src/io/core.c to list of I/O C files.
02:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33032
02:40 TiMBuS joined #parrot
02:47 chromatic pmichaud, I wouldn't think so.
02:51 leto_ joined #parrot
03:26 pmichaud missed whiteknight :-(
03:39 tak joined #parrot
03:50 Coke I think contexts count as 'internal guts with which you shouldn't be messing"
03:54 Infinoid pmichaud: oh, wow, you're refactoing contexts into PMCs?  nice.
03:55 Infinoid on a whim, I created a "Context" PMC that contained nothing but a pointer to a Parrot_Context, in an effort to make them take part in normal garbage collection.  mark_context() marked the PMC as active, and Context.destroy() is the only thing in the system that calls Parrot_free_context()
03:55 Infinoid It doesn't quite work, though.
03:56 Infinoid by the time I got anything working at all, lex4 had already gone its own way, so rather than tracking your refcounting tweaks, I was planning to redo that hack using trunk this time.
03:57 Infinoid actually moving all the Parrot_Context members into context.pmc ATTRs seemed like a lot more effort, I just wanted a proof of concept to see how badly it failed...
04:02 elmex_ joined #parrot
04:08 chromatic joined #parrot
04:13 leto_ joined #parrot
04:33 * Coke needs faster tcl. :|
04:34 tak joined #parrot
04:42 allison Infinoid: effort that's already done, see RT #60564
04:43 allison pmichaud: when I get a PGE error like:unrecognized statement at line 5, near "c\x{c0}\x{2}pc\x{c0}\x{2}\x{90}c\x{c0}"
04:43 allison pmichaud: any thoughts on what kind of file I should be looking for? a grammar file? a generated PIR file?
04:44 Coke Parrot VM: PANIC: Out of mem!
04:45 jimmy joined #parrot
04:45 allison Coke: fun
04:46 * Coke cries.
04:48 Coke tries to skip to the panic, but removing the big chunk of code makes it not happen anywhere near the same plac.
04:48 Coke It is very hard to find bits of partcl to work on that don't involve parrot exploding. :|
04:50 Infinoid allison: thanks
04:51 allison Coke: what are you doing that uses so much memory?
04:51 Coke running one of tcl's spec tests.
04:51 allison or, what's the backtrace before running out of memory?
04:51 Coke how do I get the backtrace ? just run via gdb?
04:52 allison Coke: does the test churn through a large number of objects, or is this some runaway process?
04:52 allison Coke: yes, gdb will do it
04:52 Coke running now. give me 10m for it to crash again.
04:53 Coke 3384   14133  100007 library/tcltest/tcltest.tcl
04:53 Coke 693    3903   23569 t_tcl/regexp.test
04:53 Coke 4077   18036  123576 total
04:53 Coke so, I'm running 4077 lines of tcl, give or take.
04:56 Coke (and this particular test is using the regexp engine, so I'm using even more PGE)
05:00 Coke backtrace ends here:     3384   14133  100007 library/tcltest/tcltest.tcl
05:00 Coke 693    3903   23569 t_tcl/regexp.test
05:00 Coke 4077   18036  123576 total
05:00 Coke er, here:
05:00 Coke #2099 0x00002ca8 in main (argc=2, argv=0xbfffef78) at src/main.c:61
05:00 Coke is there a way to save off the trace to a file?
05:04 allison the first 10 lines should be a good start
05:04 allison just to get an idea of what it's doing
05:04 Coke how can I get the first 10 lines? =-)
05:04 Coke can I tell gdb to pipe things through more?
05:05 Coke the 2099 lines blows through my screen buffer.
05:05 allison bt n
05:05 allison (where n is the number of lines)
05:06 allison (well, the number of call frames)
05:07 nopaste "coke" at 72.228.52.192 pasted "bt" (3 lines) at http://nopaste.snit.ch/14690
05:11 nopaste "coke" at 72.228.52.192 pasted "here's the full bt" (2100 lines) at http://nopaste.snit.ch/14691
05:12 Coke ah. "set logging on"
05:13 Coke see anything helpful in the bt?
05:29 Coke ->
05:48 allison Coke: absorbed by an I/O bug... looking now
05:49 allison Coke: looks like you've got one of those infinite exception recursions
05:50 allison 'fail_if_type_exists' immediately followed by 'Parrot_ex_throw_from_c_args' keeps repeating over, and over, and over again
05:51 allison it all starts with a 'Parrot_newclass_p_p'
05:52 allison Coke: hmmm.... have you added any new PMCs without doing a 'make realclean'?
06:08 pmichaud unrecognized statement... is this in Perl6Grammar, perhaps?
06:08 pmichaud at any rate, those look like utf8
06:08 pmichaud that weren't read as utf8
06:09 pmichaud Infinoid: I'm thinking about moving contexts to pmcs... but right now I'm not much motivated to do much more on this for a while.  Too much effort for too little progress this week.
06:14 chromatic ... and thus Jonathan and I have nearly doubled the speed of that benchmark.
06:14 dalek r33033 | chromatic++ | mmdcache:
06:14 dalek : [src] Demoted the two PMCs used to track argument and results signatures in
06:14 dalek : Parrot_pcc_invoke_sub_from_sig_object() to temporary PMCs.  This gives a 9.93%
06:14 dalek : speedup in the primes2.pir benchmark example.
06:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33033
06:17 Theory joined #parrot
06:23 allison pmichaud: yes, it was in Perl6Grammar, and I figured it out. the 'slurp' method was reading beyond the end of the file and dumping in garbage
06:23 pmichaud ah, good.
06:23 pmichaud (good that you figured it out.)
06:24 pmichaud I'm just reading about Whiteknight's issues with '$/' -- I suspect he's running into the same lexical issues that we've been having in other parts of development.
06:25 pmichaud is there a current branch I could troubleshoot on that would be helpful? (i.e., is the calling conventions branch "up to date" so that I could try reproducing what he's seeing?)
06:29 allison pmichaud: yes, it the calling conventions branch should be up-to-date
06:36 pmichaud allison: okay, I've duplicated the error... checking.
06:37 pmichaud it _has_ to be a problem with lexicals in the branch.
06:37 allison pmichaud: it sounds like it, but why on the branch and not in trunk?
06:38 allison pmichaud: the changes in this branch are very conservative
06:38 pmichaud I think it's the same context sensitivity that's been giving me trouble all week.
06:38 pmichaud but in this case, I can fairly well prove the code itself is correct.
06:38 pmichaud just a sec.
06:38 allison pmichaud: that makes sense
06:40 nopaste "pmichaud" at 72.181.176.220 pasted "lexical problem in calling_conventions branch (for allison/Whiteknight)" (171 lines) at http://nopaste.snit.ch/14692
06:40 pmichaud you can see from the top of the nopaste that I'm getting the same error that Whiteknight reported.
06:40 pmichaud the problem is in the 'TOP' method, which is at the very end of the file (and nopaste)
06:41 pmichaud line 134 is the one that reads
06:41 pmichaud .lex "$/", param_15
06:41 pmichaud oops, sorry.
06:41 pmichaud line 134 is the one that reads
06:41 purl i already had it that way, pmichaud.
06:41 pmichaud find_lex $P19, "$/"
06:42 pmichaud however, it's very clear that a lexical called '$/' must exist -- it was declared four lines above (the .lex line I just inadvertently pasted).
06:42 allison got it
06:42 pmichaud so the problem isn't in the PIR code that's being generated.
06:43 pmichaud given that the find_lex is in the same sub where '$/' is being declared, that tells me that the lex_pad must not be created correctly.
06:43 allison so this is one of those cases where it expects the lex_pad to come from an outer sub?
06:44 pmichaud no.
06:44 pmichaud at least, it shouldn't be.  The '$/' lexical is declared as being the first parameter to the sub.
06:45 allison if the context had been reclaimed prematurely, then the other code in the method wouldn't work either... so is it just a problem with the code that constructs the lex_pad for the context?
06:47 pmichaud there's no outer context here.
06:48 pmichaud the problem is typically that outer contexts get reclaimed prematurely.
06:48 allison there is another possibility, if get_hll_global or find_lex perform any C-level method calls, and that is that pcc_invoke isn't restoring the context properly
06:48 allison (C-level method calls is what changed slightly in the branch)
06:49 pmichaud I've not had a case where the current context gets reclaimed prematurely.... although there's very little at the moment in Parrot to prevent that from happening.
06:49 bacek joined #parrot
06:49 allison pmichaud: okay, not with the context of the sub itself being reclaimed, only outer contexts, then not relevant here
06:49 pmichaud so yes, it could be pcc_invoke that is causing the context to be lost.
06:50 Theory joined #parrot
06:50 pmichaud I'll go ahead and put this information in the message for Whiteknight as well.
06:50 allison excellent, thanks
06:55 dalek r33034 | chromatic++ | trunk:
06:55 dalek : [PMC] Added missing braces around an if condition in Role PMC to prevent a
06:55 dalek : potential crash when passing a NULL PMC to a function that doesn't expect it.
06:55 dalek : See CID #137, found by Coverity scan.
06:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33034
06:59 dalek r33035 | allison++ | pdd22io_part2:
06:59 dalek : [pdd22io] Incorporate old I/O functionality for UTF8 into new I/O subsystem.
06:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33035
07:05 chromatic Don't ever pass stderr when you meant to pass interp.
07:06 cotto easy mistake
07:06 cotto they're hard to tell apart
07:06 chromatic "Why don't I have an ->arena_base?  Why is my program crashing?"
07:07 dalek r33036 | chromatic++ | trunk:
07:07 dalek : [src] Fixed a resource leak from not freeing a string_to_cstring() result in
07:07 dalek : find_exception_handler()'s no-handler-found case.  See CID #149, reported by
07:07 dalek : Coverity Scan.
07:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33036
07:16 dalek r33037 | chromatic++ | trunk:
07:16 dalek : [IMCC] Fixed a resource leak by freeing the result of a string_to_cstring()
07:16 dalek : call in IMCC_subst_constants().  See CID #151, reported by Coverity Scan.
07:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33037
07:26 dalek r33038 | chromatic++ | trunk:
07:26 dalek : [pdb] Added pointer to free to PDB_free_file()'s argument list; this makes the
07:26 dalek : memory leak reported in RT #46127 and CID #152 trivial to fix.
07:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33038
08:18 jimmy joined #parrot
08:18 jimmy l
08:28 cotto That must have been a very important 1.
08:28 cotto or l
09:00 Zaba that was l
09:00 * Zaba just realised 1 and l are very similar in terminus
09:03 iblechbot joined #parrot
09:21 Hadi joined #parrot
09:27 barney joined #parrot
09:28 Zaba joined #parrot
09:38 alvar joined #parrot
09:42 cotto barney, is there something special I need to do for Pipp to make --target=pir work?
09:43 cotto parse, past and post work fine
10:14 cotto The build process assumes that --target=pir --output=foo.pir works, although it doesn't seem to break anything.
10:14 cotto sleep &
10:14 cotto night
10:54 dalek bernhard.schmalhofer@gmx.de | Pipp:
10:54 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
10:55 barney cotto: sorry, I was listening to talk about coroutines at Frankfurt Perl Workshop
10:55 barney I tried to support PIT output, but didn't finish that.
10:55 moritz let me guess, Mark Lehmann?
10:56 rob joined #parrot
10:56 barney No, implementing gather take with opcode rewriting
10:56 * barney talking about Pipp at FPW
10:56 moritz by whom?
11:10 dalek r33039 | fperrad++ | trunk:
11:10 dalek : [Lua]
11:10 dalek : - rewrite with keyed namespace
11:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33039
11:10 samlh joined #parrot
11:18 barney moritz: Rolf Langsdorfer
11:18 barney cotto: You can probably use the 'command_line' sub from HLLCompiler
11:19 * barney finished lightening talk on Pipp
11:20 barney s/Langsdorfer/Langsdorf/
11:24 jonathan ahojte
11:28 Alias joined #parrot
11:29 moritz never heard of him
11:31 barney from Darmstadt
11:35 dalek r33040 | bernhard++ | trunk:
11:35 dalek : [codingstd] remove trailing whitespace
11:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33040
11:39 dalek r33041 | bernhard++ | trunk:
11:39 dalek : [codingstd] fix indention of C-macros
11:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33041
11:59 Hadi joined #parrot
12:00 davidfetter joined #parrot
12:14 dalek r33042 | bernhard++ | trunk:
12:14 dalek : [codingstd] satisfy c_macro.t
12:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33042
12:40 masak joined #parrot
12:41 Zaba joined #parrot
12:49 jimmy joined #parrot
12:56 Hadi left #parrot
13:05 moritz jonathan: I see just one mention of 'is default' in the specs, and that's in S29, and doesn't explain it at all
13:06 moritz jonathan: and that's probabaly why there are no spectests either
13:07 jonathan moritz: It's mentioned in S12
13:07 jonathan moritz: And yes, there's no tests - it's on my task list unless I get beaten to it.
13:07 jonathan Just been distracted hacking on the MMD caching...
13:07 moritz jonathan: ah, maybe my grep missed it because it's not mentioned as 'is default' there
13:08 moritz I'll give it a shot tonight, unless I forget
13:08 jonathan moritz: I think it just mentions it as the default trait.
13:08 jonathan There isn't a code example.
13:10 * jonathan -> slovak and housework
13:13 dalek r33043 | moritz++ | trunk:
13:13 dalek : [rakudo] add test for slurpy params to spectest
13:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33043
13:54 rdice joined #parrot
14:08 kid51 joined #parrot
14:25 ambs joined #parrot
14:26 ambs left #parrot
14:26 Whiteknight joined #parrot
14:40 jimmy joined #parrot
14:40 dalek r33044 | fperrad++ | trunk:
14:40 dalek : [Lua]
14:40 dalek : - add mathx library
14:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33044
14:41 jimmy Will Perl6 implement  bootstrapping?
14:41 moritz what do you mean?
14:41 moritz bootstrapping is a technique, not a language feature
14:42 jimmy hmm, I mean Perl6 compile itself.
14:42 moritz every implementation is free do it as they like
14:43 jimmy Will it?
14:43 purl Will it is it being written to use djb's string functions and such?
14:43 moritz depends on the "it"
14:43 jimmy and Pugs had been stopped?
14:43 Infinoid perl6 compiling perl6 is a requirement of eval()
14:44 Infinoid whether the various implementations of perl6 use this feature heavily in their implementation is another question
14:44 moritz Infinoid: no. It can still be a C backend that does the eval
14:44 Infinoid true, but transparent from the user's perspective
14:44 jimmy i.e, GCC compile itself. Java compile itself.
14:45 jimmy and one target of perl6 is to compile itself
14:45 moritz jimmy: audreyt wanted to continue pugs development once ghc6.10.1 ewas released, which happend one or two weeks ago. That's the last thing I know about it
14:45 moritz there will likely be a bootstrapping compiler at one point
14:46 moritz the Perl 6 compiler named 'elf' is bootstrapping, for example
14:46 lathos The.. what?
14:46 purl hmmm... the is a few features i love in firefox, i will totally love you so. or an article
14:46 jimmy form svn, I saw Pugs had been stopped for two years. I head the target of Pugs is to help perl6 to compile itself.
14:46 moritz lathos: http://perl.net.au/wiki/Elf
14:47 lathos Sounds interesting.
14:50 jimmy Parrot is more up to date, and is being developed, but has been focused on implementing language features, rather than on becoming generally usable.
14:52 moritz purl, msg jonathan I've added t/spec/S12-methods/default-trait.t, one TODO test for 'is default' on methods, the tests for subs all pass
14:52 purl Message for jonathan stored.
14:52 lathos Oh, I dunno. The last few updates I've seen have all been in src/ and very little in languages/. Parrot's a good VM.
14:54 Coleoid_ joined #parrot
14:55 jimmy so perl6 does not implement self-hosting?
14:55 moritz not at the moment.
14:57 jimmy maybe it is difficult and unnecessary,because of Parrot.
14:58 Coleoid jimmy: it's not as black-and-white as it would be with, for example, a C++ implementation.
14:58 jan joined #parrot
14:59 Coleoid Rakudo (atop Parrot) has some of its features written in Perl 6 already...
14:59 moritz right; for example the grammar is already written in Perl 6, and parsed by the same program that executes Perl 6 regexes
14:59 masak hi jimmy!
14:59 jimmy hi masak
15:00 jimmy some people of china had been confused. for Parrot perl6 and pugs.
15:01 masak jimmy: 今天我在学习中文。
15:01 jimmy i want to give them a clear answer.
15:02 jimmy masak: 进步很大吧,呵呵。
15:02 jimmy masak: 音标的问题还习惯吗?
15:03 masak jimmy: the tones? I think they will always be a problem to me.
15:03 masak but maybe less and less of a problem.
15:04 masak I credit myself with having a good ear for tones.
15:04 jimmy masak: yes. 基本功很重要,我们小时候也会学半年一年的音标
15:05 masak jimmy: let me try to untagle that sentence for a while :)
15:05 masak basic success is important, that's true.
15:06 jimmy i.e:  āáǎà,ōóǒò,ēéěè,ūúǔù
15:06 masak ah, you're talking about the written accents, not the spoken tones?
15:06 masak yes, I definitely like Pinyin better with the accents than without them. :)
15:07 jimmy vowel practising is very very important.
15:07 masak I'll keep that in mind.
15:07 jimmy s/practsing/practice
15:08 masak I have a 'language partner', a student from China who helps me along each week.
15:08 jimmy āáǎà,ōóǒò,ēéěè,ūúǔù, I studied it using a year.
15:08 masak wow.
15:08 masak actually, I use Perl 6 to practice Chinese characters!
15:09 jimmy it is basic skill, every student in china should practise it.
15:09 alvar joined #parrot
15:09 masak aye.
15:10 jimmy some student's teacher who does not speak mandarin in china , his students does not. such as guangdong
15:11 jimmy masak: good.
15:11 lathos I can more-or-less read Chinese thanks to Japanese.
15:12 jimmy Chinese is different from japanese, I can't read japanese.
15:12 jimmy :(
15:13 lathos Japanese people can read Chinese but Chinese people can't read Japanese.
15:13 jimmy masak: When you come to China. You will be my language partner. :)
15:13 lathos Japan added two more alphabets just to be confusing.
15:14 jimmy lathos: I know nothing about Japanese.
15:15 masak jimmy: gladly.
15:15 masak lathos: they're not alphabets, though.
15:16 lathos Well, syllabaries. Bah.
15:16 lathos Bloody pedants.
15:16 masak :)
15:16 masak we're programmers, what do you expect?
15:16 jimmy masak: can you speak other language?
15:16 masak jimmy: yes.
15:17 masak jimmy: can you?
15:17 jimmy as I know. rudian ren can speak many languages.
15:17 masak actually, it varies from ruidian ren to ruidian ren :)
15:18 jimmy I just english ,mandarin and native dialect.
15:18 * moritz can speak perl, Perl 6, Eiffel, a bit of each C++, C, Fortran, PIR, HTML, CSS, JS, Java... ;)
15:18 jimmy I mean human's language.
15:19 jimmy not computer's language.
15:19 masak jimmy: moritz is teasing you :)
15:19 masak I took some French in high school, and I know a bit of Russian from my grandmother. I'm very good at Esperanto, for some reason. I also dabbled in Jiddisch and can recognize some German expressions.
15:19 masak I want to learn Tibetan.
15:20 jimmy it is not necessary
15:21 masak jimmy: somehow, I knew you'd say that. :)
15:21 masak sorry, I have a lot of preconceptions about Chinese.
15:22 jimmy mandarin is enough.
15:22 jimmy masak : nothing.
15:22 purl i heard nothing was free! or worth nothing but it's free, feeling good was easy, Lord, then Bobby sang the blues, nothing left was all she left for me or nothing crunches like a triscuit
15:22 masak jimmy: if I though that way about languages, I would have stopped at English.
15:22 moritz jimmy: so you would also people discourage from learning kantonese?
15:22 masak purl: forget nothing
15:22 purl masak: I forgot nothing
15:23 jimmy there is many native dialects in china every city may be not the same.
15:24 masak jimmy: I apologise if this is a touchy issue. might not native Tibetans object to speaking Mandarin with a foreigner?
15:24 lathos If you want to get to know Tibetans, you need to learn Tibetan.
15:25 jimmy if there is many foreigners in a city. They should speak mandarin.
15:25 masak lathos: that's my feeling as well.
15:25 lathos Yeah, yeah, they should speak Mandarin because TIBET IS CHINA. But really, learn TIbetan.
15:26 masak aye.
15:26 jimmy And if you want to travel in Tibet, then learn it.
15:27 jimmy and that is my option.
15:28 lathos masak: Where are you based?
15:29 Andy joined #parrot
15:29 masak lathos: Uppsala, Sweden.
15:29 masak lathos: what about you?
15:29 lathos Near Kyoto.
15:37 masak lathos: yesterday I learned, from my local sushi provider, that 大 is pronounced "oki" in Japanese
15:37 lathos Long o, but yes.
15:37 masak how does one write that?
15:38 lathos Or "dai", in compounds.
15:38 masak ah.
15:38 masak that's closer to Mandarin pronunciation.
15:39 lathos Ōkii.
15:39 kj joined #parrot
15:42 cognominal joined #parrot
15:44 masak lathos: thank you
16:05 Zaba joined #parrot
16:06 cognominal joined #parrot
16:21 dalek r33045 | kjs++ | trunk:
16:21 dalek : [t] change PASM registers to PIR registers in PIR tests.
16:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33045
16:31 dalek r33046 | kjs++ | trunk:
16:31 dalek : [t] change PASM registers to PIR registers in PIR tests.
16:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33046
17:00 dalek r33047 | kjs++ | trunk:
17:00 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33047
17:02 dalek r33048 | kjs++ | trunk:
17:02 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33048
17:07 dalek r33049 | kjs++ | trunk:
17:07 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33049
17:10 Theory joined #parrot
17:22 dalek r33050 | kjs++ | trunk:
17:22 dalek : [t] change PASM registers to PIR registers in PIR tests. Note that the PIR code is in a Perl string, so escape the $.
17:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33050
17:31 dalek r33051 | kjs++ | trunk:
17:31 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33051
17:31 Hadi joined #parrot
17:33 gryphon joined #parrot
17:34 dalek r33052 | kjs++ | trunk:
17:34 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33052
17:37 dalek r33053 | kjs++ | trunk:
17:37 dalek : [t] change PASM registers to PIR registers in PIR tests.
17:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33053
17:47 Andy joined #parrot
18:07 spinclad joined #parrot
18:12 spinclad_ joined #parrot
19:24 dalek r33054 | moritz++ | trunk:
19:24 dalek : [rakudo] add tests for 'is also' on classes
19:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33054
19:37 Hadi left #parrot
19:46 rob joined #parrot
19:47 dalek r33055 | kjs++ | trunk:
19:47 dalek : [imcc] Disallow PASM registers. This is a huge patch, but that's to prevent failures; quite some changes were needed. I ran make test several times; all should be fine now, but will recheck again. The IMCC lexer needed quite some work, more than the initial patch by Coke++. Also, there may be a memory leak in there, as chromatic indicated earlier. Will fix that in separate patch.
19:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33055
19:52 moritz kj: I've get a failure in t/pmc/threads.t
19:52 moritz error:imcc:'I5' is only a valid register name in PASM mode
19:52 moritz #       in file '/home/moritz/src/parrot/t/pmc/threads_2.pir' line 4
19:52 kj that's weird.. but I'll have a look at it right now
19:52 dalek r33056 | allison++ | pdd22io_part2:
19:52 dalek : [pdd22io] Convert UTF-8 utility functions from old I/O layer.
19:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33056
19:53 kj moritz: thanks for testing
19:55 johbar joined #parrot
19:56 kj fixed, committing now.
19:56 nopaste "moritz" at 89.14.204.204 pasted "patch for threads.t, fixes all but one failure (for kj to review)" (122 lines) at http://nopaste.snit.ch/14694
19:56 moritz ah, you're faster ;)
19:57 kj hehe, I've done for the past 2 hours :-)
19:57 kj so I trained my eye :-
19:57 kj there's 1 test failing, but it's already failing on a clean checkout, without my huge patch. It's the dynpmc test
19:58 dalek r33057 | kjs++ | trunk:
19:58 dalek : [t] and also [compilers/json]. Fixed some forgotton PASM registers into PIR regs.
19:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33057
19:59 kj moritz: could you recheck again?
20:00 moritz kj: yes, I'm running 'make test' right now
20:00 kj ah, thanks!
20:00 kj phew, that was a tricky task :-|
20:02 masak joined #parrot
20:02 nopaste "moritz" at 89.14.204.204 pasted "test summary for kj" (17 lines) at http://nopaste.snit.ch/14695
20:02 dalek r33058 | allison++ | pdd22io_part2:
20:02 dalek : [pdd22io] Convert IMCC over to new I/O subsystem.
20:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33058
20:03 kj moritz: thanks, will look into it.
20:05 silug joined #parrot
20:05 dalek r33059 | allison++ | pdd22io_part2:
20:05 dalek : [pdd22io] Update documentation for Unix I/O utility functions to match reality.
20:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33059
20:14 dalek r33060 | kjs++ | trunk:
20:14 dalek : [t] more PASM -->PIR reg conversion. reported by moritz++.
20:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33060
20:14 dalek r33061 | allison++ | pdd22io_part2:
20:14 dalek : [pdd22io] Remove stray static prototypes for old functions.
20:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33061
20:14 dalek r33062 | kjs++ | trunk:
20:14 dalek : [t] and yet another PASM->PIR reg conversion. reported by moritz++.
20:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33062
20:15 jonathan make nom
20:15 jonathan Assertion Failed: frying_chips->location != oven
20:15 jonathan MAKE: make nom FAIL
20:15 masak nom has too many dependencies.
20:16 * moritz recommends 'fmake', the non-GNU Food Make
20:16 * jonathan should read the packet while in the supermarket next time, not just look at the picture of nice looking chips (fries for any Americans ;)) on the packet...
20:16 moritz kj: t/pmc/bigint.t line 98, error:imcc:'$N10' is not a valid register name in pasm mode
20:17 moritz jonathan: so what did you buy? ;-)
20:17 dalek r33063 | allison++ | pdd22io_part2:
20:17 dalek : [pdd22io] Add a 'get_bool' vtable function, and 'readall' and 'encoding' methods.
20:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33063
20:17 dalek r33064 | kjs++ | trunk:
20:17 dalek : [imcc] do str_dup() after the PASM reg check, as suggested by chromatic++. This prevents a potential memory leak.
20:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33064
20:17 dalek r33065 | allison++ | pdd22io_part2:
20:17 dalek : [pdd22io] Add tests for 'readall' method on the FileHandle PMC.
20:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33065
20:18 kj moritz: bigint.t should be fine now.
20:19 moritz kj: it's not, here
20:20 kj mmm that's weird.
20:20 moritz forgot to commit it?
20:20 moritz or skipped on your platform?
20:20 kj nope, prove t\pmc\bigint.t is fine here
20:20 kj eek!
20:20 kj no it isn't
20:20 masak ook!
20:20 moritz and t/dynpmc/foo.t also fails
20:21 kj yes, but that one already failed on my system
20:21 moritz but the failures look very much like new errors here
20:21 moritz # error:imcc:'P1' is only a valid register name in PASM mode
20:21 moritz #       in file '/home/moritz/src/parrot/t/dynpmc/foo_5.pir' line 14
20:21 kj yes those are new indeed.
20:22 kj i'll work on them
20:23 moritz kj: I can take care of the dynpmc test, it passed here before your update
20:23 kj if you don't mind (A)
20:23 kj it seems my test is different...
20:24 kj I can't find a P1 anymore in my foo_5.pir
20:24 kj neither the bigint.t failure; can't find the error.
20:25 moritz with r33066 the dynpmc test passes
20:25 dalek r33066 | moritz++ | trunk:
20:25 dalek : [t] use PIR registers consitently in t/dynpmc/foo.t
20:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33066
20:25 kj aah. this explains: conflicht.
20:25 kj conflict*
20:26 kj so much for the "I'll fix this in an hour" :-S
20:26 tewk joined #parrot
20:27 kid51 joined #parrot
20:27 kj moritz: t\dynpmc\foo.t fails (test 3) ; class 'Foo' not found.
20:27 moritz kj: it's in runtime/parrot/include/fp_equality.pasm, it seems
20:27 kj but that was already the case on my system
20:28 kj moritz: yes i had to edit that one as well
20:28 dalek r33067 | allison++ | pdd22io_part2:
20:28 dalek : [pdd22io] Add a test for setting and retrieving the 'encoding' attribute of a
20:28 dalek : FileHandle PMC.
20:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33067
20:29 kj it has a couple of macros that use PASM register; they had to be converted to PIR regs as well, but they were also used in some PASM tests, so I copy/pasted the macros, and added a _pasm suffix to them
20:32 moritz well, if I remove those dollars in fp_equality.pasm bigint.t works fine
20:33 kj the fp_eq macro should be renamed to fp_eq_pasm
20:33 kj so instead of expanding .fp_eq (or .fp_ne)
20:33 kj use .fp_eq_pasm
20:33 kj and .fp_ne_pasm, respectively
20:33 jonathan moritz: I bought chips...that you have to fry. Putting them in the oven didn't work out so good...
20:33 moritz right, because just removing the dollars make t/pmc/fixedfloatarray.t fail
20:34 kj exactly; like I mentioned earlier, these macros are use din both PASM and PIR mode
20:34 kj so had to duplicate them, and change one set into PIR=style
20:34 kj so in PASM mode, always use .fp_eq_pasm, and otherwise just .fp_eq
20:34 moritz ah, i didn't understood what you said until I ran into the same issue :)
20:34 kj oh sorry for being unclear then :-)
20:35 kj yea, well it's not the  nicest solution, but I figured removing PASM regs in PIR mode is more important than those macros
20:35 kj I guess another way of fixing it may be to use .local num's
20:36 * moritz doesn't care as long as 'make test' is clean ;)
20:36 kj how does t/dynpmc/foo.t work on your system?
20:36 kid51 joined #parrot
20:38 moritz Result: PASS
20:38 kj ok, fails here (windows)
20:38 kj so does t/pmc/eval.t
20:38 kj "permission denied" on t/pmc/eval.t...
20:43 kid51 joined #parrot
21:13 dalek r33068 | allison++ | pdd22io_part2:
21:13 dalek : [pdd22io] Documentation and exception message fixes for I/O interpreter
21:13 dalek : initialization/destruction functions.
21:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33068
21:14 Andy joined #parrot
21:16 dalek r33069 | allison++ | pdd22io_part2:
21:16 dalek : [pdd22io] Convert the interpreter to use new I/O subsystem.
21:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33069
21:20 dalek r33070 | allison++ | pdd22io_part2:
21:20 dalek : [pdd22io] Convert all calls to old I/O system in src/interpreter.c.
21:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33070
21:20 dalek r33071 | allison++ | pdd22io_part2:
21:20 dalek : [pdd22io] Convert all calls to old I/O system in src/thread.c.
21:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33071
21:20 moritz the 'parrot-devel' link on http://www.parrot.org/download points to parrot-0.8.0 - aren't we up to 0.8.1 right now?
21:21 dalek r33072 | allison++ | pdd22io_part2:
21:21 dalek : [pdd22io] Convert all calls to old I/O system.
21:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33072
21:22 Theory joined #parrot
21:23 dalek r33073 | allison++ | pdd22io_part2:
21:23 dalek : [pdd22io] Change filehandle mode parsing to use Parrot string directly, add a
21:23 dalek : comparison function for encoding.
21:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33073
21:25 dalek r33074 | allison++ | pdd22io_part2:
21:25 dalek : [pdd22io] Document 'encoding' method on FileHandle PMC.
21:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33074
21:25 dalek r33075 | allison++ | pdd22io_part2:
21:25 dalek : [pdd22io] Convert all calls to old I/O system.
21:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33075
21:27 dalek r33076 | allison++ | pdd22io_part2:
21:27 dalek : [pdd22io] Convert all calls to old I/O system.
21:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33076
21:27 dalek r33077 | allison++ | pdd22io_part2:
21:27 dalek : [pdd22io] Convert all calls to old I/O system.
21:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33077
21:28 kj joined #parrot
21:29 dalek r33078 | allison++ | pdd22io_part2:
21:29 dalek : [pdd22io] Convert all calls to old I/O system.
21:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33078
21:32 dalek r33079 | allison++ | pdd22io_part2:
21:32 dalek : [pdd22io] Add headers for encoding check and UTF-8 read/write functions.
21:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33079
21:32 dalek r33080 | allison++ | pdd22io_part2:
21:32 dalek : [pdd22io] Add compilation of UTF-8 utility functions.
21:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33080
21:32 dalek r33081 | allison++ | pdd22io_part2:
21:32 dalek : [pdd22io] Convert all calls to old I/O system.
21:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33081
21:32 jonathan My does she patch fast... ;-)
21:34 dalek r33082 | allison++ | pdd22io_part2:
21:34 dalek : [pdd22io] Convert all calls to old I/O system.
21:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33082
21:36 dalek r33083 | allison++ | pdd22io_part2:
21:36 dalek : [pdd22io] Convert all calls to old I/O system.
21:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33083
21:39 moritz allison: should the pdd22io_part2 branch build right now? it hangs during ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
21:45 dalek r33084 | kjs++ | trunk:
21:45 dalek : [imcc] implement .line directive.
21:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33084
21:55 dalek r33085 | allison++ | pdd22io_part2:
21:55 dalek : [pdd22io] Convert all calls to old I/O system.
21:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33085
21:55 dalek r33086 | allison++ | pdd22io_part2:
21:55 dalek : [pdd22io] Convert all calls to old I/O system.
21:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33086
21:55 dalek r33087 | allison++ | pdd22io_part2:
21:55 dalek : [pdd22io] Convert all calls to old I/O system.
21:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33087
21:56 dalek r33088 | allison++ | pdd22io_part2:
21:56 dalek : [pdd22io] Convert all references to old I/O system (even in comments).
21:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33088
21:57 dalek r33089 | allison++ | pdd22io_part2:
21:57 dalek : [pdd22io] Convert all calls to old I/O system.
21:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33089
21:58 GeJ Good morning everyone
21:59 dalek r33090 | allison++ | pdd22io_part2:
21:59 dalek : [pdd22io] Convert all calls to old I/O system.
21:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33090
21:59 dalek r33091 | allison++ | pdd22io_part2:
21:59 dalek : [pdd22io] Convert all calls to old I/O system.
21:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33091
21:59 masak GeJ: evenin'
22:01 GeJ hej masak
22:02 masak hej, hej :)
22:03 dalek r33092 | allison++ | pdd22io_part2:
22:03 dalek : [pdd22io] Convert all calls to old I/O system.
22:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33092
22:03 dalek r33093 | allison++ | pdd22io_part2:
22:03 dalek : [pdd22io] Convert all calls to old I/O system.
22:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33093
22:03 dalek r33094 | allison++ | pdd22io_part2:
22:03 dalek : [pdd22io] Convert all calls to old I/O system.
22:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33094
22:03 dalek r33095 | allison++ | pdd22io_part2:
22:03 dalek : [pdd22io] Convert all references to old I/O system (even in comments).
22:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33095
22:03 dalek r33096 | allison++ | pdd22io_part2:
22:03 dalek : [pdd22io] Convert all calls to old I/O system.
22:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33096
22:06 dalek r33097 | allison++ | pdd22io_part2:
22:06 dalek : [pdd22io] Convert all calls to old I/O system.
22:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33097
22:09 dalek r33098 | allison++ | pdd22io_part2:
22:09 dalek : [pdd22io] Convert all calls to old I/O system.
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33098
22:09 dalek r33099 | allison++ | pdd22io_part2:
22:09 dalek : [pdd22io] Convert all calls to old I/O system.
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33099
22:09 dalek r33100 | allison++ | pdd22io_part2:
22:09 dalek : [pdd22io] Convert all calls to old I/O system.
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33100
22:09 kjs_ joined #parrot
22:12 chromatic joined #parrot
22:13 dalek r33101 | allison++ | pdd22io_part2:
22:13 dalek : [pdd22io] Convert all calls to old I/O system.
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33101
22:13 dalek r33102 | allison++ | pdd22io_part2:
22:13 dalek : [pdd22io] Convert all calls to old I/O system.
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33102
22:13 dalek r33103 | allison++ | pdd22io_part2:
22:13 dalek : [pdd22io] Convert all calls to old I/O system.
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33103
22:13 dalek r33104 | allison++ | pdd22io_part2:
22:13 dalek : [pdd22io] Convert all calls to old I/O system.
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33104
22:13 dalek r33105 | allison++ | pdd22io_part2:
22:13 dalek : [pdd22io] Convert all calls to old I/O system.
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33105
22:15 chromatic svk push!
22:15 purl svk push is a simple concept
22:15 allison moritz: no, the pdd22io_part2 branch shouldn't build until I finish the current round of conversions (there's just no way to break this into pieces, once the interpreter switches, everything has to switch)
22:15 moritz allison: ok
22:16 allison chromatic: really, I planned to do this all in one commit, but somewhere along the way I added a segfault, so I'm code reviewing each file as I commit it, and then testing it on another checkout of the branch
22:16 jonathan segfault => epic karma win
22:17 moritz lol
22:17 moritz karma allison
22:17 purl allison has karma of 1120
22:17 * jonathan wonders where we are with the mmdcache branch...
22:17 TiMBuS joined #parrot
22:18 moritz jonathan: parrot's 'make test' worked all fine here, rakudo's 'make spectest' seemed to barf on every single file
22:18 * jonathan wonders what was committed
22:18 dalek r33106 | allison++ | pdd22io_part2:
22:18 dalek : [pdd22io] Convert all calls to old I/O system.
22:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33106
22:19 chromatic jonathan, I'm going to merge from trunk and see what happens.
22:19 jonathan Last time I checked, make test failed some and Rakudo's make spectest was clean. ;-)
22:19 jonathan chromatic: OK, awesome.
22:19 Andy joined #parrot
22:19 * jonathan waits for that before re-building
22:20 dalek r33107 | allison++ | pdd22io_part2:
22:20 dalek : [pdd22io] Convert all calls to old I/O system.
22:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33107
22:22 rdice joined #parrot
22:24 chromatic Had to resolve two conflicts; rebuilding now.
22:25 chromatic Built fine; testing now.
22:26 dalek r33108 | allison++ | pdd22io_part2:
22:26 dalek : [pdd22io] Convert all calls to old I/O system.
22:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33108
22:27 chromatic Hm, t/pmc/bigint.t failed.
22:27 moritz chromatic: yes, that's related to kj's changes...
22:27 moritz also fails in trunk
22:27 moritz (the changes that forbid dollar-less registers in PIR)
22:28 chromatic Okay, not our problem then.
22:30 chromatic Hmm.
22:30 chromatic t/pmc/perl6multisub-arity....... All 13 subtests passed
22:30 chromatic t/pmc/perl6multisub-basic....... All 4 subtests passed
22:30 chromatic t/pmc/perl6multisub-tiebreak....ok
22:30 chromatic t/pmc/perl6multisub-type........ All 13 subtests passed
22:32 jonathan If they all passed why doesn't it just say "ok"?
22:32 chromatic #5  0xb7b67743 in mem_sys_free (from=0x806fc28) at src/gc/memory.c:304
22:32 chromatic #6  0xb7908bae in Parrot_Perl6MultiSub_destroy (interp=0x804f040,
22:32 chromatic pmc=0xb6e83634) at ./perl6multisub.pmc:666
22:32 chromatic double-free
22:32 dalek r33109 | allison++ | pdd22io_part2:
22:32 dalek : [pdd22io] Convert HLLCompiler to use new read mode values, and to call
22:32 dalek : 'readall' method, instead of 'slurp'.
22:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33109
22:32 jonathan Just wanted to make sure... ;-)
22:33 jonathan Hmm...how can we end up calling Parrot_Perl6MultiSub_destroy twice?
22:33 jonathan For the same PMC?
22:33 chromatic I don't think that's the problem.
22:33 chromatic I think it's trying to free the same pointer twice.
22:33 jonathan Oh?
22:33 jonathan Have I done something incredibly dumb?
22:34 jonathan Entirely possible...
22:34 chromatic That depends what's in the candidates attribute and who allocated each item.
22:34 jonathan oh, what on earth...
22:35 jonathan mem_sys_free(cache);
22:35 jonathan I shoulda been calling Parrot_mmd_cache_destroy there for one...
22:35 jonathan SETATTR_Perl6MultiSub_cache(interp, SELF, cache)
22:35 jonathan shyould be
22:35 jonathan GETATTR_Perl6MultiSub_cache(interp, SELF, cache)
22:35 jonathan ...was I drunk?
22:35 chromatic Let me commit the merge, and you can fix this.
22:36 jonathan Sure.
22:36 chromatic We won't move back to trunk before this all passes.
22:36 jonathan Aye.
22:37 jonathan Is make test clean apart from the known bigint?
22:37 chromatic Yes.
22:38 jonathan Great.
22:40 dalek r33110 | chromatic++ | mmdcache:
22:40 dalek : [mmdcache] Merging from trunk into mmdcache branch from r33003.
22:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33110
22:41 * jonathan svn up's
22:41 jonathan Wish my C library got upset about double frees too...
22:42 chromatic You don't get a SIGABRT?
22:43 jonathan Doesn't seem so.
22:44 dalek r33111 | allison++ | pdd22io_part2:
22:44 dalek : [pdd22io] Convert all calls to old I/O system in C tests.
22:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33111
22:44 jonathan Otherwise I'd likely have spotted the issue in local testing.
22:46 chromatic Fair enough.
22:50 dalek r33112 | allison++ | pdd22io_part2:
22:50 dalek : [pdd22io] Change HLLCompiler to set the filehandle's encoding using the
22:50 dalek : 'encoding' method instead of by pushing a layer name.
22:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33112
22:51 chromatic 17 items found in the latest Coverity scan from this morning!
22:51 chromatic 12 need addressing.  Very nice.
22:57 dalek r33113 | allison++ | pdd22io_part2:
22:57 dalek : [pdd22io] Headerizer fix to function doc.
22:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33113
22:58 dalek r33114 | allison++ | pdd22io_part2:
22:58 dalek : [pdd22io] Headerizer reorder to function prototype.
22:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33114
23:02 jonathan chromatic: Try 33115
23:02 jonathan Trying it here.
23:02 jonathan So far so good, but then it worked here before anyway...
23:03 dalek r33115 | jonathan++ | mmdcache:
23:03 dalek : [rakudo] Fix epic fail at destroying MMD cache in Perl6MultiSub.
23:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33115
23:03 jonathan We were actually trying to free an uninitialized pointer!
23:04 chromatic That'll do it.
23:06 Alias joined #parrot
23:13 moritz Unicode is impressive, my mail client can display Arabic spam correctly ;)
23:17 jonathan chromatic: Rakudo looks good for me here, waiting for Parrot's make test to complete, then I give mmdcache branch the thumbs up on Win32.
23:18 moritz jonathan: rakudo smoked fine here in the mmdcache branch too
23:19 jonathan moritz: Russian spam is what mostly keeps my ability to read the cyrillic alphabet alive between trips to countries that use it. ;-)
23:19 chromatic Excellent.
23:19 chromatic Do you have any other changes in the branch before we merge to trunk?
23:19 chromatic Your journal mentioned cache invalidation or something.
23:19 jonathan I need to sort out cache invalidation.
23:19 jonathan Yeah
23:20 chromatic Okay, let's do that and then merge.
23:20 jonathan It's a few line additoin.
23:20 jonathan I don't mind doing it post-merge.
23:20 jonathan Or I can do it now...I was sorta having a day off-ish. ;-)
23:20 chromatic Less risk to do it on the branch.
23:21 jonathan OK, doing it.
23:21 purl somebody said doing it was beyond difficult.
23:21 jonathan Maybe for you, purl, maybe for you...
23:25 dalek r33116 | chromatic++ | trunk:
23:25 dalek : [PMC] Clarified the exit condition of a loop in NameSpace PMC's
23:25 dalek : get_pointer_keyed().  It's still a little bit confusing, but it's clearer now.
23:25 dalek : See CID #118, from Coverity Scan.
23:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33116
23:27 moritz jonathan: parrot's 'make test' is also clean in the mmdcache branch for me (except for bigint tests which also fail in trunk)
23:27 purl okay, moritz.
23:28 moritz and now time for bed ;)
23:29 jonathan schlaft gut
23:43 dalek r33117 | chromatic++ | trunk:
23:43 dalek : [src] Added an assert against a NULL vtable->mro in Parrot_create_mro().  See
23:43 dalek : CID #146 from Coverity Scan.
23:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33117
23:46 chromatic That makes 10 open Coverity Scan issues.
23:49 bacek_ joined #parrot
23:49 tetragon joined #parrot
23:50 dalek r33118 | allison++ | pdd22io_part2:
23:50 dalek : [pdd22io] Move src/io/utf8.c higher in the compile list.
23:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33118
23:51 dalek r33119 | allison++ | pdd22io_part2:
23:51 dalek : [pdd22io] Check encoding and use UTF-8 utility functions if set to
23:52 dalek : encoding attribute of filehandle is set to 'utf8'.
23:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33119
23:56 dalek r33120 | chromatic++ | trunk:
23:56 dalek : [MMD] Moved a NULL check to before the first dereference, avoiding a potential
23:56 dalek : crash.  See CID #154 from Coverity Scan.
23:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33120
23:57 dalek r33121 | allison++ | pdd22io_part2:
23:57 dalek : [pdd22io] Add basic tests of reading/writing with UTF-8 encoding set on
23:57 dalek : the filehandle.
23:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33121

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced