Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-22

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:10 dalek parrot: r45090 | plobsing++ | trunk/DEPRECATED.pod:
00:10 dalek parrot: mark loadlib_p_s_p as experimental
00:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45090/
00:11 rt7 joined #parrot
00:38 dalek rakudo: becc7e0 | jonathan++ | src/Perl6/Grammar.pm:
00:38 dalek rakudo: One more tweak and seems we have item assignment working now, with all existing tests passing. :-)
00:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​ecc7e07e4e6c52e1995a452abf22fa89d2b2ed7
00:38 dalek rakudo: 5d8fd6a | jonathan++ | docs/ROADMAP:
00:38 dalek rakudo: Minor ROADMAP tweaks.
00:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​d8fd6a2440c2f447b14f1e0690bbf3f96298452
00:49 GodFather joined #parrot
01:02 abqar joined #parrot
01:11 Whiteknight *crickets
01:11 * plobsing is contemplating why we have config/gen/platform/platform_interface.h
01:12 plobsing anyone have any idea?
01:14 sorear you mean as opposed to just having include/parrot/platform.h?
01:15 plobsing yeah. It just gets copied over.
01:16 plobsing and there's even a comment: "interface is the same for all platforms"
01:16 plobsing I'm ripping it out to see what breaks ATM
01:18 Whiteknight do it
01:18 muixirt_ joined #parrot
01:26 chromatic joined #parrot
01:37 sorear True or false: the pcc_hackathon_6Mar10 API is going to become the trunk API.
01:38 Whiteknight sorear: yeah, it's going to get merged in soon
01:38 Whiteknight in fact...
01:38 purl in fact... are all squash New World?
01:38 Whiteknight bacek_at_work, chromatic: ping
01:40 chromatic pong
01:41 dalek rakudo: 265726d | (Solomon Foster)++ | src/builtins/Num.pir:
01:41 dalek rakudo: Cleanup trailing whitespace.
01:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​65726dfc14e11242f9f7673a61b1d0cccb14df5
01:41 dalek rakudo: fabef9f | Lue++ | src/ (2 files):
01:41 dalek rakudo: Put in support for fractional numbers (:16<A.4>) and other base scanning (:2<0o10>) into the radcalc function.
01:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​abef9fb2fb1af6ad49fd99d395c2c4d5479e099
01:42 Whiteknight chromatic: pcc branch. ETA?
01:44 theory joined #parrot
01:44 Whiteknight bacek sent out an email about it earlier, no objections, but I haven't seen any movement on it
01:44 chromatic As soon as Rakudo passes its tests, it's merge time.
01:45 chromatic masak or moritz said there were some test failures.
01:45 plobsing odd - t/pmc/os.t fails lstat tests but only under testf
01:50 Whiteknight gotcha
01:53 chromatic Haven't had time to diagnose that.
01:53 chromatic I'm still thinking about the STRING buffer allocation patch.
01:54 Whiteknight I've looked at that patch only briefly
01:54 Whiteknight created a branch for it, if you want to play: compact_strings
01:54 chromatic I might switch to two other tasks.
01:55 chromatic One, adding an _ic variant for get_params and set_args and the like.
01:55 Whiteknight make corevm works, make coretest works and fails several tests
01:55 chromatic Two, fixing the way we register constant strings.  I think we need a binary tree to store them, not a cstring hash.
01:55 chromatic That'll let us get rid of cstring hash, I think.
01:55 Whiteknight I don't know if you saw any of my insane ramblings, but all my attempts to resolve TT #389 have failed
01:55 Whiteknight I'm at a dead-end there without fresh input
01:56 chromatic How far did you get?
01:56 Whiteknight not far really. Any attempt I made was flawed
01:56 Whiteknight my best attempt fixed most of the bugs in trunk but completely broke dynpmcs
01:57 Whiteknight like terrible, explosive failures
01:57 chromatic I can't imagine why that would be.
01:58 bacek_at_work Unfortunately my laptop finally died...
01:58 bacek_at_work So I can't do merge...
01:59 Whiteknight chromatic: Parrot's startup sequence is so rediculously convoluted
01:59 Whiteknight what I think we really need to do is spend some time diagramming it
02:01 chromatic You want convoluted?  You should see the self-hosting precise GC I wrote once.
02:01 AndyA joined #parrot
02:02 Whiteknight chromatic: I really would like to see that some time
02:03 chromatic It's fairly simple.  The only tricky part is holding on to the pointers long enough to register them in themselves.
02:03 Whiteknight fun fun silly willy
02:04 Whiteknight Anyway, it's my bed time. I'll see if I can get back in the swing of TT #389 tomorrow
02:04 chromatic What happened to your tt389 patches?
02:04 Whiteknight chromatic: all of them were lousy in one way or another
02:04 Whiteknight I have about a dozen here that I've never even sent you
02:05 Whiteknight most of them are definitely not worth it
02:05 chromatic Okay.
02:05 Whiteknight I'll post more info tomorrow
02:05 Whiteknight later
02:45 Austin Anyone here have red-light cameras in their town?   http://i.imgur.com/RQcCi.jpg
02:46 plobsing did that actually work/
02:46 plobsing ?
02:47 Austin I don't know. But it has to be worth trying.
02:47 lucian Austin: :))
02:51 Austin You know, I can't remember if there's a whole bunch of stuff I'd rather be doing than slogging through pir trace logs for the expression parser...
02:54 chromatic May I suggest "Anything"?
02:55 dalek parrot: r45091 | plobsing++ | trunk (5 files):
02:55 dalek parrot: don't generate static file platform_interface.h
02:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45091/
02:55 Austin I was just about to conduct that experiment, c.
02:56 Austin I was going to try standing in front of the kitchen counter, hitting my willy with a ball peen hammer to see if it was more fun...
02:56 Austin But I can't, because if I do I'll lose my place...
02:58 plobsing chromatic: what's the verdict on shallow clone? Can I do it now? Do I have to deprecate? Is it a bad idea?
03:07 chromatic +1 to shallow clone
03:07 chromatic let's see what breaks
03:07 chromatic ... in a branch
03:07 chromatic And let's see that it makes Rakudo go some 20% faster.
03:11 dalek parrot: r45092 | plobsing++ | branches/shallow_clone:
03:11 dalek parrot: creating branch to try out shallow cloning
03:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45092/
03:12 Austin Well, first you'll have to get rid of all the places where people wrote their own shallow-clone in line, because of the deep semantics...
03:13 plobsing Austin: I don't follow. Does rakudo shallow clone hashes by iterating in Perl 6?
03:14 plobsing that seems like something they'd complain about
03:14 Austin There's at least one place in $_PMC where I've seen that code.
03:15 Austin And who knows what's in pir.
03:15 Austin I'm the guy that opened a deep/shallow cloning ticket, so it's a safe bet there's some nqp code that does it...
03:16 plobsing hmmm... I predict epic fails getting rid of deep clone - default.clone is stupid and evil
03:16 chromatic You'd think that Rakudo would open a lot of tickets in Parrot's Trac, but about half of the complaints I see in the #perl6 logs never end up there for some reason and don't get fixed for some reason.
03:20 Austin I don't object to deep clone - it's a necessary function. But I object to the non-working implementation...
03:23 plobsing oh it works... for some definition of works.
03:34 TimToady joined #parrot
03:44 dalek parrot: r45093 | plobsing++ | branches/shallow_clone/src/pmc/default.pmc:
03:44 dalek parrot: fix default.clone
03:44 dalek parrot: I can't beleive this actually works!
03:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45093/
03:51 chromatic Hm.
03:51 chromatic Probably any PMC that does anything interesting for clone() does it manually.
03:54 janus joined #parrot
03:59 Austin oh........ kay...
03:59 Austin It's the old "You specified <left> when you should have specified <unary>" problem...
04:01 chromatic But Bullwinkle, that trick never works!
04:02 dalek tracwiki: v3 | Austin_Hastings++ | HLL%20Resources
04:02 dalek tracwiki: http://trac.parrot.org/parrot/wiki/HLL​%20Resources?version=3&amp;action=diff
04:02 Austin Heh. "You keep using that word, 'assoc'. I do not think that word means what you think it means..."
04:03 plobsing hmm... CallContext.clone clones SELF.hash. Technically non-shallow, but I'm going to leave it for now.
04:04 chromatic That one needs to stay deep.
04:04 plobsing yeah, there's some deep magic going on in there that I don't want to mess with.
04:05 plobsing considering it doesn't implement visit, it's not going to mess up any deep clone op I can cook up.
04:11 plobsing what is a Capture PMC?
04:11 purl i heard a Capture PMC was quite useful, similar to a DOM tree
04:11 plobsing ok, so its not magic in any way?
04:14 chromatic It's a Perl 6 thing, part Hash, part Array, but boy are they funny!
04:14 chromatic Needs to be deep too.
04:15 sorear Call signatures and activation records are both CallContext?
04:15 plobsing I removed the deepness on Capture, nothing broke... will test against Rakudo
04:16 chromatic Rakudo and NQP.
04:17 dalek parrot: r45094 | plobsing++ | branches/shallow_clone (2 files):
04:17 dalek parrot: make parrot_hash_clone shallow
04:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45094/
04:17 dalek parrot: r45095 | petdance++ | trunk/src/pmc/parrotinterpreter.pmc:
04:17 dalek parrot: consting
04:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45095/
04:20 plobsing btw, how should I be benchmarking rakudo?
04:21 sorear I'd start with time make spectest
04:21 chromatic I usually use Callgrind on an example like Fibonacci or something OO heavy.
04:22 plobsing sorear: I don't want to spend 2 hours
04:22 sorear if it only takes two hours, you're doing extremely well
04:24 chromatic It should be a lot faster than two hours now.  We had the parallel test run in under ten minutes a while back.
04:25 sorear well it takes 12 hours and 500MiB just to 'make'
04:28 chromatic On what machine?
04:29 plobsing yeah, rakudo is a good way to clear your filesystem cache
04:30 sorear chromatic: one with 384MiB of core; the huge memory use is probably most of the problem
04:32 plobsing nqp-rx passes with shallow capture clone
04:33 dalek parrot: r45096 | petdance++ | trunk/src/pbc_merge.c:
04:33 dalek parrot: consting and localizing
04:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45096/
04:35 chromatic We're working on that; that's definitely a problem.
04:35 sorear oh, they told you?
04:36 chromatic Yeah, that one did come up.
04:36 theory joined #parrot
04:36 chromatic TT #1489
04:38 sorear odd
04:56 plobsing chromatic: it appears rakudo implements its own Capture (src/builtins/Capture.pir)
04:57 kurahaupo joined #parrot
05:00 plobsing does anything else use captures?
05:00 chromatic Not to my knowledge.
05:01 Austin Capture pmc? Isn't that the basis for PGE?
05:03 chromatic I don't know if it uses the PIR version.
05:04 plobsing pge gets a little exercise in parrot's testsuite. if capture is critical to pge, I'm sure any breakage would show up there
05:04 Austin Not the pir, no. The pmc.
05:06 dalek parrot: r45097 | petdance++ | trunk/src/pbc_merge.c:
05:06 dalek parrot: localized vars and consted some locals
05:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45097/
05:07 integral joined #parrot
05:11 sorear so, uh
05:11 sorear I installed Parrot
05:11 sorear then I blew away the build directory
05:11 Austin sorear++
05:11 sorear and now it seems Parrot can't find files that it was expecting to have in the build directory
05:11 chromatic make install or make install-dev?
05:11 sorear specifically
05:11 Austin ?
05:12 sorear cannot find file 'default.pmc' in path '.', '/usr/local/lib/parrot/2.2.​0-devel/tools/build/../..', '/usr/local/lib/parrot/2.2.0-de​vel/tools/build/../../src/pmc', '/usr/local/lib/parrot/2.2.0-deve​l/tools/build/../../src/dynpmc', '/usr/local/src/parrot/2.2.0-devel', '/usr/local/src/parrot/2.2.0-devel/pmc' at /usr/local/lib/parrot/2.2.0-devel/tools​/build/../lib/Parrot/Pmc2c/Pmc2cMain.pm line 244.
05:12 Austin Aren't those the same, now?
05:12 Austin Heh
05:12 plobsing why do we need to keep around the PMC source files?
05:13 Austin Because all pmc's inherit from default.pmc.
05:13 plobsing yeah, but doesn't pmc2c create .dump files to handle that?
05:13 Austin ^^
05:14 sorear plobsing: I don't know, but an attempt to 'make' a dynpmc extension failed with that error.
05:18 parthm joined #parrot
05:22 plobsing Hitting ^C in some Configure.pl steps (eg: auto::warnings) is ignored. Bug or not?
05:24 dalek tracwiki: v1 | Austin_Hastings++ | NQP-rx%20Operator%20Precedence%20Parsing
05:24 dalek tracwiki: http://trac.parrot.org/parrot/wiki​/NQP-rx%20Operator%20Precedence%20​Parsing?version=1&amp;action=diff
05:28 plobsing sorear: try commenting out lib/Parrot/Pmc2c/Dumper.pm:55
05:31 sorear cannot find file 'default.dump' in path '.', '/usr/local/lib/parrot/2.2.​0-devel/tools/build/../..', '/usr/local/lib/parrot/2.2.0-de​vel/tools/build/../../src/pmc', '/usr/local/lib/parrot/2.2.0-deve​l/tools/build/../../src/dynpmc', '/usr/local/src/parrot/2.2.0-devel', '/usr/local/src/parrot/2.2.0-devel/pmc' at /usr/local/lib/parrot/2.2.0-devel/tools​/build/../lib/Parrot/Pmc2c/Pmc2cMain.pm line 244.
05:31 sorear make[1]: *** [p5sv.dump] Error 2
05:31 plobsing that's slightly better
05:32 plobsing at least it's looking for the right file now
05:37 plobsing hmmm....looks to me that both .dump and .pmc files are being installed in $PREFIX/src/2.2.0-devel/pmc
05:39 dalek parrot: r45098 | petdance++ | trunk/src/pbc_merge.c:
05:39 dalek parrot: Removed unused argument from pbc_merge_fixups
05:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45098/
05:41 sorear plobsing: as it happens, my build tree is ... $PREFIX/src/parrot
05:41 sorear plobsing: so I blew away part of the install along with it.
05:41 sorear OOPS!
05:42 plobsing does that mean your issue is fixed?
05:42 sorear no, I still think installing stuff in src/ is generally confusing
05:42 sorear but I at least understand what's going on now
05:42 * sorear mv parrot parrot.build
05:43 plobsing moral of the story: don't build under $PREFIX
05:43 plobsing but there is another point to address - should we really be installing .pmc files?
05:44 davidfetter joined #parrot
05:47 chromatic We should not.
06:13 plobsing I can eliminate the installation of .pmc files, but I think it might break things in a couple places
06:14 chromatic We should find out what.
06:15 plobsing example: we install 84 core .pmc files, but only 15 .dump files. Any dynpmcs that inherit from those 69 pmcs will fail.
06:15 plobsing I'll make a branch
06:18 plobsing btw, I just discovered "perl Configure.pl --prefix --optimize". nifty hack
06:26 chromatic perl Configure.pl --maintainer --optimize --prefix=/home/chromatic/dev/tmp/parrot && perl -pi -e 's/-O2 /-O3 /' Makefile && perl /home/chromatic/bin/rewrite_config_lib
06:27 plobsing wow, that's a mouthful
06:27 plobsing --prefix without an argument defaults to installing into $BUILD_DIR/1/
06:28 dalek parrot: r45099 | plobsing++ | branches/no_pmc_install:
06:28 dalek parrot: creating branch to remove .pmc files from install
06:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45099/
06:28 dalek parrot: r45100 | plobsing++ | branches/no_pmc_install (2 files):
06:28 dalek parrot: eliminate .pmc files from install targets
06:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45100/
06:29 plobsing also, what does /home/chromatic/bin/rewrite_config_lib do?
06:30 dalek tracwiki: v2 | Austin_Hastings++ | NQP-rx%20Operator%20Precedence%20Parsing
06:30 dalek tracwiki: http://trac.parrot.org/parrot/wiki​/NQP-rx%20Operator%20Precedence%20​Parsing?version=2&amp;action=diff
06:30 dalek tracwiki: v3 | Austin_Hastings++ | NQP-rx%20Operator%20Precedence%20Parsing
06:30 dalek tracwiki: http://trac.parrot.org/parrot/wiki​/NQP-rx%20Operator%20Precedence%20​Parsing?version=3&amp;action=diff
06:33 Austin There, I feel much better.
06:38 chromatic plobsing, it adds the SVN revision to config_lib.pasm, because I use git-svn.
06:43 sorear what does --optimize do?
06:43 plobsing optimizes :p
06:44 sorear pity there's no -Oruntime-memory-usage
06:44 plobsing -Osize is probably the closest thing you can do atm
06:44 plobsing but that won't help you much
06:45 sorear I think -Osize is mostly .text
06:45 sorear but AFAIK no gcc optimizations affect runtime memory usage at all
06:45 plobsing what about struct-packing?
06:46 sorear struct packing is fixed by the ABI and cannot be changed by -O options
06:46 sorear only -m options are allowed to break binary compatibility
06:46 sorear and you generally can't use them if you want to link to libc
06:46 sorear Linux uses lots of -m options...
06:47 plobsing -mmmm options. tasty tasty options
06:47 dalek tracwiki: v4 | Austin_Hastings++ | NQP-rx%20Operator%20Precedence%20Parsing
06:47 dalek tracwiki: http://trac.parrot.org/parrot/wiki​/NQP-rx%20Operator%20Precedence%20​Parsing?version=4&amp;action=diff
06:48 sorear -mregparm3 -msse # these really ought to be part of ccall, but ccall has been set in stone for decades :(
06:48 plobsing what does regparm3 do?
06:49 sorear passes the first three arguments in eax, ecx, edx instead of on the stack
06:49 plobsing oh. you poor soul, stuck on x86. we on x64 have that in our ABI.
06:49 sorear yes
06:49 sorear aren't forced compatibility breaks awesome?
06:50 sorear oh, we're changing the word size, all that 30 year old SVID-compatible (yes, the *System V* interface description) code is broken anyway
06:50 sorear let's fix all the warts!
06:50 sorear I look forward to x86 dying
06:51 plobsing as I recall, the ms people even took the opportunity to kill stdcall vs pascall vs fastcall
06:52 sorear \o/
06:52 chromatic I tried regparm3, but it didn't do anything useful performance wise.
06:53 plobsing I imagine accessing the top couple stack elements is pretty damned fast on any recent cpu
06:54 sorear I suspect Linux' use of -mregparm3 has a lot to do with the fact that kernel threads have non-growable 8kb stacks by default
06:54 sorear every wasted word in stack frames counts
06:55 snarkyboojum joined #parrot
06:56 sorear okay, blizkost compiles with pcc_hackathon_6Mar10
06:56 sorear shift_pmc() not implemented in class 'CallContext'
06:56 sorear current instr.: 'main' pc 37 (test.pir:17)
06:56 sorear Segmentation fault (core dumped)
06:57 sorear woah, gdb can handle core dumps where the segfaulted instruction is in a dlopened library?  impressive.  gdb++
06:59 sorear the crashed statement was an attribute accessor... somehow, the object's .data == 0
06:59 sorear no attribute storage at all
07:00 chromatic Probably not a CallContext.
07:04 sorear no, a P5Interpreter
07:11 uniejo joined #parrot
07:11 plobsing any recommendation of an OO-heavy benchmark file for rakudo?
07:12 chromatic Anything from S12
07:17 dalek parrot: r45101 | plobsing++ | branches/shallow_clone/src/pmc/capture.pmc:
07:17 dalek parrot: make Capture.clone shallow.
07:17 dalek parrot: tested against NQP-rx and Rakudo
07:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45101/
07:17 dalek parrot: r45102 | plobsing++ | branches/no_pmc_install/li​b/Parrot/Pmc2c/Dumper.pm:
07:17 dalek parrot: eliminate pmc2c dependancy on default.pmc
07:17 dalek parrot: rakudo builds now
07:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45102/
07:17 sorear plobsing++
07:40 Psyche^ joined #parrot
07:44 bacek joined #parrot
07:45 Psyche^_ joined #parrot
07:47 bacek aloha
08:03 payload joined #parrot
08:05 riffraff joined #parrot
08:09 Austin Hello, bacek
08:09 bacek Hi Austin
08:16 Austin Bacek, http://irclog.perlgeek.de/p​arrot/2010-03-21#i_2133947
08:17 Austin There's some kind of issue with taking continuations and returning values after re-invoking the continuations. Naturally, I thought of you...
08:18 bacek bacek@icering:~/src/parrot$ ./parrot bb.pir
08:18 bacek Blob?
08:18 bacek la
08:18 bacek la
08:18 bacek ny
08:18 bacek ny
08:18 purl blobby blooby blob! or a Binary Large OBject, or a big chunk of data in a database or the bane of DBD::Oracle or a cute little baby or http://en.wikipedia.org/wiki/The_Blob or a way of saying "... and it might be big"
08:18 bacek bos
08:18 bacek bos
08:18 bacek Blob.
08:18 Austin Woot.
08:18 bacek It's on pcc_refactor branch
08:18 Austin WFY
08:19 Austin I'm sure arnsholt will be delighted...
08:19 Austin :)
08:19 Austin bacek++
08:19 bacek Care to create todoed test for it?
08:20 Austin Not even a little bit.
08:20 bacek Sigh...
08:20 Austin Yeah.
08:20 bacek Laziness ftw
08:20 Austin heh.
08:20 Austin Violates my "no pir" rule.
08:25 iblechbot joined #parrot
08:27 fperrad joined #parrot
08:28 Austin msg arnsholt FYI, Bacek has your weird Continuation scenario working in the pcc_refactor branch.
08:28 purl Message for arnsholt stored.
08:28 Austin seen arnsholt?
08:28 purl arnsholt was last seen on #parrot 8 hours, 40 minutes and 37 seconds ago, saying: Could it be that the Continuation resumes from a slightly off position (ref. bug.pir)?
08:29 Austin msg arnsholt ... and he would be delighted if that scenario somehow became a test case
08:29 purl Message for arnsholt stored.
08:33 bacek :)
08:33 Austin Laziness ftw.
08:33 Austin (plus me not really understanding wtf he's doing..)
08:38 bacek seen moritz
08:38 purl moritz was last seen on #parrot 17 hours, 47 minutes and 44 seconds ago, saying: nope :(
08:39 * moritz is online
08:40 Austin Man, if I could do this ... http://failblog.org/2010/03/16/entrance-win/
08:40 bacek Hooray! :)
08:40 nopaste "bacek" at 114.73.162.254 pasted "Rakudo patch for moritz++" (194 lines) at http://nopaste.snit.ch/20030
08:41 bacek moritz, can you try nopasted path on rakudo+pcc_hackatron?
08:41 bacek I have feelings that this weird save/restore stuff isn't needed anymore
08:42 moritz bacek: is that on top of the patch on parrot-dev?
08:42 bacek moritz, nope. Clean one
08:42 bacek But you can just delete few lines on top of old one.
08:43 bacek In perl6.ops
08:43 bacek In bind_signature inside  "if (bind_error == BIND_RESULT_JUNCTION) "
08:43 moritz huh, I get some hunks FAILED
08:43 bacek sigh...
08:44 bacek It's on top of old one?
08:44 moritz no
08:44 moritz I'm on master, commit 265726dfc14e11242f9f7673a61b1d0cccb14df5
08:46 bacek let me update to current master in try
08:48 nopaste "bacek" at 114.73.162.254 pasted "Patch again" (98 lines) at http://nopaste.snit.ch/20031
08:48 bacek moritz, nopasted patch against 265726dfc14e11242f9f7673a61b1d0cccb14df5
08:51 * bacek 's laptop is dying...
08:51 bacek moritz, If I'll disappear try to remove all this save/restore stuff from rakudo. I hope it will help
08:53 moritz will do
08:54 kurahaupo joined #parrot
09:26 moritz purl, msg bacek rakudo now mostly works on the branch, just calling sets ($obj.*method) die with "shift_pmc() not implemented in class 'CallContext'"
09:26 purl Message for bacek stored.
09:28 AndyA joined #parrot
09:28 moritz purl, msg bacek also the memory usage is a bit higher - without the branch it rakudo compilation works with a ulimit of 1G virtual mem, on the branch that's not enough
09:28 purl Message for bacek stored.
09:32 chromatic Funny, because CallContext does implement shift_pmc().
09:34 moritz on the pcc_hackathon_6Mar10 branch?
09:34 moritz I only see unshift_pmc in src/pmc/callcontext.pmmc
09:34 chromatic Oh, I'm not on the branch.  Good point.
09:36 chromatic Called from Pthe 6Opaque PMC?
09:36 chromatic the P6Opaque PMC?
09:37 Mokurai1 joined #parrot
09:38 moritz no idea
09:38 moritz the bactrace says
09:38 moritz current instr.: '!dispatch_.*' pc 529 (src/glue/dispatch.pir:167)
09:38 moritz called from Sub '_block170' pc 1518 (EVAL_1:564)
09:39 chromatic A gdb backtrace would show it.  Set a breakpoint on Parrot_ex_throw_from_c_args.
09:39 snarkyboojum joined #parrot
09:40 moritz my gdb fu is rather weak - how do I do that?
09:40 chromatic gdb ./parrot
09:40 chromatic Actually, no.
09:40 chromatic gdb ./perl6
09:41 chromatic > break Parrot_ex_throw_from_c_arg
09:41 chromatic (y)
09:41 chromatic > r example.p6
09:41 chromatic > bt
09:41 moritz doesn't trigger the breakpoint
09:42 chromatic Should be argS instead of arg
09:44 nopaste "moritz" at 87.159.150.189 pasted "bt for chromatic++" (42 lines) at http://nopaste.snit.ch/20032
09:44 chromatic Hm.  Hit c to continue.
09:45 chromatic There'll probably be a few of those.
09:47 nopaste "moritz" at 87.159.150.189 pasted "the real one..." (33 lines) at http://nopaste.snit.ch/20033
09:48 payload joined #parrot
09:48 chromatic Hm.  That's not where I thought it was.
09:48 chromatic That's from the PIR level, not C.
09:52 chromatic Either way, somehow we lost unshift_pmc in the branch.
09:52 parthm joined #parrot
10:00 JimmyZ joined #parrot
10:01 chromatic Hm, no.  It's there and it's working.
10:01 moritz it's shift_pmc that's missing
10:01 moritz not unshift_pmc
10:01 chromatic ah.
10:01 chromatic Perhaps I should sleep eventually.
10:02 sorear losing shift_pmc also broke blizkost, but I was expecting I just needed to change apis
10:03 chromatic Hm, there's a shift_pmc in there too.
10:04 chromatic vt->shift_pmc = Parrot_CallContext_shift_pmc;
10:05 chromatic Oh, spot the problem.
10:05 chromatic #2  0x00007f38e4c10e4e in Parrot_default_shift_pmc (interp=0x2c5f010, pmc=0x0) at ./src/pmc/default.c:1927
10:06 Austin Psssh. If it was that easy, anybody could do it...
10:07 chromatic Though why anything'd get to default if the PMC really were NULL is a good question.
10:07 Austin Null attribute?
10:08 chromatic NULL->vtable should go boom.
10:08 chromatic Unless the backtrace demonstrates clever GCC optimizations.
10:09 chromatic I'd have to see the related PIR to know better.
10:10 riffraff joined #parrot
10:12 * arnsholt backlogs
10:13 moritz it's all in public repos :-)
10:15 moritz chromatic: http://github.com/rakudo/rakudo/blo​b/master/src/glue/dispatch.pir#L167
10:17 chromatic Thanks.
10:19 chromatic Which test file did you run?
10:19 moritz t/spec/S12-methods/calling_sets.t
10:20 moritz simpler:
10:20 moritz ./perl6 -e '2.*ACCEPTS(2)'
10:21 chromatic works for me
10:21 moritz on the branch?
10:22 chromatic yes.
10:22 moritz wow
10:22 moritz how did you compile rakudo? did you use the patch from parrot-dev?
10:23 chromatic Let me check something though, now i have a strange question about how I made my git branch.
10:23 parthm left #parrot
10:25 moritz if rakudo builds on your pcc_hackathon_6Mar10 branch without a patch, you're doing something wrong
10:25 chromatic Yeah, I wasn't tracking the right remote ref.
10:25 nopaste "moritz" at 87.159.150.189 pasted "build rakudo on parrot branch" (138 lines) at http://nopaste.snit.ch/20034
10:39 chromatic Confirmed, moritz.
10:43 payload joined #parrot
10:50 dalek rakudo: 041ad2a | (Solomon Foster)++ | src/Perl6/Grammar.pm:
10:50 dalek rakudo: Tweak the grammar for unicode hyperops.  Still getting strange issues with this, but hyper.t definitely works better with this change than without it.
10:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​41ad2a64b102f9f60797d3b6cad5bdb76a48a85
10:50 dalek rakudo: 35f3373 | (Solomon Foster)++ | t/spectest.data:
10:50 dalek rakudo: Turn on hyper.t.
10:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​5f3373d2b8fd5886368a90c988f3339c1026d5c
11:04 chromatic moritz, I've just committed a patch which appears to DTRT.
11:06 chromatic Parrot r45103.
11:06 chromatic msg bacek r45103 is a quick and dirty attempt to get Rakudo working again; it's worth review.
11:06 purl Message for bacek stored.
11:08 clinton joined #parrot
11:08 dalek parrot: r45103 | chromatic++ | branches/pcc_hackathon_6Mar​10/src/pmc/callcontext.pmc:
11:08 dalek parrot: [PMC] Added preliminary shift_pmc and shift_string VTABLE entries to
11:08 dalek parrot: CallContext for Rakudo (and because they went missing somehow).
11:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45103/
11:16 arnsholt Hmm. Writing a test case for this continuation stuff is hard
11:17 payload joined #parrot
11:21 Austin Arnsholt: I thought what you had was a pretty good start.
11:21 arnsholt Austin: Yeah, it is
11:21 Austin Except maybe append to a string instead of printing..
11:21 arnsholt I just need to figure out how to get the calling code know what value to expect
11:22 Austin ?
11:22 arnsholt But I think I've got it
11:22 Austin Tell it.
11:22 Austin "This should emit 'la, la, ny, ny, bos, bos'"
11:22 arnsholt Oh, right. There's that option of writing tests
11:23 * arnsholt digs for an example to copy
11:31 arnsholt There
11:31 arnsholt How should I submit the patch?
11:32 Austin nopaste and send a msg to bacek
11:33 arnsholt Cool
11:37 nopaste "arnsholt" at 193.157.196.115 pasted "Test for continuation issue" (92 lines) at http://nopaste.snit.ch/20035
11:38 arnsholt msg bacek I wrote a test for my continuation issue, see http://nopaste.snit.ch/20035
11:38 purl Message for bacek stored.
11:42 Coke msg plobsing - I'm looking at "no_pmc_install" - is this going to negatively impact HLLs abilities to build dynamic pmcs?
11:42 purl Message for plobsing stored.
11:50 Coke msg plobsing - (I see the discussion about .dump vs .pmc) - let me know when it's safe to try an HLL against trunk with those changes.
11:50 purl Message for plobsing stored.
11:59 whiteknight joined #parrot
12:00 Austin Guten morgen, Whiteknight.
12:00 whiteknight Hello Austin. How are you today?
12:01 Austin Coughing and dizzy, sadly.
12:01 Austin I think the cleaning fumes from yesterday are lingering...
12:01 whiteknight ...<insert joke about atmosphere of New Jersey here>...
12:02 Austin I was going to make it about close, but your way is good, too.
12:07 Austin So today I'm trying to figure out how postcircumfix works in the nqp optable parser.
12:08 whiteknight like the actual parsing mechanics?
12:08 Austin Yeah.
12:08 Austin I need to know how the a and the [i] get hooked together in a[i]
12:09 whiteknight oh, to test your PCT matcher thingy?
12:09 Austin Bah, not even.
12:09 Austin I'm trying to get some code to work.
12:09 Austin Well, to generate some kind of tree.
12:09 Austin Then I can write a test for it.
12:09 Austin (Not true, actually. I've got some tests written, but they don't pass.)
12:10 whiteknight oh
12:11 Austin Code tests, not tests of my matcher. The matcher works.
12:16 whiteknight ok
12:16 Austin I think the problem is that [] needs to be marked as an infix/left-associative op, not as a unary op.
12:17 Austin But that doesn't work, either.
12:17 Austin Mother F....r
12:18 Coke $ ./perl6 -e 'Mother F....r'
12:18 Coke Segmentation fault
12:18 purl (Core dumped)
12:18 whiteknight great
12:18 Coke (old rakudo. upping...)
12:19 arnsholt Who wrote purl?
12:20 Coke purl, owner?
12:20 purl i think owner is hachi, see also #purl
12:21 Coke I'm pretty sure purl is an infobot with some custom stuff on top.
12:21 * Coke comes back in 30m when rakudo has finished building.
12:23 Austin Hachi! There's a name I haven't heard in a while...
12:26 Coke HACHI MACHI!
12:26 * Coke misses _the critic_
12:36 tetragon joined #parrot
12:47 Coke wah, current rakudo doesn't segfault on that.
12:59 moritz purl, msg chromatic with your patch, all rakudo tests pass on the pcc_hackathon_6Mar10 (at least all that also pass in master)
12:59 purl Message for chromatic stored.
13:06 janus joined #parrot
13:07 patspam joined #parrot
13:11 PerlJam joined #parrot
13:49 theory joined #parrot
14:10 PacoLinux joined #parrot
14:15 whiteknight moritz: which patch? Is that a patch for Rakudo?
14:16 moritz whiteknight: there's both a patch by chromatic in that branch, and a local rakudo patch for adapation
14:16 whiteknight moritz: can you send me the patch for that branch? I could apply it and prepare the merge
14:17 moritz whiteknight: it is applied already - sorry for the confusion
14:17 whiteknight oh, okay
14:21 whiteknight incoming
14:21 purl duck!
14:23 fperrad joined #parrot
14:24 dalek parrot-linear-algebra: 657f6b7 | Whiteknight++ | setup.pir:
14:24 dalek parrot-linear-algebra: setup.pir has +x
14:24 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/657f6b79a6891fb63df30b0ba91df4c583856277
14:24 dalek parrot-linear-algebra: 06f8acb | Whiteknight++ |  (2 files):
14:24 dalek parrot-linear-algebra: update get_block and set_block on NumMatrix2D to handle more error conditions. Expand several TODO'd tests for both methods. All tests pass on this type now.
14:24 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/06f8acb670ec33d497dda375610d4a248756b6e5
14:24 dalek parrot-linear-algebra: bd53755 | Whiteknight++ |  (2 files):
14:24 dalek parrot-linear-algebra: Add get_block and set_block methods to PMCMatrix2d. After some refactoring of tests, all tests pass.
14:24 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/bd53755b3cbb4c2b6bdcd3da72397621db022e95
14:24 dalek parrot-linear-algebra: 3fc10ea | Whiteknight++ | src/pmc/complexmatrix2d.pmc:
14:24 dalek parrot-linear-algebra: add get_block and set_block methods to complexmatrix2d. All tests pass
14:24 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/3fc10eaa8d659fbcb299c03628713ef634d070ea
14:37 Myhrlin joined #parrot
14:39 Austin Hey, whiteknight.
14:39 purl i guess whiteknight is mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
14:39 whiteknight ?
14:40 Austin While you're hacking, you wouldn't want to make the various keyed access vtables (get/set)_(int/str/pmc/num​)_keyed(_int/str/num/pmc) overridable on Object, would you?
14:40 whiteknight aren't they already?
14:40 Austin Because if there were vtable overrides, you wouldn't have to do {Key.new(0,0)}
14:41 Austin I looked a while ago, when you started migrating to Kakapo, but I didn't see anything that looked like it.
14:42 Austin And, hey, whiteknight++  - you're cranking out the pla tests.
14:42 Coke pla?
14:42 purl pla is really focusing on fast 2D data buffers or Parrot-Linear-Algebra
14:42 Coke ah
14:42 whiteknight Austin: yeah, I think I'm basically done with this sprint now. I'm going to move over to PDS and upgrade the test suite there now
14:43 Austin Sounds cool. repo?
14:43 Austin pds?
14:43 purl pds is Parrot Developer Summit or Parrot-Data-Structures or http://github.com/Whitekni​ght/parrot-data-structures
14:44 Austin We're getting quite the drenching here...
14:44 dalek joined #parrot
14:44 whiteknight this one is going to be a little bit harder since the types don't share common behaviors. The fixed* types don't act much like the resizable* types, and stacks don't act like queues
14:45 whiteknight so I can't inherit many tests
14:45 Austin Right. But the early tests ought to be easy to get going.
14:48 riffraff joined #parrot
14:48 pmichaud joined #parrot
14:49 atrodo joined #parrot
15:02 sri joined #parrot
15:23 Coke pmichaud: hey!
15:24 pmichaud good morning, #parrot
15:25 Austin Hey, pmichaud!
15:25 purl i heard pmichaud was http://www.pmichaud.com/ or "Patrick R. Michaud" <mailto:pmichaud@pobox.com> or in charge of toaster experiments or a friendly guy :)
15:25 whiteknight pmichaud! How are you?
15:25 pmichaud Tired.
15:25 pmichaud we're finally out of the hospital, but not out of the woods.
15:25 Austin :(
15:25 whiteknight out of the hospital is always a good first step
15:26 Austin Any news?
15:26 pmichaud well, Paula's surgery was overall successful, but we've had a fair number of complications
15:26 Austin Yikes.
15:27 Austin I've noticed they never say, "There's a complication. It turns out the hospital needs to get rid of eight million dollars, and we've picked you to receive half of it..."
15:29 whiteknight They also never say "We're not worried at all about a malpractice suit, so we're going to let you go home before you are ready"
15:30 whiteknight In my experience, getting cleared to leave the hospital can be the longest, hardest part of the whole ordeal
15:30 Austin FWIW, Pmichaud, just about every day for the last week I've said, "Man, I wish I could ask pmichaud about this..."
15:31 Austin If you could just plug your brain into a usb port, it would rock...
15:31 Austin whiteknight: :) I spent a few months in hospital because of a half-degree fever.
15:32 whiteknight Austin: We spent almost 24 hours in the hospital when the kid was born. The doctor wouldn't clear him to leave the last day until he produced a wet diaper
15:32 Austin Yeah
15:33 whiteknight my dad spent a whole extra weekend in the hospital once because they couldn't get the right doctor to sign the release
15:33 Austin They do that with anesthesia patients, too.
15:33 Austin Nothing to eat or drink until you pee.
15:35 pmichaud 15:29 <whiteknight> They also never say "We're not worried at all about a malpractice suit, so we're going to let you go home before you are ready"
15:35 pmichaud Actually, they did try to discharge us early.
15:36 pmichaud We had to refuse and call in various patient advocates to prevent it.
15:36 Austin 8-O
15:37 Austin What, did they have a convention booked in for the weekend?
15:37 pmichaud there were some serious miscommunication problems between the nursing staff and the doctors
15:37 Austin Sorry, we need these rooms for the shriners?
15:37 Austin Gack.
15:38 pmichaud as of wednesday afternoon, when they tried to discharge, I couldn't even get Paula out of her hospital bed.  The *staff* couldn't get her out of the hospital bed without first adminstering a fair amount of pain medicine and having two nursing techs to do it.
15:38 dalek tracwiki: v34 | coke++ | BranchDescriptions
15:38 dalek tracwiki: update from script.
15:38 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Branc​hDescriptions?version=34&amp;action=diff
15:38 pmichaud and somehow they expected us to go home, and for me to be able to get her from the van into the house
15:39 pmichaud turns out we were correct to refuse dismissal, by that evening she was completely unable to move her right leg.
15:41 pmichaud one of the doctor's assistants showed up Thursday morning and said "we realize there's some pain, but we think you're ready to discharge".  To which I responded "...but Paula is completely unable to move her right leg."  "Oh.  We weren't aware of that."
15:41 whiteknight pmichaud: Oh, I'm sorry to hear that. My experience in hospitals is (thankfully) limited
15:41 Austin wtf?
15:41 Austin What happened to her leg?
15:42 pmichaud well, at the time nobody knew.  We now suspect it was a pinched nerve blocking the signals to the leg.
15:42 pmichaud (the nerve has since become unpinched, so she has the use of the leg again, but it's extremely weak.)
15:43 Austin And naturally, the doctors didn't get the word from the nursing staff about this?
15:43 pmichaud right, that's why the doctors were a bit surprised (and concerned)
15:43 pmichaud as soon as word actually made it to one of our doctors, things happened quick.
15:44 pmichaud we had several doctors there in rapid succession, various consults, etc.
15:44 Austin Well, that's a plus.
15:45 Austin Tell 'em "Hey, you know that commercial where there's one guy working, and a bunch of monkeys..."
15:45 pmichaud and I suspect the hospital has since reviewed the case somewhat, because they've (unprompted) sent over some home health assistance
15:45 Austin Is that the hospital, or the insurance company?
15:45 pmichaud (came over on Saturday, said that Paula was flagged as a "hot" case)
15:46 Austin Aj
15:46 pmichaud I'm pretty sure it's the hospital in this instance.
15:46 Austin Ah
15:48 dukeleto 'ello
15:48 dukeleto pmichaud: sorry to hear about your hospital misadventure. I hope everyone is happy and healthy soon
15:48 Austin Hey, duke
15:48 pmichaud me too, but we're not there yet. :-)
15:48 dukeleto Austin: top of the week to ya
15:51 pmichaud anyway, now that we're home I'll try to hang out on the channel, but (as has happened three times already since I rejoined the channel) I'll often have to "disappear" suddenly to help Paula with something.
15:52 Austin That's fine. A little bit of Pmichaud is better than "Oh, crap, time to turn on trace(1) again..."
15:58 whiteknight a little bit of Pmichaud on my mind, a little bit of pmichaud he's on line. A little bit of pmichaud is all I see...
15:58 whiteknight git merge master mambo_number_5
16:03 Austin Grrr...
16:03 Austin time for lunch
16:06 whiteknight What's on the menu today? I had chicken salad
16:11 ruoso joined #parrot
16:24 payload joined #parrot
16:27 whiteknight does NQP support multiple inheritance?
16:28 pmichaud I don't think it supports it yet.  We could probably add it w/o too much difficulty.
16:28 whiteknight nah, it's not a big deal.
16:29 whiteknight I'm trying to write up a proper NQP-based test suite for PDS, and I'm being greedy about trying to inherit lots of tests and reduce duplication
16:29 whiteknight but the gains are small
16:39 Andy joined #parrot
16:42 cotto_work o hai
16:42 dukeleto cotto_work: howdy
16:43 whiteknight hello
16:46 szbalint http://qdb.us/302018 # reminded me that chromatic makes parrot vrrrm vrrmm
16:57 darbelo joined #parrot
17:02 whiteknight goddamn cpan
17:04 rt7 joined #parrot
17:11 dalek parrot: r45104 | petdance++ | trunk (3 files):
17:11 dalek parrot: adding more PARROT_* attributes to funcs
17:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45104/
17:13 cotto_w0rk joined #parrot
17:17 cotto_work joined #parrot
17:28 cotto_work If I have some supporting code that's needed for some Parrot core tests written in nqp, what's the best place to put it?
17:29 Coke I would put it right next to the support code neede for parrot tests written in pir.
17:29 Coke also 'core parrot tests written in nqp' is an oxymoron. =-)
17:29 Coke s/core// ?
17:29 cotto_work nqp's included in ext
17:29 Coke that's npq-rx. =-P
17:30 Coke (since we also have compilers/nqp, which is not part of corevm)
17:30 Coke that should be fine, yah.
17:30 cotto_work by
17:30 cotto_work "core" I mean "distributed as part of Parrot"
17:30 cotto_work not corevm
17:31 Coke ok. we might want a better word for 'core' vs. 'corevm' to avoid (my, at least) confusion, but yah, that seems fine, and my answer on where is the same.
17:32 Coke (are these tests to test nqp-rx, or just to use nqp-rx in testing?)
17:32 cotto_work they'll just use nqp-rx.  They're for testing the profiling runcore.
17:33 cotto_work Thanks.
17:34 Coke whee.
17:39 chromatic joined #parrot
17:47 Coke nqp-rx doesn't support "foo if $bar", does it?
17:47 Coke chromatic: morning.
17:47 chromatic morning
17:49 kjeldahl joined #parrot
17:54 moritz Coke: it does - see #perl6
17:54 moritz though if foo is a function, you need to write foo() if bar
17:58 Coke moritz++
18:01 Coke dxpw?
18:05 Psyche^ joined #parrot
18:15 joeri joined #parrot
18:15 payload joined #parrot
18:24 chromatic New mini-bottleneck in PCC: the use of malloc/free for splitting signatures.
18:28 ash_ joined #parrot
18:33 dalek parrot: r45105 | plobsing++ | branches/no_pmc_install/lib/Parrot/Pmc2c (2 files):
18:33 dalek parrot: fix always parse default.pmc bug. partcl now builds
18:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45105/
18:48 hicx174 joined #parrot
18:49 dalek parrot: r45106 | NotFound++ | trunk/src/dynext.c:
18:49 dalek parrot: Fix C++ build
18:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45106/
18:57 dmagnus joined #parrot
18:58 whiteknight my PMC type has "provides stack" in the pmclass declaration, but then it fails tests on "does 'stack'"
18:59 darbelo whiteknight: s/provides/does/ ?
19:00 whiteknight darbelo: my queue type "provides queue", and successfully "does 'queue'"
19:00 whiteknight and all the PLA types do the same for the "matrix" role
19:00 whiteknight so the syntax works
19:01 darbelo Check for typos on that line. pmc2c silently ignores stuff it doesn't understand.
19:02 cotto_work What's the C code look like for provides_str?
19:03 whiteknight no idea.
19:04 cotto_work grep provides_str path/to/your_pmc.c
19:04 cotto_work or ack if you want to be awesome
19:05 whiteknight vt->provides_str = Parrot_str_append(interp, vt->provides_str,
19:05 whiteknight string_make(interp, "stack", 5, "ascii",
19:05 whiteknight PObj_constant_FLAG|PObj_external_FLAG));
19:06 whiteknight so, "stack" is in there
19:12 cotto_work That's odd.  It should generate a space-separated list in a single STRING*.
19:12 plobsing arg. I can't show any significant speed improvement on rakudo using shallow clone. I think rakudo is avoiding using clone to work around the issues deep clone causes.
19:12 whiteknight plobsing: that's probably extremly accurate
19:13 chromatic At least Rakudo can get rid of code.
19:13 plobsing I'm almost 100% sure its happening. A place i noticed deep cloning happening 2 weeks ago no longer does so.
19:14 whiteknight cotto_work: yeah, it does look a little weird. But, it only does one thing
19:14 chromatic Check to see if Sub PMCs get cloned when you clone a NameSpace.
19:14 plobsing chromatic: from parrot or from rakudo?
19:15 chromatic From Rakudo.
19:15 plobsing do I drop down to pir:: to do that?
19:16 chromatic I'd annotate NameSpace clone or use gdb.
19:20 cotto_work whiteknight, that's an odd problem.  If you want I can dig into it tonight.
19:20 whiteknight cotto_work: yeah, that would be nice if you have time and motivation for it
19:20 whiteknight I'll set you up with a commit bit to PDS
19:21 whiteknight Done.
19:21 cotto_work ok.  If it bugs you, that's motivation.
19:21 whiteknight cotto++
19:21 cotto_work also, it'll give me an excuse to say pmc2c-- a few more times
19:22 plobsing chromatic: I'm fine figuring out what NameSpace.clone, it's getting rakudo to invoke NameSpace.clone that I'm not to sure about
19:22 plobsing module ASDF { sub Hi { ... } } my $x = ASDF.clone() # doesn't work
19:26 payload joined #parrot
19:28 plobsing msg Coke I have the major HLLs (except cardinal, which doesn't use installed parrot) working against the no_pmc_install branch. Feel free to test.
19:28 purl Message for coke stored.
19:29 chromatic I should be able to merge pcc_hackathon to trunk in a bit.
19:30 Tene does performance vary between trunk and branch?
19:31 chromatic The branch is a bit faster.
19:31 Tene Better than the "much slower" from the last pcc branch, iirc.
19:32 chromatic I have a couple of other ideas to try too.
19:32 chromatic post-merge anyhow
19:36 cotto_work Which HLLs work with the branch?
19:39 chromatic We tested Rakudo.
19:42 dukeleto chromatic++ # pcc_hackathon merge
19:44 cotto_work any of the smaller ones?
19:44 allison joined #parrot
19:44 cotto_work hi allison
19:47 eiro joined #parrot
19:48 whiteknight incoming
19:48 purl duck!
19:48 cotto_work quack
19:49 dalek parrot-data-structures: c4f7d37 | Whiteknight++ | setup.pir:
19:49 dalek parrot-data-structures: +x to setup.pir
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/c4f7d37d4e3ff722ce5b338118afebdb37568ee1
19:49 dalek parrot-data-structures: a8634e1 | Whiteknight++ | t/ (5 files):
19:49 dalek parrot-data-structures: start reworking the test suite to use Kakapo.
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/a8634e12a3a3e6e85ef39a2962aa0d3e2c2780bd
19:49 dalek parrot-data-structures: d47a392 | Whiteknight++ | t/pmc/ (5 files):
19:49 dalek parrot-data-structures: major overhaul of the existing tests. Since we have many similar types (stcks, queues) we can inherit most of the tests from a hierarchy of parent test classes. Almost all tests now are in common.nqp and inherited by the individual files.
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/d47a392c89aaf143f3d9e5d84f5c10ba969e9aae
19:49 dalek parrot-data-structures: 194afc2 | Whiteknight++ | t/testlib/common.nqp:
19:49 dalek parrot-data-structures: add that file, finally
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/194afc20ed7b2d96dec4a6ae4335337ee11b2760
19:49 dalek parrot-data-structures: 878a834 | Whiteknight++ | t/harness:
19:49 dalek parrot-data-structures: small fix to the harness
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/878a8342516d8f3be880bbbbcc8bbd8096744084
19:49 dalek parrot-data-structures: b697c2c | Whiteknight++ | t/ (8 files):
19:49 dalek parrot-data-structures: add a run_test utility to run an individual test. Fix all tests so that the test suite actually runs (but several tests fail)
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/b697c2ce1f867035ee6fe187af3a1e9ad964ac0c
19:49 dalek parrot-data-structures: 1c20dc0 | Whiteknight++ |  (7 files):
19:49 dalek parrot-data-structures: add get_bool to most types. Fix several test failures. most types are failing one test each now
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/1c20dc0f2b90814c982dacb8572044b358af2198
19:49 dalek parrot-data-structures: 1f3d846 | Whiteknight++ |  (10 files):
19:49 dalek parrot-data-structures: merge the test_cleanup branch
19:49 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/1f3d846cf7bed00ccc24ffced7310ce3ea14df5d
19:52 chromatic cotto_work, I don't know that anyone has tested the others.
19:52 iblechbot joined #parrot
19:53 whiteknight matrixy is fallow for now, so I'm not going to test it
19:54 cotto_work chromatic, a wiki page on how to fix an HLL might help.
19:54 cotto_work (post-pcc merge)
19:55 chromatic Sounds good.
19:55 purl Sounds good. is there a good way for me to find out when branches are merged, other than read every svn commit?
19:57 plobsing purl, forget sounds good
19:57 purl plobsing, I didn't have anything matching sounds good
19:57 plobsing purl, forget sounds good.
19:57 purl plobsing, I didn't have anything matching sounds good
19:57 plobsing purl, forget "Sounds good."
19:57 purl plobsing, I didn't have anything matching "sounds good."
19:58 chromatic purl, forget Sounds good.
19:58 purl chromatic, I didn't have anything matching sounds good
19:58 chromatic Wow.
19:58 cotto_work sounds good.
19:58 purl sounds good. is, like, ""
19:58 cotto_work sounds good.
19:58 purl sounds good. is ""
19:58 cotto_work sounds good.
19:58 purl sounds good. is ""
19:58 darbelo no, Sounds good. is <reply>
19:58 purl okay, darbelo.
19:59 bacek_mobile joined #parrot
20:00 bacek_mobile o hai
20:01 cotto_work hi bacek_mobile.  Are you on your new development machine? ;)
20:01 Austin whiteknight: Kakapo does multiple inheritance.
20:01 Austin (Naturally)
20:01 bacek_mobile cotto, almost. at least it has linux inside
20:01 bacek_mobile :)
20:03 bacek_mobile Running irc on mobile phone is... like FUTURE! :)
20:03 whiteknight Austin: nice
20:04 bacek_mobile seen chromatic
20:04 purl chromatic was last seen on #parrot 5 minutes and 55 seconds ago, saying: Wow.
20:04 chromatic pong
20:05 bacek_mobile chromatic, i missed shift-foo in CallContext during switching to array from list...
20:05 bacek_mobile Myv fault
20:05 chromatic Not a problem, I'm adding back now with tests.
20:05 bacek_mobile ok
20:06 Austin Whiteknight: but we probably want roles.
20:06 bacek_mobile Are you going to merge it?
20:06 Austin Actually, "ro^les" with that cool hat thingy.
20:06 Austin We'll need to use the "do^es" keyword for that...
20:08 chromatic Yes, I am.
20:08 cotto_work r�les?
20:09 bacek_mobile chromatic, good.
20:09 Austin asdas
20:09 Austin Bah
20:09 whiteknight Austin: I've gotten all those issues sorted out with simple inheritance
20:09 dalek parrot-data-structures: c9207e7 | Whiteknight++ |  (3 files):
20:09 dalek parrot-data-structures: updates to README
20:09 dalek parrot-data-structures: review: http://github.com/Whiteknight/parrot-data-structur​es/commit/c9207e71a2dbd13ac5e2668fceed4b5866cd1ee7
20:10 Austin Bummer :(
20:10 Austin I was kind of looking forrward to it..
20:11 whiteknight Austin: Maybe we can add them in next
20:11 Austin yeah..
20:11 whiteknight Take a look at the tests in PDS and see if you can find a better way to write it all than I have
20:11 Austin But my never-to-be-sufficiently-accursed grammar is giving me problems now...
20:11 Austin so a distraction would be welcome.
20:11 Austin Counterproductive, but welcome.
20:13 theory joined #parrot
20:14 Coke Austin: if you want a distraction, you can try to wire up partcl-nqp with kakapo!
20:14 Austin Heh.
20:14 Austin Too easy.
20:14 purl too easy is codeword for "restrict coral's creativity, it's hurting me"
20:15 Coke but think of all the code you could rip out!
20:15 Austin Mmmm
20:15 Austin There is that.
20:15 Austin I need a list of all the "global" symbols that the expression parser uses
20:18 Austin Well, that was easy.
20:19 Austin :)
20:20 frodwith joined #parrot
20:28 dalek parrot: r45107 | chromatic++ | branches/pcc_hackathon_6Mar10/t/pmc/callcontext.t:
20:28 dalek parrot: [t] Added tests for CallContext's unshift_pmc VTABLE.
20:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45107/
20:53 chromatic Incoming.
20:53 purl duck!
20:53 cotto_work incoming duck?
20:53 chromatic Incomng merge.
21:01 allison joined #parrot
21:02 dalek parrot: r45108 | chromatic++ | trunk (35 files):
21:02 dalek parrot: Merged pcc_hackathon_6Mar10 into trunk.  Because this changed op numbering, you
21:02 dalek parrot: likely need to make realclean.
21:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45108/
21:09 Austin Coke: ping
21:10 nopaste "Austin" at 68.39.12.202 pasted "(for coke) Error message output when trying to use mscgen plugin in trac" (10 lines) at http://nopaste.snit.ch/20040
21:11 WorkCoke :?
21:11 purl it has been said that : is the path separator
21:11 WorkCoke Austin: do you have a page that causes that error for me to look at?
21:11 Austin I was trying to play around with the mscgen plugin, but it appears to be improperly configured or not working.
21:12 Austin http://trac.parrot.org/parrot/wiki/TreeUnit
21:12 Austin The mscgen code is copied from the example on the plugin website.
21:13 WorkCoke I noticed that. =-)
21:13 Austin Gotta start somewhere...
21:14 WorkCoke austin?
21:14 purl austin is nice. or a city in Texas. or Mr. Hastings, if you're nasty.
21:14 WorkCoke austin_hastings?
21:14 purl austin_hastings is asking for method.
21:14 WorkCoke facepalm.
21:14 purl Oh geez, not this shit again.
21:14 Austin purl++
21:15 WorkCoke Austin: cc'd you on the ticket.
21:15 Austin okay
21:15 Austin Thanks.
21:16 Austin Do we need that page to stay as-is?
21:17 WorkCoke Austin: if you need to change it, just move the test to a separate page and reply to the ticket.
21:17 WorkCoke (i mean, the mscgen bit.)
21:18 Austin Sure
21:26 davidfetter joined #parrot
21:27 dalek tracwiki: v3 | Austin_Hastings++ | TreeUnit
21:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/​TreeUnit?version=3&amp;action=diff
21:27 dalek tracwiki: v4 | Austin_Hastings++ | HLL%20Resources
21:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/HLL​%20Resources?version=4&amp;action=diff
21:28 WorkCoke 'make codetest' fails after mergeback. only interesting bit is the pod failure in ext/, which actually looks like it's finding a bug in the file (2 cuts in a row.)
21:28 WorkCoke (also, branch still exists)
21:28 allison joined #parrot
21:29 dalek rakudo: db0f857 | moritz++ | t/spectest.data:
21:29 dalek rakudo: run more teest files
21:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​b0f857086f48cf29023d8b4317b4c8ff9263bf6
21:35 chromatic Merging the test file was awkward.
21:35 dalek rakudo: 5886ef7 | moritz++ |  (4 files):
21:35 dalek rakudo: enable build on parrot after pcc_hackathon_6Mar10 merge
21:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​886ef7991d29bb9d4bee2d321261a00f9a70ea3
21:35 chromatic Feel free to remove the branch, any karma hounds.
21:43 joeri joined #parrot
21:43 joeri left #parrot
21:44 dalek tracwiki: v1 | Austin_Hastings++ | NQP-rx%20Tricks
21:44 dalek tracwiki: http://trac.parrot.org/parrot/wiki/NQP​-rx%20Tricks?version=1&amp;action=diff
21:44 bacek_mobile joined #parrot
21:45 bacek_mobile chromatic++
21:45 bacek_mobile chromatic, care to hack IMCC little bit?
21:46 chromatic I might have some time tonight.  What do you have in mind?
21:46 NotFound I'm having problems with the oplib.pmc
21:47 bacek_mobile we can create CallContext in compile time for set-args/set-results
21:47 bacek_mobile and just fill it in runtime
21:47 NotFound With parrot r45108, pirado segfaults.
21:48 chromatic How does that work with re-entrant calls, bacek_mobile?
21:48 bacek_mobile hmm
21:49 bacek_mobile it will not...
21:49 bacek_mobile sigh... it was bad idea...
21:52 chromatic Not until we break out Context again....
21:53 cotto_work ooc, is there a planned pcc refactor that will give up significant speed improvements?
21:53 NotFound Singletons are marked?
21:54 darbelo They should be.
21:55 WorkCoke http://dokuwiki.osuosl.org/pub​lic/ganeti_migration_schedule - parrot.org's vm is getting migrated on 3/31; supposed to be a 5-10m outage.
21:55 NotFound Adding Parrot_pmc_gc_register(INTERP, OPLIB_OPCODE_CACHE); it doesn't segfault, so looks like isn't marked.
21:56 darbelo Then anything you hang off a singleton can be prematurely collected...
21:56 chromatic cotto_work, making CallSigs compile-time constants should do that.
21:57 NotFound darbelo: the singleton isn't the problem, but its collectable attributes.
21:58 dalek rakudo: eae8b29 | moritz++ | t/spectest.data:
21:58 dalek rakudo: we pass some basic protoregex tests
21:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​ae8b29a1ea339b4cf466ea6f85f503773a0ac5d
21:58 darbelo NotFound: That's the "anything you hang off" I was referring to.
21:59 NotFound darbelo: ups, didn't read that line
21:59 darbelo The singleton is basically immortal as it's allocated from the constant pool. But it's ATTRs are fair game for collection.
22:00 darbelo Unless we declare that all singletons must have singleton/constant ATTRs.
22:00 darbelo The "don't do that" method ;)
22:01 NotFound If I add an instance of OpLib in the main sub, it doesn't segfault. So yes, looks like the problem is that the singleton isn't marked when there is no live variable pointing to it.
22:02 chromatic Marking it isn't going to work.
22:02 chromatic The next GC run it's already marked, so it doesn't get marked again and doesn't get its mark called again, so any non-constants it contains won't get marked and may get collected.
22:04 NotFound Registering the ATTR in the init function works, but I don't think is a desirable solution.
22:06 darbelo How about a separate singleton pool?
22:06 NotFound How about killing singletons? ;)
22:07 darbelo I've suggested that in the past too.
22:07 davidfetter mmm...singletonz :d
22:08 dalek parrot: r45109 | darbelo++ | branches/pcc_hackathon_6Mar10:
22:08 dalek parrot: Branch has already been merged into trunk and is no longer needed at HEAD.
22:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45109/
22:09 cotto_work darbelo, I remember you had some fun with those during the last gsoc.
22:11 darbelo Yep, and singleton dynpmcs can still segfault parrot today.
22:12 darbelo Or maybe not... I haven't retested after bacek's last round of gc work.
22:12 chromatic It's probably still a problem
22:12 dalek TT #1522 created by allison++: sweep-free gc
22:12 dalek TT #1522: http://trac.parrot.org/parrot/ticket/1522
22:13 darbelo If I'm remembering it correctly, the only solution there was to move singletons out fo the constant pool.
22:14 darbelo Or over-complicating the interpreted destruction logic, of course.
22:15 cotto_work ordered destruction?
22:15 darbelo Yep.
22:15 cotto_work I thought that was something we eventually wanted.
22:15 cotto_work (as are ponies)
22:16 riffraff joined #parrot
22:16 NotFound Oh, wait.... OpLib isn't a singleton!
22:17 NotFound Even worse, is my fault X-)
22:17 cotto_work but that means you can fix it
22:18 NotFound Not sure... let's see.
22:26 darbelo Looking at PDD 28, it sounds like NFG would add some sanity to our strings.
22:28 chromatic A lot.
22:29 dalek TT #1523 created by allison++: subroutine leave semantics/exit handlers
22:29 dalek TT #1523: http://trac.parrot.org/parrot/ticket/1523
22:29 dalek TT #1524 created by allison++: [RFC] model and implementation of lvalue semantics
22:29 dalek TT #1524: http://trac.parrot.org/parrot/ticket/1524
22:29 dalek TT #1525 created by allison++: improved NCI/FFI
22:29 dalek TT #1525: http://trac.parrot.org/parrot/ticket/1525
22:30 NotFound Looks like I was completely wrong, the singleton is marked.
22:31 chromatic It still can't point to non-constant PObjs.
22:35 NotFound I'm not sure about what is happening, but making OpLib a singleton pirado doesn't segfault.
22:39 mikehh joined #parrot
22:40 dalek parrot: r45110 | mikehh++ | trunk/src/pmc/callcontext.pmc:
22:40 dalek parrot: fix codetest failure - unwrapped macro argument
22:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45110/
22:45 kid51 joined #parrot
22:47 Whiteknight joined #parrot
22:55 Whiteknight pmichaud++ (NQP efficiency "interview" on the wiki)
22:56 dalek parrot: r45111 | mikehh++ | trunk/src/runcore/trace.c:
22:57 dalek parrot: fix codetest failure - line length
22:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45111/
22:57 dalek parrot: r45112 | mikehh++ | trunk/src/call/args.c:
22:57 dalek parrot: fix codetest failure - trailing whitespace
22:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45112/
22:57 dalek parrot: r45113 | NotFound++ | trunk/src/pmc/oplib.pmc:
22:57 dalek parrot: make OpLib a singleton again
22:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45113/
22:57 cotto_work Whiteknight, ?
22:57 purl Whiteknight, is there a way to know which one, or is it a try and see thing?
22:57 cotto_work forget Whiteknight,
22:57 purl cotto_work: I forgot whiteknight,
22:58 Whiteknight http://trac.parrot.org/parrot/wiki​/WhyDoesNQPGenerateInefficientCode
22:59 cotto_work I felt kinda like one of the kids on Mr. Wizard.
23:00 Whiteknight it was a great interview
23:00 Whiteknight I think pmichaud's estimate of a 4% performance improvement is a tad conservative
23:00 chromatic Probably.
23:01 Whiteknight for some operations I think we could be closer to 20% just by avoiding so much find_lex/store_lex nonsense
23:02 Whiteknight is that PCC branch merged in yet?
23:02 cotto_work it'd be instructive to profile some nqp-rx-generated pir before and after a manual conversion to remove the unnecessary find_lex/store_lex ops
23:03 cotto_work Whiteknight, yes
23:03 cotto_work chromatic++ merged it a few hours ago
23:04 Whiteknight nice. chromatic++
23:05 chromatic Now we can fix constant STRING storage in the next week.
23:05 Whiteknight nice
23:06 darbelo There's still the 'Rakudo gobs all my memory' thing to solve before the release.
23:06 Whiteknight ah yes. I have to look into that patch again
23:08 chromatic The real problem there is that compact_pool never expects the pool size to shrink.
23:11 dalek parrot-linear-algebra: fb8df75 | Whiteknight++ | ports/plumage/parrot-linear-algebra.json:
23:11 dalek parrot-linear-algebra: add json metadata information for plumage
23:11 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/fb8df7514463b39b5e4eceb53b43ddcb200e5b04
23:12 Whiteknight I think we may be getting ready to cut a PLA release
23:13 Whiteknight and if I can finally get the function call semantics correct, I can cut one for Matrixy too
23:13 dalek parrot: r45114 | mikehh++ | trunk/ext/Parrot-Embed/t/interp.t:
23:13 dalek parrot: fix codetest failure - perlcritic - extra =cut removed
23:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45114/
23:14 darbelo Whiteknight: Oh, matrixy survived the pcc branch?
23:14 chromatic Break compact_pool into several smaller functions and it's easier to manage.  That's probably step one.
23:14 mikehh getting post-config test failure - t/steps/gen/platform-01.t - Failed test:  5 - I am fairly sure this is due to context.h being moved
23:16 mikehh but I am not sure how to fix it - it is not obvious from looking at the test source
23:20 plobsing mikehh: "Located required platform interface header" failure looks like my fault. attempting to fix.
23:21 plobsing and by fix, I mean remove, because the tested functionality no longer exists
23:23 mikehh plobsing: yes - we need to examine the pre/post-config tests - the functionality the tests were checking for has changed quite a bit recently
23:25 plobsing I suppose I could test that it no longer exists....
23:25 darbelo plobsing: In case we accidentally re add the file?
23:27 darbelo If the feature's gone, let the test go as well.
23:28 plobsing darbelo: no, to anoy the person that re-adds the file on purpose
23:30 dalek parrot: r45115 | plobsing++ | trunk/t/steps/gen/platform-01.t:
23:30 dalek parrot: fix config test forgotten when eliminating generation of platform_interface.h
23:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45115/
23:31 plobsing hmmm... testr t/op/exceptions_23.pbc has been running for 3.5 minutes
23:31 plobsing infinite loop?
23:31 purl see infinite regress
23:32 Tene infinite regress?
23:32 purl see infinite loop
23:33 plobsing did anyone run fulltest on the pcc branch before it landed?
23:34 chromatic I didn't run it on all cores, no.
23:35 tetragon joined #parrot
23:42 mikehh unfortunately pressure of $work has prevented me from being involved in parrot for the last week - just getting started again now
23:46 dalek parrot: r45116 | plobsing++ | branches/tt1015:
23:46 dalek parrot: branch takes wrong approach
23:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45116/
23:46 dalek parrot: r45117 | petdance++ | trunk (3 files):
23:46 dalek parrot: adding headerizer protectors
23:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45117/
23:53 nopaste "plobsing" at 67.55.2.108 pasted "infinite loop when compiled to pbc post-pcc merge" (18 lines) at http://nopaste.snit.ch/20042
23:53 plobsing fulltest++
23:56 chromatic Ugh, tailcall.  bacek_mobile?
23:57 bacek_at_work chromatic, not mobile. at_work apparently
23:57 patspam1 joined #parrot

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

Parrot | source cross referenced