Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-27

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 mikehh partcl r639 builds on parrot r40820 - make test - Most tests file with no subtests run or segmentation fault - Files=74, Tests=95
00:10 mikehh cardinal builkds on p[arrot 40820 - make test fails after running a few tests - get_pmc_keyed() not implemented in class 'String - rake aborted
00:11 mikehh darbelo: I will try that patch later - need some sleep - bbl
00:16 bacek_at_work darbelo: (nopasted patch) just cast it explicitly. Something like "PARROT_DECNUMCONTEXT(SELF)->ctx->round = (rounding)rnd"
00:17 patspam joined #parrot
00:38 dalek decnum-dynpmcs: r176 | darbelo++ | trunk/src/pmc/decintcontext.pmc:
00:38 dalek decnum-dynpmcs: Undo r175, it broke DecIntContext for some reason.
00:38 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=176
00:39 darbelo mikehh: no need to patch, just svn up ro r176
00:40 darbelo msg mikehh no need to patch, just svn up to r176
00:40 purl Message for mikehh stored.
00:43 darbelo msg Well, r177 actually.
00:43 purl Sorry, I've never seen well, before.
00:43 dalek decnum-dynpmcs: r177 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
00:43 dalek decnum-dynpmcs: Add explicit casts to a few lines. This should help the c++ build.
00:43 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=177
00:43 darbelo msg mikehh Well, r177 actually.
00:43 purl Message for mikehh stored.
01:05 jrtayloriv What is the proper way to go about converting a test to use test_more.pir when the tests just check to make sure a certain point in the code is reached, for instance in this test -- http://pastebin.com/d7aaff738 -- in the sub 'init', where it is just checking that "init" gets printed, should I just replace the print statement with an ok(1==1, 'entered init()') ?
01:05 cotto ok(1, "...") is fine for that purpose
01:13 darbelo also, jrtayloriv check out nopaste, it automatically puts likns your pastes to this channel (if you tell it to).
01:14 darbelo nopaste.snit.ch is the cannonical url
01:14 jrtayloriv darbelo, thanks -- will do
01:14 darbelo or you can ask purl:
01:14 darbelo nopaste?
01:14 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
01:14 TonyC put the channel name on the end of the url and it selects that channel by default
01:15 TonyC so http://nopaste.snit.ch/parrot (not in the factoid, or you'd get all the random pastes in here)
01:16 cotto anyone on windows care to try a patch?
01:18 darbelo Failed 17/17 test programs. 0/14629 subtests failed.
01:18 darbelo I just love order of destruction bugs.
01:18 jonathan cotto: I need to sleep now, I'm afraid.
01:19 jonathan cotto: But I may have time tomorrow.
01:19 cotto I'll bug you if nobody else volunteers.
01:20 darbelo I've been meaning to set up a windows environment to see how badly decnum-dynpmcs fails there.
01:20 TonyC the certicate is received as part of the https handshake, but it doesn't look like LWP exposes it
01:20 darbelo I'll let you know if I get one going.
01:20 TonyC wrong channel
01:34 nopaste "jrtayloriv" at 67.246.145.82 pasted "yet another question about converting tests :)" (59 lines) at http://nopaste.snit.ch/17697
01:37 bacek_at_work jrtayloriv: yes. This is correct.
01:37 jrtayloriv thanks
01:41 darbelo Hmm. Smolder is reporting my failures as passes.
01:42 darbelo Is tehere a particular way/place to repport that?
01:43 cotto particle, can you test a patch against pluggable_runcores on windows?
01:55 treed Coke: Planet Parrot doesn't seem to have picked up the update yet.
01:59 dalek TT #953 created by darbelo++: [gc] t/op/copy.t failure in OpenBSD amd64
01:59 darbelo left #parrot
02:00 cotto Coke, are you on windows?
02:12 theory joined #parrot
02:12 bacek_at_work Yay! t/op/copy.t failure! I spent 4 hours yesterday thinking it was my fault in context_pmc3 branch...
02:13 bacek_at_work with exactly same backtrace... Sigh.
02:14 dalek parrot: r40821 | cotto++ | branches/pluggable_runcore (8 files):
02:14 dalek parrot: [profiling] first attempt at an abstraction layer for high-resolution timing, including an untested win32 implementation
02:14 dalek parrot: also, add context and sub addresses to output, clean up runcore code
02:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40821/
02:20 cotto anyone on win32, please check out pluggable_runcore, lmk if it builds and see if parrot.pprof is generated when you pass parrot -Rprofiling .
02:21 cotto Happily there's about 4 lines of windows-specific code, so it should be pretty easy to fix if I messed it up.
02:21 dalek parrot: r40822 | cotto++ | branches/pluggable_runcore/config (7 files):
02:21 dalek parrot: [config] use hints instead of #defines to try to figure out the best available timing method
02:21 dalek parrot: A configure step that probes different values until one works would be ideal, but this is much easier.
02:21 dalek parrot: darbelo++ for putting together most of the patch
02:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40822/
02:24 mokurai joined #parrot
02:28 TiMBuS joined #parrot
02:30 cotto Now the only excuse I have for not merging is that my code is crappy and doesn't work, rather than being crappy, not working and not being cross-platform.
02:36 janus joined #parrot
02:37 skv_ joined #parrot
03:00 dukeleto cotto: that is a start
03:02 dukeleto msg darbelo i helped fix a bug in smolder a while ago that didn't correctly see that some tests coredump. you may have found another bug. mpeters is the person to talk to, but I know where in the code to look, can you show me a nopaste of the error that is not caught correctly?
03:02 purl Message for darbelo stored.
03:04 dukeleto how do I tell purl to delete messages once I have seen them?
03:05 cotto messages erase
03:05 cotto you don't even have to read them first ;)
03:07 dukeleto cotto++
03:08 nopaste "jrtayloriv" at 67.246.145.82 pasted "Why are the regsave_marked() tests being ignored?" (130 lines) at http://nopaste.snit.ch/17698
03:11 dukeleto jrtayloriv: can i see the output you get from "prove -v t/op/gc.t" and the entire file as well?
03:12 jrtayloriv dukeleto, yes -- one moment
03:14 * treed has successfully managed to get rake test:all to keep running other tests when something bails out.
03:15 nopaste "jrtayloriv" at 67.246.145.82 pasted "There are actually 117 tests." (270 lines) at http://nopaste.snit.ch/17699
03:16 jrtayloriv And, for instance, if you add an ok(1) as the first instruction in regsave_marked() it doesn't see the new test.
03:16 jrtayloriv It still only sees 115 tests.
03:17 jrtayloriv And it properly counted everything before regsave_marked, so I think it has something to do with my use of .namespace in vanishing_ret_continuation()
03:18 dukeleto jrtayloriv: the -v on prove is somewhat important :)
03:19 jrtayloriv dukeleto, oops -- didn't see that, sorry -- I'll post it up again.
03:19 dukeleto jrtayloriv: is it possible to put all of your tests before the namespaces that you declare?
03:20 dukeleto jrtayloriv: what happens if you move the regsave_marked test to the top of the file ?
03:20 dukeleto jrtayloriv: you probably have found a bug, but not the one you are testing for :) Those are the best kind
03:22 nopaste "jrtayloriv" at 67.246.145.82 pasted "jrt4@localhost ~/code/parrot-t" (16 lines) at http://nopaste.snit.ch/17700
03:23 jrtayloriv dukeleto, it might also just be that I mistranslated it from PASM to PIR -- I'll post up the original test ... one sec
03:23 dukeleto jrtayloriv: your test is throwing an exception that you are not catching
03:25 Andy joined #parrot
03:26 nopaste "jrtayloriv" at 67.246.145.82 pasted "====================== Origina" (113 lines) at http://nopaste.snit.ch/17701
03:27 jrtayloriv dukeleto, Is the uncaught exception something I did wrong, or a bug?
03:29 dukeleto jrtayloriv: not sure yet
03:31 dukeleto jrtayloriv: can you atttach the entire gc.t file to the ticket at https://trac.parrot.org/parrot/ticket/950 so that others can test it out? you can try running the PIR test under the debugger and getting a backtrace. then you can break out gdb if you really want to nuke the embankment :)
03:32 dukeleto jrtayloriv: ./parrrot_debugger t/op/gc.t
03:32 jrtayloriv dukeleto, Should I attach the current copy (i.e. with regsave_marked() at the top of the file), or the original, or both?
03:32 dukeleto jrtayloriv: do they both have the same behavior? if so, one should be fine
03:33 dukeleto jrtayloriv: then type "c" then enter
03:33 dukeleto jrtayloriv: "h"  or "help" to get a basic description of the parrot debugger commands
03:35 jrtayloriv parrot_debugger just gave me exactly the same output as prove -v (namely --> http://pastebin.com/d6db83426)
03:36 jrtayloriv I'll play around with the debugger for a moment, and then attach gc.t to the ticket.
03:37 payload joined #parrot
03:45 treed purl: msg jdv73 I fixed the Rakefile so that the test suite (and therefore "rake report") will complete even when individual tests bailout. When bailout occurs, the output from that test will simply be "FAILED TO COMPILE". Let me know if something else would work better with smolder.
03:45 purl Sorry, I've never seen jdv73 before.
03:45 treed huh.
03:45 treed purl: msg jdv79 I fixed the Rakefile so that the test suite (and therefore "rake report") will complete even when individual tests bailout. When bailout occurs, the output from that test will simply be "FAILED TO COMPILE". Let me know if something else would work better with smolder.
03:45 purl Message for jdv79 stored.
03:46 treed Aha.
03:46 treed purl: msg mikehh Latest update to cardinal will cause the test suite complete after the point where compilation fails.
03:46 purl Message for mikehh stored.
03:46 dalek cardinal: 8d2377f | treed++ | Rakefile:
03:46 dalek cardinal: Fix the Rakefile so that test suites will still complete if individual files bail out.
03:46 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/8d2377f181159c80b67c2987a6bcc0b35a0d3299
03:49 dukeleto jrtayloriv: you may want to try "gdb parrot" then "run t/op/gc.t" then "bt full"
03:50 jrtayloriv dukeleto, I'm trying to set a breakpoint in parrot_debugger at line 26 with 'break 26', but then when I do 'continue', it just runs until exit and doesn't stop at my breakpoint.
03:51 dukeleto jrtayloriv: yeah, breakpoints don't work. Forgot to tell ya'. Here is your gold watch :) Want to add a ticket for it?
03:51 jrtayloriv 'bt full' in gdb gave "no stack"
03:52 treed purl: msg coke that Coding Red still isn't on planet parrot
03:52 purl Message for coke stored.
03:52 dukeleto jrtayloriv: there are lots of tests (that I wrote) for breakpoints, but the debugger lies and *says* it is setting breakpoints, and that is what the tests test, but it just goes ahead and doesn't do that. We need a test that physically verifies that the breakpoint is stopped at, not that the debugger says it has set one
03:53 dukeleto msg coke i would like to get on planet parrot, do you have a preferred flavor of rss/atom feed?
03:53 purl Message for coke stored.
03:53 mrsaturn joined #parrot
03:55 dukeleto jrtayloriv: i guess we need to set the proper gdb breakpoint to get  proper bt
03:56 jrtayloriv I just set one for null_pmc_access
03:57 jrtayloriv Is that a good place to start?
04:00 jrtayloriv Here is what I got with that --> http://pastebin.com/d458513f9
04:02 dukeleto jrtayloriv: the function before null_pmc_access is Parrot_set_p_sc, that means a PMC is being set to a constant string, but the PMC seems to be NULL
04:10 allison joined #parrot
04:13 jrtayloriv dukeleto, Should I post any of the gdb session on the ticket along with the gc.t file and the error from prove -v?
04:13 dukeleto jrtayloriv: yes please and thank you
04:15 kyle_l5l joined #parrot
04:20 mokurai joined #parrot
04:21 mrsaturn joined #parrot
04:25 jrtayloriv dukeleto, posted up everything on the ticket -- sorry for pestering you :)
04:26 dukeleto jrtayloriv: no pestering, it was fun. good work on the gdb stuff
04:35 bacek_at_work jrtayloriv: you missed 'newclass' on line 45 in gc-broken
04:36 bacek_at_work jrtayloriv: it probably cause failure on line 61
04:36 dukeleto bacek: that would do it
04:37 jrtayloriv doh :)
04:38 bacek_at_work Sorry to tell it so late :)
04:39 dukeleto bacek++
04:39 bacek_at_work __get_string should be marked with ":vtable". Double underscores are deprecated afaik
04:40 skv_ joined #parrot
04:43 jrtayloriv bacek_at_work, Thanks :) -- but now I'm getting this --> http://pastebin.com/d707e07ae
04:45 bacek_at_work try :method :vtable
04:47 bacek_at_work and remove "get_params".
04:47 bacek_at_work bah. sorry
04:48 bacek_at_work get_params/set_params is PASM. Just use .param and .return(value)
04:49 bacek_at_work in regsave you don't need params. Just use "self"
04:49 jrtayloriv bacek_at_work, I saw some tests in t/op/calling.t that use get_params in PIR -- is this not right?
04:50 bacek_at_work jrtayloriv: you can use get_params in pir
04:50 bacek_at_work but .param is cleaner and easy to understand
04:50 jrtayloriv got it -- thanks again.
04:52 bacek_at_work pir is just syntax sugar for pasm. But very nice sugar :)
04:59 beta left #parrot
04:59 jrtayloriv bacek_at_work, I'm not understanding what you mean by "just use self" -- could you point me to something that I could read to understand this?
05:00 dukeleto jrtayloriv: methods get a variable called "self"
05:01 jrtayloriv dukeleto, right -- but how would I replace the get_params 0, $P2 statement by using self? -- I think my problem must be that I'm not understanding what get_params 0 is doing there.
05:03 jrtayloriv I'm pretty understand what "self" is -- basically, it just refers to the object that the method is being invoked from, right?
05:03 dukeleto jrtayloriv: are there docs for get_params?
05:04 jrtayloriv dukeleto, very little -- pdd03 and the docs/op/core.pod
05:05 dukeleto jrtayloriv: yes, I see that
05:05 jrtayloriv I couldn't figure out what the 0 flag did for get_params
05:11 dukeleto jrtayloriv: it gets the 0-th argument to the method. i think you can just replace $P2 with self
05:11 dukeleto and get rid of the get_params call
05:12 jrtayloriv dukeleto, OK, so the 0th arg to every method is self, followed by the parameters that are passed in?
05:12 dukeleto jrtayloriv: bingo
05:13 jrtayloriv thanks :) ... I might add that to the docs somewhere later, if it's not in there somewhere -- that would have been very helpful to know.
05:16 dukeleto jrtayloriv: from docs/pdds/pdd19_pir.pod 'The variable "self" automatically refers to the invocating object, if the
05:16 dukeleto subroutine declaration contains "method".'
05:16 jrtayloriv well there we have it :)
05:21 jrtayloriv I converted it to not use params, and just use self, but now it's back to another Null PMC error again ... http://pastebin.com/d4f2254fa
05:22 marius joined #parrot
05:24 jrtayloriv nm
05:25 dukeleto jrtayloriv: hmm, i don't think you can assign to self. you can use an unused $P* register
05:25 dukeleto jrtayloriv: this is what is blowing up : getprop $P12, "buffer", self
05:26 dukeleto jrtayloriv: hmm, that is assigning to $P12 actually, right ?
05:26 jrtayloriv yes
05:26 dukeleto jrtayloriv: but the order of the args may be wrong
05:26 dukeleto i have never used getprop
05:27 jrtayloriv it was actually the line 'setprop $P2, "buffer", $P12' should have been 'setprop self, "buffer", $P12'
05:27 jrtayloriv the order was right for getprop
05:27 dukeleto this makes me want to type "parrotdoc -f getprop" or somesuch. maybe someone should write that
05:27 dukeleto jrtayloriv: nice work
05:27 dukeleto jrtayloriv: so the test works now?
05:27 jrtayloriv nope :)
05:30 jrtayloriv http://pastebin.com/d1ea092e3
05:31 jrtayloriv I still think I might be doing something wrong with .namespace too -- see how it says the bit about 'nonexistent sub sweep_1' ? That's the sub defined right below regsave_marked()
05:31 bacek_at_work jrtayloriv: more sugar! "getprop $P12, "buffer", self" is same as '$P12 = getprop self, "buffer"'
05:33 jrtayloriv bacek_at_work, same w/ setprop as well?
05:33 jrtayloriv i.e. setprop $P12, "buf", $P14 ----> $P12 = setprop "buf, $P14
05:35 dukeleto jrtayloriv: yes
05:36 dukeleto jrtayloriv: all opcodes follow that convention. "opcode arg1, arg2, arg3" is the same as "arg1 = opcode arg2, arg3"
05:36 dukeleto jrtayloriv: the opcodes are actually implemented as the 3 arg versions, and then the "a = b" syntax in sugar in PIR
05:37 cotto sweet sweet sugar
05:38 cotto seen chromatic
05:38 purl chromatic was last seen on #parrot 2 days, 9 hours, 10 minutes and 46 seconds ago, saying: will not be at the meeting tomorrow.  [Aug 24 20:21:11 2009]
05:38 cotto unusual, that
05:38 bacek_at_work dukeleto: "all" is deprecated. Only opcodes which returns value
05:39 dukeleto cotto: it is nice weather in portland :)
05:40 dukeleto bacek: touché
05:46 dukeleto jrtayloriv: funky stuff
05:47 dukeleto jrtayloriv: do you have the latest version attached to the ticket, with the getprop/setprop fixes?
05:48 jrtayloriv dukeleto, no -- I'll post it up and overwrite the old version of gc.t--broken (since it is still broken)
05:49 dukeleto sounds good
05:50 jrtayloriv done.
05:51 mokurai left #parrot
05:57 dukeleto jrtayloriv: moving the namespaces to the end of the file makes all the tests run, but the first 2 still fail
06:01 dukeleto jrtayloriv: looks like it wants namespace [ ]  instead of namespace [""]
06:05 dukeleto jrtayloriv: just attached my version to the ticket
06:08 jrtayloriv dukeleto++
06:09 dukeleto jrtayloriv: it seems that the giving .namespace an empty string versus nothing is a whole different ball-game
06:09 dukeleto anybody know if that is a bug or a feature?
06:09 bacek_at_work [] and [""] different namespaces
06:10 dukeleto bacek_at_work: danke. so [] is the root namespace while [""] is the namespace formerly known as an empty string?
06:11 jrtayloriv What would [""] be useful for?
06:12 uniejo joined #parrot
06:13 dukeleto jrtayloriv: if you wanted a namespace called "" :|
06:13 dukeleto jrtayloriv: it does not reset to the normal root namespace. that is the important part
06:14 jrtayloriv yep, just wandering what type of situation that might come up in -- thanks for figuring that out.
06:32 dalek parrot: r40823 | NotFound++ | trunk/t/pmc/undef.t:
06:32 dalek parrot: [t] add a new assign to undef test and modify check on the existing ones
06:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40823/
06:32 dukeleto jrtayloriv: do you know why the first 2 tests fail?
06:34 jrtayloriv dukeleto, no idea -- I'm trying to figure that out right now
06:36 HG` joined #parrot
06:43 UltraDM joined #parrot
06:45 jrtayloriv dukeleto, Since the return values from newclass aren't getting used anywhere, I can just throw both of them into $P0, right?
06:45 jrtayloriv instead of $P9  = newclass "Source" and $P10 = newclass "Source::Buffer"
06:46 jrtayloriv (I don't understand why the author of the test did that)
06:47 dukeleto jrtayloriv: there is a difference to the garbage collector probably. i would leave it the same :)
06:47 jrtayloriv ok
06:49 dukeleto jrtayloriv: got it
06:50 jrtayloriv duk3leto, As far as numbering, would it matter if I changed the PMC registers to be all single digits to improve readability? There are only 7 PMC registers used in the test, so can I just use $P1 ... $P7 instead?
06:50 dukeleto jrtayloriv: i found the issue. we were trying to return things in a pasm style instead of ".return(foo)"
06:51 dukeleto jrtayloriv: in theory, yes. in practice, watch out for macros, because they can alter the behavior of registers in odd ways
06:51 dukeleto jrtayloriv: i will give you a working file and you can refactor it :)
06:52 dukeleto jrtayloriv: i just attached the working version at https://trac.parrot.org/parrot/ticket/950
06:53 jrtayloriv dukeleto, Thanks :)
06:53 dukeleto jrtayloriv++ for doing most of the hard work
06:53 jrtayloriv bah
06:58 moritz allison++ # context_pmc3 review
06:58 allison moritz: :)
06:58 moritz I don't understand it all, but it sounds thorough and sensible
06:58 bacek_at_work allison: hi
06:58 purl hello, bacek_at_work.
06:59 moritz (and it also sounds like a lot of work to me)
06:59 allison bacek: hi
06:59 purl what's up, allison.
06:59 bacek_at_work allison: CONTEXT_FIELD and CURRENT_CONTEXT_FIELDS macros are temporary. I'm in progress of replacing them with proper functions.
07:01 allison bacek: okay, that'll work
07:01 bacek_at_work allison: I put '//' and 'XXX' specially to quick find broken stuff.
07:01 bacek_at_work just to remind my self where I cut corner.
07:02 allison bacek: as long as they don't make it back into trunk, that's fine (we've just had a lot of XXX leak back into trunk over the years, with some major clean up work required to get rid of it)
07:02 bacek_at_work And I tend to disagree with CONTEXT macro. It backward incompatible anyway. Because Parrot_Context structure is changed.
07:03 bacek_at_work allison: (XXX) yep.
07:03 allison bacek: what's changed in the structure?
07:03 allison bacek: you should be able to keep the structure the same
07:03 bacek_at_work I store PMC* instead of Parrot_Context*.
07:03 allison that's the interpreter structure
07:04 bacek_at_work no
07:04 allison I mean what's changed in the Parrot_Context structure that's stored as the data element of the Context PMC?
07:04 bacek_at_work caller_ctx and outer_ctx
07:04 bacek_at_work they were Parrot_Context* before.
07:04 allison that's fine, it's pretty minor
07:05 allison and, you already have functions to replace it
07:05 bacek_at_work s/to replace/to fetch content/ - yes
07:05 allison we're going to deprecate CONTEXT(interp) anyway, so there's no reason to change it to return a PMC
07:06 bacek_at_work ok
07:06 bacek_at_work I'll replace cx prefix with pcc over weekend. CONTEXT_FIELD and CURRENT_CONTEXT_FIELD will be finally removed too.
07:08 allison bacek: the biggest thing I was concerned about going into the review was possible modifications to extend/embed API functions, but you
07:08 allison managed to avoid those
07:09 bacek_at_work btw, what "cx" prefix stand for?
07:10 allison Concurrency Xheduler
07:10 allison 'cs' was already taken
07:10 bacek_at_work heh :)
07:13 bacek_at_work anyway, I hit big roadblock with GC... TT#953...
07:27 iblechbot joined #parrot
07:36 NotFound I think I got it! Cross your fingers...
07:39 mikehh messages
07:43 dalek parrot: r40824 | NotFound++ | trunk/src/ops/set.ops:
07:43 dalek parrot: [ops] fix copy opcode. Should fix all recent double-free errors
07:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40824/
08:22 NotFound rakudo spectest PASS :)
08:24 mikehh NotFound++
08:24 mikehh examples_tests PASS
08:31 masak joined #parrot
08:35 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40824 - Ubuntu 9.04 amd64 (g++)
08:36 NotFound Gooooooood :)
08:42 mikehh rakudo (ec2f831) builds on parrot r40824 - make test / make spectest (up to r28077) PASS - Ubuntu 9.04 amd64 (g++)
08:47 skv_ joined #parrot
08:48 mikehh partcl r639 builds on parrot r40824 - make test fails the same 6 tests but all subtests PASS - Ubuntu 9.04 amd64 (g++)
08:58 mikehh cardinal (8d2377f) builds on parrot r40824 - make test - 593 tests were run, from 98 files, 510 tests passed, 0 of which were unexpected. 82 tests failed, 82 of which were expected.
09:01 mikehh cardinal There was 1 test file that reported fewer results than were planned: gen_time.pir, There were 3 complete failures: gen_08-class.pir, gen_alias.pir, gen_freeze.pir
09:10 mikehh decnum_dynpmcs r177 builds on parrot r40824 (g++) - make test gives a fail but all subtests PASS (Failed 17/17 test programs. 0/14629 subtests failed) - Ubuntu 9.04 amd64 (g++)
09:18 bacek_at_work Yay! NotFound++!
09:20 Whiteknight joined #parrot
09:21 NotFound Whiteknight: Have you seen r40824 ?
09:23 Whiteknight no
09:24 NotFound Whiteknight: looks like the copy opcode was the root of all evil
09:26 Whiteknight bacek has been having problems with the t/op/copy.t test in his branch
09:26 Whiteknight I bet this will help him out too
09:30 jonathan Ah, broken copy op woulda caused problems in Rakudo for sure. It's used very heavily.
09:30 dalek tracwiki: v34 | kjs++ | PIRCDevelopment
09:30 dalek tracwiki: info about AST node types
09:30 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=34&action=diff
09:44 skv_ joined #parrot
10:01 Whiteknight NotFound: so are all the bugs fixed now?
10:03 bacek_at_work Whiteknight: you wish :)
10:03 bacek_at_work Yay! Only one test failing in my branch after merge with latest trunk!
10:04 NotFound Whiteknight: looks like they are, yes
10:06 Whiteknight NotFound++
10:06 Whiteknight bacek_at_work: awesome!
10:06 purl i think awesome is a window manager or at http://awesome.naquadah.org or awesome!
10:06 Whiteknight which test, the exceptionhandler one?
10:08 bacek_at_work t/op/annotate.
10:09 bacek_at_work but it based on exceptions
10:10 bacek_at_work ok 16 - backtrace has enough elements
10:10 bacek_at_work Null PMC access in get_string()
10:10 bacek_at_work current instr.: 'backtrace_annotations' pc 428 (t/op/annotate.t:113) (loo.py:3)
10:12 mikehh partcl make spectest (completed in 43 minutes) (logged)
10:15 Whiteknight bacek: you saw allison's email?
10:17 PacoLinux joined #parrot
10:19 bacek_at_work Whiteknight: we've discussed it couple of hours ago
10:19 Whiteknight ok
10:20 Whiteknight I have to go get ready for work. Later
10:37 donaldh joined #parrot
11:00 MoC joined #parrot
11:21 donaldh joined #parrot
11:52 whiteknight joined #parrot
11:55 payload joined #parrot
12:21 Taulmarill joined #parrot
12:23 ruoso joined #parrot
13:16 dalek parrot: r40825 | NotFound++ | trunk/src/oo.c:
13:16 dalek parrot: fix a leak due to a forgotten item in the conversion of Object PMC to auto_attrs
13:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40825/
13:36 Coke msg cotto I am not normally on windows, but can be if the need is great.
13:36 purl Message for cotto stored.
13:41 Coke treed: pinged Ask about planet parrot, will let you know.
14:00 Coke Right now tcl skips spec tests where all the tests fail or skip.
14:01 Coke I'm thinking of re-enabling all the tests that run to completion; this should help catch more segfaults before they're introduced.
14:01 Coke s/before/when/
14:02 Coke I think this will impact me and mikehh and no one else. =-P
14:03 whiteknight_ joined #parrot
14:13 whiteknight good morning #parrot
14:20 Coke hey.
14:22 whiteknight hello Coke
14:22 Psyche^ joined #parrot
14:25 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40825 - Ubuntu 9.04 amd64 (gcc)
14:34 bacek joined #parrot
14:37 Coke error:imcc:syntax error, unexpected DOT ('.') in file 'EVAL_132522' line 46
14:37 JimmyZ joined #parrot
14:39 Coke ugh. I get 97% of the way through expr.test now before a memory panic.
14:39 Coke (which is much further than before. just so close. :|
14:39 MoC joined #parrot
14:43 dalek parrot: r40826 | NotFound++ | trunk/src/pmc/scheduler.pmc:
14:44 dalek parrot: [pmc] enable mutex destroy in scheduler
14:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40826/
14:44 iblechbot joined #parrot
14:50 kjeldahl joined #parrot
14:51 jrtayloriv I am working on converting a test from using pir_output_is to using test_more.pir. I am having an off-by-one problem that I think has to do with a check for recursion_depth/recursion_limit --http://pastebin.com/d1cc9ad8b ... Is the problem here due to the fact that the pir_output_is statement starts in :main while the test_more.pir test function is a sub that is called from :main?
14:53 MoC joined #parrot
14:53 jrtayloriv Basically, I could just lower the check to look for 8 instead of 9, or raise recursion_limit to 11, right?
14:53 bacek jrtayloriv: either way will work
14:54 jrtayloriv bacek, thanks
14:56 mikehh partcl r639 builds on parrot r40825 - make test same as before - Ubuntu 9.04 amd64 (gcc)
14:57 mikehh rakudo (ec2f831) builds on parrot r40825 - make test / make spectest (up to r28079) PASS - Ubuntu 9.04 amd64 (gcc)
14:58 Coke mikehh++
15:07 kjeldahl joined #parrot
15:09 HG` joined #parrot
15:11 kjeldahl joined #parrot
15:20 donaldh joined #parrot
15:23 payload joined #parrot
15:26 * Coke wanders out. Ping me via email.
15:26 rdice joined #parrot
15:28 payload1 joined #parrot
15:31 desertm4x joined #parrot
15:32 dukeleto msg jrtayloriv let me know if you want me to commit the version of gc.t that I attached or wait for your changes
15:32 purl Message for jrtayloriv stored.
15:33 jrtayloriv dukeleto, I'm on the last test right now
15:34 dukeleto jrtayloriv: sweet
15:34 jrtayloriv that way, we won't have to have two files
15:34 dukeleto jrtayloriv: yes, less churn is better
15:35 jrtayloriv I'm just reading up about how coroutines are dealt with so that I make sure I convert this one correctly
15:38 jrtayloriv dukeleto, And there was an error (mine) left over in the version you attached (vanishing_ret_continuation() had a leftover 'end' from PASM -- which is why we had to move regsave_marked to the top)
15:38 darbelo joined #parrot
15:38 dukeleto jrtayloriv: yes, get rid of those "end" statements
15:47 jrtayloriv What does --> get_params ' ' <-- do? Does it just pop a parameter off of the stack and throw it away?
15:53 theory joined #parrot
15:57 dalek parrot: r40827 | jkeenan++ | branches/tt936_install_pct:
15:57 dalek parrot: Creating branch to work on tt936.
15:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40827/
15:58 darbelo dukeleto: saw your msg. There's an example of smolder mis-detecting failures in TT #953, which is where I first noticed it.
16:00 dukeleto darbelo: yes, i saw that ticket. looks like smolder is goofing on detecting the return code
16:01 kid51 joined #parrot
16:02 jrtayloriv dukeleto, I attached a patch to the ticket
16:02 jrtayloriv dukeleto, gc.2.t is supposed to be the finished version of gc.t -- type
16:02 jrtayloriv gc.t--patch is the patch from svn diff
16:02 kid51 I just had 5 minutes of trouble joining ircperlorg.  Has anyone else experienced this?
16:03 moritz kid51: sometimes (only seldom for me) the DNS round robin suggests a server that's a bit broken
16:03 moritz kid51: in that case I pick a different IP
16:04 jrtayloriv lol -- typo talking about my typo ... let's try that again ... dukeleto, gc.2.t is supposed to be the finished version of gc.t -- typo
16:08 dukeleto jrtayloriv: i will look at it later today
16:08 jrtayloriv dukeleto, great -- thanks again for helping me work through it.
16:17 MoC joined #parrot
16:19 dalek parrot: r40828 | jkeenan++ | branches/tt936_install_pct/MANIFEST.generated:
16:19 dalek parrot: Change package for 4 PCT-related .pbc files from [pct] to [main] so that they install with 'make install' rather than 'make install-dev'.
16:19 purl dalek: that doesn't look right
16:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40828/
16:31 darbelo mikehh: ping
16:45 whiteknight joined #parrot
17:01 buildbot joined #parrot
17:03 mokurai joined #parrot
17:07 duk3leto jkeenan++ for making pct part of the normal install and making rakudo happy
17:09 HG` joined #parrot
17:14 dalek decnum-dynpmcs: r178 | darbelo++ | trunk/src/pmc/decbase.pmc:
17:14 dalek decnum-dynpmcs: Hmm. Look at what sneaked in in a previous commit.
17:14 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=178
17:30 jrtayloriv I was going to start working on converting t/op/jit.t from pasm/perl to pure PIR, but I had a question involving how PIR does register allocation. Is 'set $I0, 1' in PASM exactly the same as '$I0 = 1' in PIR? I was wondering if it might not always be the same since PIR has unlimited # of registers. As long as I am only talking about registers that exist in PASM, will the set statements in PIR always be equivalent?
17:30 jrtayloriv for example, do these do the same thing --> http://pastebin.com/d34f88040
17:32 mikehh darbelo: pong
17:35 whiteknight jrtayloriv: no
17:36 whiteknight in PIR "$I20" is automatically allocated and mapped. in PASM, "I20" is the 20th register
17:37 whiteknight the $ symbol is used in PIR, not PASM, and indicates that it is automatically managed
17:37 darbelo mikehh: Can you tell me what tests failed for you on decnum-dynpmcs?
17:37 jrtayloriv whiteknight, sorry I meant 'set I0, 1' for the PASM example.
17:37 whiteknight yeah, okay
17:38 duk3leto jrtayloriv: they do the same thing, but they have different workings behind the scenes
17:38 jrtayloriv right, so since these are trying to test something that is automatically taken care of in PIR, they need to be left as PASM correct?
17:38 mikehh darbelo: all failed I think but all subtests passed - they exited with code 11 which I think is a segfault
17:39 darbelo Did one of the few last lines look like 'Failed 17/17 test scripts. 0/14629 subtests failed.'
17:40 mikehh exactly
17:40 duk3leto jrtayloriv: you may want to keep using the "add" function instead of +. whether to use the 2 or 3 arg form is up to you
17:40 mikehh Failed 17/17 test programs. 0/14629 subtests failed
17:41 darbelo Then it's parrot's fault ;)
17:41 mikehh in other words passed all 14629 subtests
17:41 mikehh exit from t/harness
17:43 mikehh all test had Non zero wait status 11
17:43 darbelo It's a segfault during interpreter destruction. If you look at the coredump you'll se it dies at Parrot_pmc_destroy called (ultimately) from Parrot_exit.
17:44 jrtayloriv duk3leto, Well, I was going to just move on to something else if those tests need to remain in PASM -- thanks for pointing out about the 2 arg version of add, though -- didn't know I could do that.
17:45 mikehh darbelo: that's right - I am re-running with latest parrot now
17:45 darbelo mikehh: What platform are you on? I hadn't seen that happen outside of OpenBSD so far.
17:47 mikehh Ubuntu 9.04 amd64
17:47 mberends joined #parrot
17:49 mikehh darbelo: same story at r176 on parrot r40825 built with gcc
17:49 darbelo Hmm. Nevermind, I haven't tested on linux after the Great Merging took place, and this was introduced there.
17:50 mikehh yeah - a lot of problems have been fixed - but not all
17:50 whiteknight this is why it's good to merge things so early in the release cycle: so we have plenty of time to fix bugs
17:51 mikehh whiteknight :-}
17:52 mikehh I am going to switch to i386 (have to re-boot at the moment) I still can't get VirtualBox to work properly with my wireless connection
17:53 darbelo whiteknight: Definitely. Of course, parrot releases so often that 'early in the release' is, at most, a week.
17:53 mikehh still trying though
17:56 NotFound Most destroy problems should be fixed at head now
17:59 duk3leto jrtayloriv: i am not sure if that test requires pasm, but it was using the add function initially, so best to keep it the same
17:59 duk3leto jrtayloriv: which test file are you attacking next?
18:01 jan joined #parrot
18:02 jrtayloriv duk3leto, Not sure yet.
18:04 mikehh anyway bbiab
18:06 cotto jonathan, ping
18:08 mikehh joined #parrot
18:09 mikehh ok back - on Ubuntu 9.04 i386 for a bit
18:11 darbelo NotFound: most, but not mine :)
18:12 duk3leto jrtayloriv: i am working on t/pmc/integer.t, anyelse else is fair game
18:12 iblechbot joined #parrot
18:13 kid51 joined #parrot
18:16 darbelo NotFound: I can confirm that TT#953 does looks fixed here, tough.
18:26 cotto msg jonathan When you have a few minutes, please checkout pluggable_runcore and let me know if it builds and if it generates a sane parrot.pprof when run with -Rprofiling .
18:26 purl Message for jonathan stored.
18:26 dalek parrot: r40829 | cotto++ | branches/pluggable_runcore (2 files):
18:26 dalek parrot: [profiling] remove some redundant info from the profile and a minor cleanup
18:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40829/
18:30 cotto msg jonathan Here "sane" means that the second column of numbers looks like it could represent the time taken by the specified opcode.  examples/pir/sudoku.pir is a good test if you don't have any complex pir lying around.
18:30 purl Message for jonathan stored.
18:41 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40828 - Ubuntu 9.04 i386 (g++)
18:42 dalek parrot: r40830 | cotto++ | branches/pluggable_runcore (186 files):
18:42 dalek parrot: bring profiling_runcore up-to-date with trunk
18:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40830/
18:44 cotto s/profiling/pluggable/g
18:46 mberends joined #parrot
18:48 mikehh rakudo (ec2f831) builds on parrot r40828 - make test / make spectest (up to r28081) PASS - Ubuntu 9.04 i386 (g++)
18:53 mikehh partcl r639 builds on parrot r40828 - make test 6 tests fail, but all subtests PASS - Files=74, Tests=1325 - Ubuntu 9.04 i386 (g++)
18:54 jrtayloriv joined #parrot
18:54 particle q: does parrot check interrupts while sleeping?
18:57 whiteknight depends what you mean by both those things
18:58 particle sleep 10000;  # can parrot detect sigint during this time?
18:58 particle apparently perl 5 can't, but ruby can
18:58 whiteknight I don't think so
18:58 particle that stinks :(
18:58 whiteknight I'm not 100% sure, you might want to add some tests and maybe file a ticket
18:59 whiteknight the sleep opcode basically defers to the sleep() function internally, which is OS-dependent
18:59 particle that'd be an interesting test to write....
18:59 mikehh decnum_dynpmcs r178 builds on parrot r40828 - make test - same story all subtests PASS - Failed 17/17 test programs. 0/14629 subtests failed - Ubuntu 9.04 i386 (g++)
19:00 * particle checks out pluggable_runcore for cotto
19:01 desertm4x joined #parrot
19:01 darbelo cotto: pluggable_runcore (r40830) reports "All tests successful." and apparently sane values for 'parrot -Rprofiling examples/pir/sudoku.pir' on OpenBSD amd64
19:03 HG` joined #parrot
19:09 moritz CLA?
19:09 purl i think CLA is Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf
19:10 Tene particle: from what I remember of the pdds, parrot *should*, but it currently doesn't comply with that.
19:10 mikehh cardinal (8d2377f) builds on parrot r40828 - make test -  593 tests were run, from 98 files, 511 tests passed, 0 of which were unexpected, 82 tests failed, 82 of which were expected
19:11 davidfetter joined #parrot
19:11 mikehh cardinal  There were 3 files that completely failed to compile: gen_08-class.pir, gen_alias.pir, gen_freeze.pir
19:13 mikehh cardinal - that's on Ubuntu 9.04 i386 (g++) (there was a partial failure on amd64 that didn't occur here)
19:16 cotto particle, thanks.
19:16 Andy joined #parrot
19:23 mikehh lua (47c85a4) fails to build on parrot r40828 - Ubuntu 9.04 i386 - first error ./luanumber.pmc:310: error: uninitialised const ‘n’
19:27 particle cotto: src\runcore\cores.c(677) : error C2065: 'Parrot_DynOp_core_cgp_1_5_0' : undeclared identifier
19:28 particle same for _cg_
19:28 particle cg and cgp are gcc-only
19:35 mikehh I need to switch back to amd64 - bbiab
19:38 cotto particle, does that mean those runcores should be #ifdef'd away on win32?
19:40 particle ayep
19:40 particle i believe there's already runcore detection you can use
19:40 particle check parrot_config
19:42 nixfreak_ joined #parrot
19:43 particle they should be ifdef'd away for non-gcc, not on win32. we have gcc on win32, but i'm using msvc
19:43 nixfreak_ using win32 , installed parrot , I looked its saved on the Env variables. ran news.pasm didn't work
19:44 nixfreak_ do I need to have perl6 as a depend or is perl already in the win32 package ?
19:47 cotto is HAVE_COMPUTED_GOTO what we're looking for?
19:48 darbelo cotto: Most likely. That's passed as a -D on the Makefile CFLAGS
19:49 nopaste "cotto" at 74.61.2.46 pasted "#ifdef away cp* runcores on platforms without computed goto" (21 lines) at http://nopaste.snit.ch/17703
19:49 cotto particle, how's that patch?
19:49 particle cotto: HAVE_COMPUTED_GOTO doesn't exist in my lib/Parrot/Config/Generated.pm
19:49 particle i don't have parrot_config since parrot didn't build.
19:49 particle looking...
19:51 particle that'll probably work... applying and rebuilding
19:58 nixfreak_ anyone have an idea about win32 ?
19:59 treed So I'm on Windows right now.
19:59 treed How kind of environment is used to work with parroty stuff on Windows?
20:00 treed Also, how do I delete messages from purl's queue?
20:00 moritz treed: you can either use the cygwin stack, or msvc++
20:00 mikehh joined #parrot
20:00 moritz 'delete messages' or 'messages delete'
20:00 treed Probably better to do cygwin.
20:01 treed it's "messages eras"
20:01 treed erase
20:02 darbelo treed: I think mingw was also an option.
20:02 particle treed: i use msvc
20:02 particle some folks use strawberry perl
20:02 treed Is itfree?
20:02 cotto If you want the ms toolchain, you can use express edition for no cost.
20:02 particle yes, msvc 2008 express is free
20:02 particle and it has a visual debugger that's quite good
20:03 treed Neat.
20:03 particle but, http://translationparty.com/#3531871
20:04 treed Although I want to get cardinal running on it.
20:04 treed Can you integrate other build systems with it?
20:04 treed The idea here is to make sure that the Rakefile works on Windows.
20:05 treed So that I feel better about deleting the old makefile.
20:05 darbelo treed: Kill now. Apologise later.
20:05 particle i know nothing of rakefiles. what's the make engine for that?
20:05 treed It uses Rake, which is ruby.
20:06 particle well, there's native ruby on windows, so you should be fine
20:06 treed But installing rake?
20:06 treed I guess I should see if that requires cygwin or something.
20:06 treed Or if rubygems works without cygwin.
20:07 treed It's been ages since I've done any dev work on Windows.
20:08 darbelo treed: Doesn't that put you into a chicken-and-egg situation with you own build system?
20:09 treed Hm?
20:09 treed Rake isn't running on Cardinal
20:09 treed Cardinal's not that advanced yet.
20:10 treed And that would make builds even slower.
20:11 darbelo I mean that you need a working Ruby to build your Ruby :)
20:11 treed Sure.
20:11 treed You need a working C compiler to compile GCC, too.
20:12 treed But fortunately, you should be able to build Cardinal on any platform and use it anywhere Parrot works.
20:12 treed So even if Ruby somehow doesn't work, but Parrot does, once Cardinal's sufficiently advanced, it's all good.
20:15 * darbelo is baffled by the idea of bootstrapping interpreters, but is sure he will get over it eventually.
20:15 duk3leto treed: is cardinal implementing ruby 1.8.x or 1.9.x ?
20:15 particle almost all c compilers are written in c
20:16 treed It's targeting 1.9 + future.
20:16 treed So it has at least one feature that's only in ruby SVN.
20:17 darbelo particle: Yeah. And once you get your C compiler going you write everything else in C, paying the bootstrap tax only once.
20:17 treed I made that call on the basis of the fact that it'll probably be a year or two before Cardinal gets into a reasonable beta state.
20:17 treed And I'd rather not have to continually play catch-up.
20:17 treed So we'll start forward looking and hopefully converge with the feature-set at somepoint.
20:18 treed Although some non-Ruby features are targetted as well.
20:18 treed We have gather/take, and I'd like to get P6 regex available, too.
20:18 treed (But behind require statements.)
20:18 treed (Although gather isn't behind that yet.)
20:18 treed I want cardinal-only features to require positive acknowledgement.
20:18 treed So "require 'cardinal/gather'" etc
20:19 treed So that the coder realizes when he's using them that these features are not portable to other Rubies.
20:20 duk3leto treed: interesting. thanks for the info, my cow-orker was asking about it. I am trying to recruit new hackers for you :)
20:20 treed Awesome, thanks.
20:20 treed I intend to write out this policy at some point.
20:21 treed It's mostly been kicking around in my head.
20:21 treed I also want to write a timeline policy.
20:21 treed ie, what circumstances must hold before I'll consider an alpha release, etc.
20:22 cotto particle, does the win32 build work?
20:22 * particle checks the vm, running in the background
20:23 particle cotto: http://smolder.plusthree.com/app/p​ublic_projects/smoke_report/26649
20:23 particle it compiles, and tests rather well
20:23 cotto how does it work when run with -Rprofiling ?
20:24 duk3leto treed: what you just told me about ruby 1.8/1.9/extra features would make a good blog post ;)
20:24 cotto using examples/pir/sudoku.pir for example
20:24 particle c:\Users\particle\dev\parro​t\pluggable_runcore>parrot -R=profiling examples\pir\hanoi.pir
20:24 particle main: Unrecognized runcore '=profiling' specified.
20:24 treed duk3leto: Yeah, that's kinda what's been kicking in my head waiting to be written.
20:24 cotto -Rprofiling should work
20:24 cotto (no =)
20:25 particle why does that work?
20:25 particle and you need to update parrot -h
20:25 particle it does work, btw.
20:25 cotto will do
20:26 particle i got 1301 lines in parrot.pprof
20:26 cotto -h doesn't mention = (but I'll add profiling)
20:27 particle yeah, forgot parrot doesn't like =, but it does like -R profiling
20:27 particle whichithinkismoreclear
20:28 theory joined #parrot
20:29 cotto That's suspiciously short.  Mine's at 1M lines and growing.
20:29 cotto Can you nopaste the first 50 or so lines?
20:29 particle i ran hanoi
20:29 particle much shorter :)
20:30 darbelo $ wc -l parrot.pprof
20:30 darbelo 1566075 parrot.pprof
20:30 cotto That's the same length I get.  Could you nopaste?
20:31 darbelo *all* of it ?
20:31 cotto particle, not darbelo
20:32 nopaste "particle" at 76.121.106.245 pasted "hanoi.pir profiling output" (1301 lines) at http://nopaste.snit.ch/17704
20:32 particle nopaste.pl++
20:33 cotto well crap.
20:33 cotto That second column should be the per-instruction timing, not 0.
20:33 darbelo cotto: examples/pir/sudoku.pir might not be the best thing to ask people to run.
20:33 cotto darbelo, agreed.
20:40 cotto I guess I'll use parrot
20:40 cotto Parrot_floatval_time until I figure out something less broken.
20:41 particle gimme a simple c program to compile and run here
20:41 nixfreak_ treed there is a win32 binary for parrot
20:43 * treed was just going to build it from source.
20:43 treed Since Cardinal needs a build_dir still.
20:43 cotto particle, the code I was trying to use is in config/gen/platform/win32/hires_timer.c
20:43 cotto it should be easy to adapt
20:44 nixfreak_ in perl installed with the win32 package ?
20:44 nixfreak_ or do I need to grab perl6 for windows ?
20:44 particle the parrot windows binary does not install any hlls
20:45 nixfreak_ I heard cardinal is faster then python using the VM is that true ?
20:45 treed Very, very unlikely.
20:45 treed Unless you mean once it's been parsed.
20:45 treed Even still, very unlikely.
20:45 treed The parser is hideously slow.
20:45 nixfreak_ bummer
20:45 nixfreak_ how about pynie
20:45 purl it has been said that pynie is http://code.google.com/p/pynie/ or a Python implementation for the Parrot virtual machine
20:45 treed The test suite takes 8 minutes for me.
20:46 treed 7:30 can be shaved off if you pre-compile
20:46 nixfreak_ interesting
20:46 treed If you run that same suite with just ruby, it's 2 seconds.
20:46 treed And I'm pretty sure Python's supposed to be faster than Ruby.
20:46 treed I haven't tried pynie.
20:46 nixfreak_ so there really isn't any benefit to parrot yet then ?
20:46 treed I hope sometime soon we can start fixing Cardinal's parser.
20:46 treed Not with Cardinal.
20:46 nixfreak_ please correct if I am wrong
20:46 treed I can't speak for the other HLLs.
20:47 treed Cardinal is still very pre-alpha.
20:47 treed Rakudo seems fairly advanced.
20:47 Tene treed: I'm waiting for the PGE refactors to happen before I start working on Cardinal's parser.
20:47 treed But I haven't played with it much, and I'm not a perl guy.
20:47 treed Tene: *nod*
20:47 nixfreak_ me either
20:47 darbelo Lua was pretty advanced too IIRC
20:48 nixfreak_ yep I heard that is the most stable one
20:48 nixfreak_ what depends do I need to run pasm files ?
20:48 treed Just the parrot binary, I think.
20:48 treed Unless it references other files.
20:49 treed When cardinal enerates a pir file, the generated files need cardinal.pbc available to run.
20:49 nixfreak_ its not working for me
20:49 nixfreak_ all I am trying to do is run news.pasm
20:49 treed Dunno what that is.
20:49 nixfreak_ one sec
20:49 treed And I don't have a working parrot onmy W7 partition.
20:49 payload joined #parrot
20:50 nixfreak_ Running Parrot
20:50 nixfreak_ Once you've installed Parrot, run it. Create a test file called news.pasm. .pasm files contain Parrot Assembly Language (PASM) instructions; this is a low-level language native to the Parrot virtual machine.
20:50 nixfreak_ say "Here is the news for Parrots." end
20:50 nixfreak_ Here is the news for Parrots.
20:50 nixfreak_ Now run this file with:
20:50 nixfreak_ $ parrot news.pasmwhich will print:
20:50 treed say and end on the same line?
20:52 * treed doesn't do PASM directly much.
20:52 treed Try this as news.pir:
20:52 nixfreak_ no its not two lines
20:52 treed .sub main :main
20:52 treed say "Here is the news for Parrots."
20:52 treed .end
20:53 treed That's the PIR equiv.
20:53 nixfreak_ how do compile that ?
20:54 treed no need
20:54 treed parrot can run it directly
20:54 treed If you wanted to see it as pasm, I think you could do "parrot --target=pasm news.pir"
20:54 * treed can't test this, though.
20:54 particle you can compile to bytecode with parrot -o whatever.pbc
20:54 nixfreak_ ??? whats the interperter command
20:54 treed just parrot
20:54 particle nixfreak_: parrot foo.pir
20:55 particle that will run your pir file
20:55 Tene treed: --target is a PCT thing
20:55 particle --target=pasm is a ...
20:55 particle yep
20:55 nixfreak_ yeah parrot isn't recognized
20:55 nixfreak_ but the env is correct , I hate windows
20:55 Tene parrot -o foo.pasm foo.pir
20:55 Tene will work
20:55 nixfreak_ k
20:56 particle nixfreak_: do you have activestate perl installed?
20:56 treed Tene: I use --target on parrot all the time. Do you mean that you need to specify an HLL pbc?
20:56 theory joined #parrot
20:56 nixfreak_ lol thats what I was trying to ask you guys
20:56 Tene treed: no, you don't.  you pass a --target option to a program running on parrot.
20:56 treed Oh, I see.
20:57 Tene treed: everything after the .pbc or .pir or whatever are arguments to the program.
20:57 particle nixfreak_: activestate perl 5.*
20:57 particle there is no perl 5 running on parrot
20:57 particle anyway, AS perl has a batchfile called 'pwhich' which is a 'which' equivalent
20:57 particle pwhich parrot
20:58 hercynium joined #parrot
20:58 particle should tell you where parrot.exe is found in your path
21:05 rdice joined #parrot
21:10 Whiteknight joined #parrot
21:14 cotto particle, can you tell me the return value of GetProcessTimes in the profiling code?  It may be a configuration issue.  I'd assumed that a process would always have permission to query information about itself.
21:16 nixfreak_ ok ahh makes sense C:\Parrot-1.4.0>parrot -o news.pasm
21:16 nixfreak_ 'parrot' is not recognized as an internal or external command,
21:17 nixfreak_ damn
21:17 nixfreak_ I bet I have to install perl6
21:17 treed That's not what that error message indicates.
21:17 treed It's not "Parrot tried to start and failed because something's missing"
21:17 treed It's "I can't find Parrot."
21:19 particle nixfreak_: dir parrot.exe
21:19 dalek rakudo: 3a274d9 | pmichaud++ |  (9 files):
21:19 dalek rakudo: Move infix:<+> into the setting, making it available for operator
21:19 dalek rakudo: overloading.  In the process we get Junction handling for free, and
21:19 dalek rakudo: have to modify the Whatever handling slightly (but not too badly).
21:19 dalek rakudo: We also take a bit of a performance hit, but so far it doesn't seem
21:19 dalek rakudo: too onerous in the spectests.  Next step is to do the same for
21:19 dalek rakudo: infix:<-> and see what happens.
21:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a274d9195860943ab6cad67534a2085d3bc9814
21:19 dalek rakudo: 9976deb | moritz++ | docs/release_guide.pod:
21:19 dalek rakudo: [docs] Su-Shee++ volunteers for Feb 2009 release
21:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​976deb3ad023b8445d725e1bb623da8f9e1edee
21:19 dalek rakudo: 62f5110 | pmichaud++ |  (7 files):
21:19 dalek rakudo: Move infix:<-> into the setting, making it overloadable as well.
21:19 dalek rakudo: Now we just need to follow this general pattern for the remaining
21:19 dalek rakudo: builtins.
21:19 purl builtins are pure perl
21:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​2f5110494bdc3a3bb2f054a34bcfff899902d9f
21:19 dalek rakudo: 32e9d79 | pmichaud++ |  (2 files):
21:19 dalek rakudo: Move the WhateverCode helper functions out of build/gen_whatever_pir.pl
21:19 dalek rakudo: and into src/classes/WhateverCode.pir .
21:19 dalek rakudo: With this change, we simply need to migrate the remaining operators
21:19 dalek rakudo: into the setting, and when that's done, we can eliminate
21:19 dalek rakudo: build/gen_whatever_pir.pl and build/gen_junctions_pir.pl entirely.
21:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​2e9d7979a5233646074cacd5aef5a405a880e31
21:19 dalek rakudo: 93cd932 | moritz++ | :
21:19 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
21:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​3cd932d97ecb7ff28f67a122ebb5efb3dd8270b
21:19 treed Good god.
21:19 purl Great Googly Moogly!
21:21 particle cotto:     int ret = GetProcessTimes(GetCurrentProcess(), &creation, &exit, &kernel, &user);
21:21 particle printf("\n\n<<<<<%d>>>>>\n\n\n", ret);
21:21 particle rebuild parrot, nothing like that prints out anywhere
21:21 cotto I suspect it'll be non-zero
21:22 cotto Only the profiling runcore uses that code.  It won't be hit without -Rprofiling
21:22 particle non-zero means success, and that's what i'd suspect
21:22 particle >parrot -R profiling examples\pir\hanoi.pir
21:22 particle ...just regular hanoi output...
21:23 cotto this is a joy
21:25 particle wrapped inside a happiness
21:25 * particle needs a nap
21:25 darbelo particle: try  with fprintf()
21:26 cotto If I were playing with it I'd try fprintf to stderr, but I don't have a clue why printf wouldn't work.
21:27 cotto I'm so glad I don't regularly work with the windows api.  Every time I get near it it makes me sad.
21:27 darbelo Or maybe 'fprintf(runcore->prof_fd, "\n\n<<<<<%d>>>>>\n\n\n", ret);' just to make extra-sure.
21:27 bacek joined #parrot
21:28 particle fprintf(stderr... nada
21:29 particle nothing doing, darbelo :(
21:29 particle i'm beginning to think this function isn't called anywhere
21:30 cotto debuggering time?
21:30 particle after a nap, yes
21:30 * particle buggers off &
21:31 cotto If a certain job possibility pans out, I'll have more access to windows boxes than I'll know what to do with.
21:34 cotto Actually I can use QueryPerformanceCounter if GetProcessTimes doesn't work, but I'd really like to avoid the noise from context switches and other processes.
21:41 cotto particle, let me know if the following patch yields a saner profile.
21:41 nopaste "cotto" at 74.61.2.46 pasted "patch to use QueryPerformanceCounter for profiling" (17 lines) at http://nopaste.snit.ch/17706
21:41 dalek parrot: r40831 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
21:41 dalek parrot: [profiling] #ifdef away some runcore init functions on unsupported platforms
21:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40831/
21:44 payload joined #parrot
21:50 joeri joined #parrot
21:53 nixfreak_ sweet I got it now
21:53 nixfreak_ I'm retarted
21:53 nixfreak_ thanks particle
21:53 beta joined #parrot
22:02 japhb joined #parrot
22:04 bacek Good morning
22:04 purl And good moroning to you, bacek.
22:05 Whiteknight joined #parrot
22:09 theory joined #parrot
22:09 mokurai joined #parrot
22:10 Whiteknight NotFound++ # Kicking ass!
22:13 cognominal joined #parrot
22:15 dalek parrot: r40832 | bacek++ | branches/context_pmc3/src/pmc/exception.pmc:
22:15 dalek parrot: [pmc] Fix check for NULL sub_pmc in Exception.backtrace.
22:15 dalek parrot: I don't know how I managed to break it...
22:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40832/
22:19 dalek parrot: r40833 | bacek++ | branches/context_pmc3 (19 files):
22:19 dalek parrot: Bring branch up-to-date with trunk.
22:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40833/
22:19 dalek parrot: r40834 | bacek++ | branches/context_pmc3/t/native_pbc (4 files):
22:19 dalek parrot: Rebuild native pbc...
22:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40834/
22:41 rg1 joined #parrot
22:43 jan joined #parrot
22:43 dalek rakudo: 4276205 | pmichaud++ |  (7 files):
22:43 dalek rakudo: Move infix:<*>, infix:</>, and infix:<**> to setting.
22:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​27620514b9debf5d7309cf3dd69a75e55929400
22:47 treed Lots of rakudo work today
23:00 bacek Yay! TT#154!
23:01 bacek Whiteknight: around?
23:01 bacek NotFound: ping
23:02 Whiteknight hello
23:02 purl niihau, Whiteknight.
23:02 Whiteknight what do you need bacek?
23:03 bacek Whiteknight: world domination of course
23:03 bacek Whiteknight: can you take a look at TT#154?
23:03 Whiteknight sure thing
23:03 dalek decnum-dynpmcs: r179 | darbelo++ | trunk/ (2 files):
23:03 dalek decnum-dynpmcs: Make the configuration of decTest a command line option of Configure.pl (default
23:03 dalek decnum-dynpmcs: OFF). There's no need to configure this for everyone.
23:03 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=179
23:04 bacek This is almost identical to my current problems in context_pmc3
23:05 Whiteknight really?
23:05 bacek YA RLY!
23:06 Whiteknight okay
23:06 bacek PIR "can_handle" method isn't invoked.
23:06 bacek t/pmc/exceptionhandler.t, test 7
23:11 joeri left #parrot
23:12 michel__ joined #parrot
23:12 Whiteknight let me fire up GDB and see what I can find
23:12 bacek Whiteknight: ok, thanks!
23:14 bacek $dayjob time.
23:14 bacek See you soon!
23:21 mokurai joined #parrot
23:27 Whiteknight purl msg bacek get_handler IS getting called in test 7. It's returning 0.
23:27 purl Message for bacek stored.
23:32 Whiteknight purl msg bacek nevermind, you were right. can_handle is not getting called. Some other Sub is being called. I don't know what it is
23:32 purl Message for bacek stored.
23:34 bacek joined #parrot
23:35 Whiteknight nopaste?
23:35 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
23:37 nopaste "whiteknight" at 69.249.176.251 pasted "Parrot_PCCINVOKE snapshot for bacek++" (15 lines) at http://nopaste.snit.ch/17708
23:39 bacek Whiteknight: erm... Looks about all right...
23:39 Whiteknight bacek: I think I have it figured out
23:39 Whiteknight Parrot_PCCINVOKE only works for C-based methods, not PIR oes
23:39 Whiteknight ones*
23:39 bacek Yay! Whiteknigh++
23:39 Whiteknight if you look at Parrot_PCCINVOKE, it never calls runops() to run the PIR function
23:40 bacek Yeah... I spent a lot of time inside this function...
23:40 bacek But how it works in trunk? Accidentally?
23:40 Whiteknight let me look
23:40 Whiteknight I don't know how it works in trunk
23:41 Whiteknight doesn't make any sense
23:41 bacek indeed... Some dark scary magic feel I.
23:41 Whiteknight UNLESS the context isn't being initialized, there is non-zero garbage in the registers, and that's being returned on failure
23:42 bacek valgrind conplains about using of uninitilised values in Parrot_cx_find_handler_local
23:42 bacek So, you probably right.
23:42 cotto So it's so broken that it works.  Wow.
23:44 bacek sigh...
23:45 Whiteknight fixed
23:45 bacek Whiteknight: you can add something like 'say "CAN I?"' into sub can_handle and run with -t4.
23:45 Whiteknight (temporary, hack fix)
23:46 Whiteknight incoming (you're gonna love this)
23:47 * bacek hiding under desk
23:47 * duk3leto runs for cover
23:48 cotto oh boy!  I love train wrecks.
23:49 Whiteknight then you're going to love this next commit
23:49 * bacek wrecking train into cotto
23:49 Whiteknight it's a perfect example of why we need Allison's PCC magic
23:49 Whiteknight "help me Allison-Kenobi, you're my only hope"
23:49 dalek parrot: r40835 | whiteknight++ | branches/context_pmc3 (2 files):
23:49 dalek parrot: [context_pmc3] hack fix for bacek++. YOU CANNOT UNSEE MY EVIL ONCE YOU HAVE SEEN IT
23:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40835/
23:50 treed o/` Instead of just Obi-Wan, you've got Obi-Two... o/`
23:50 Whiteknight ...probably should have put an XXX comment in there
23:50 Whiteknight find a unicode glyph of a middle finger
23:51 bacek Whiteknight: ☢☢☢☢
23:51 Whiteknight perfect!
23:51 purl perfect is the enemy of good enough.
23:53 Whiteknight The packfile tests all fail on my machine now
23:53 cotto I ❤ Unicode.
23:53 Whiteknight but they are the only ones
23:53 bacek In ☭, ☢ and ☣ ☞☠
23:53 bacek mk_native_pbc...
23:59 bacek Whiteknight: t/compilers/pge/06-grammar failing on my box. But it always produce different results...

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

Parrot | source cross referenced