Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-13

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 dalek tracwiki: v4 | japhb++ | ModuleEcosystem
00:02 dalek tracwiki: Edits from post-email-thread #parrot chats
00:02 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Mod​uleEcosystem?version=4&action=diff
00:05 cotto I think that mysterious "Shane Warden" fellow may have to reveal himself. ;)
00:06 Psyche^ joined #parrot
00:08 TimToady I hear he's a colorful character...
00:09 cotto and he scales
00:12 dalek tracwiki: v5 | japhb++ | ModuleEcosystem
00:12 dalek tracwiki: Add an Overview section
00:12 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Mod​uleEcosystem?version=5&action=diff
00:12 japhb OK, I think I'm done with editing https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem for now.
00:19 cotto allison, if you're not going to be able to merge pcc_arg_unify RSN, could you add the corevm make target to trunk?  It'd be handy for what I'm doing (and I imagine it'd help other people too).
00:22 allison cotto: sure
00:22 cotto Thanks.
00:28 angoladon joined #parrot
01:01 dalek rakudo: 1e358a9 | pmichaud++ | docs/spectest-progress.csv:
01:01 dalek rakudo: "2009-08-12 00:00",a5dfe96,12303,0,535,2260,15098,17636,428
01:01 dalek rakudo: spectest-progress.csv update: 428 files, 12303 passing, 0 failing
01:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​e358a92dcdabf12d71d0773bd06e192067943cf
01:03 nperez joined #parrot
01:05 dalek TT #912 created by darbelo++: [PATHC] remove statement with no effect.
01:06 darbelo Oh crap, I can't believe I just misspelled PATCH.
01:29 darbelo cotto: ping
01:29 cotto darbelo, pong
01:30 darbelo I had a though today, about reduncing decnum-dynpmcs's dependendecies on perl. Particularly in the makefile.
01:31 darbelo We still need it as pmc2s is a perl script, but the best way I found was to reduce *parrot's* use of perl (well $(PERL) ) on makefiles.
01:32 darbelo I came up with this (wait for the nopaste).
01:33 nopaste "darbelo" at 200.49.154.172 pasted "less $(PERL) on Makefiles" (25 lines) at http://nopaste.snit.ch/17529
01:34 darbelo Is this kind of effort worth the trouble?
01:34 darbelo For parrot, I mean.
01:36 dalek parrot: r40505 | allison++ | trunk/t/op/sprintf.t:
01:36 dalek parrot: [cage] Remove dependency on PGE in a test file where it's never used.
01:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40505/
01:37 cotto darbelo, I don't think so.  We'll eventually need to to do something like that (and I don't think there's any harm in it now), but the main problem is converting existing Perl-based tools to PIR.
01:40 dalek parrot: r40506 | allison++ | trunk/t/pmc/key.t:
01:40 dalek parrot: [cage] Remove dependency on PGE in test file where it's never used.
01:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40506/
01:40 eternaleye joined #parrot
01:42 ttbot allison: Parrot trunk/ r40505 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/69354.txt
01:42 satrac joined #parrot
01:43 cotto msg whiteknight Take a look at tt #912.  The line that the ticket refers to comes from r40368.
01:43 purl Message for whiteknight stored.
01:45 darbelo cotto: Thanks, that's the main reason I was asking.
01:45 ttbot allison: Parrot trunk/ r40506 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/69371.txt
01:46 kid51 darbelo:  I am testing your patch right now, but, given cotto's message, I won't apply it until whiteknight takes a look at it
01:46 allison whatever ttbot is, the links are unloadable
01:47 kid51 allison:  I just got the 69354.txt one.
01:48 darbelo That looks suspiciously like a mis-paste or a typo to me. The line just before the one I removed frees interp->arena_base->attrib_pools. The alternative is to "interp->arena_base->attrib_pools = NULL;".
01:48 allison kid51: just hangs for me, never loads
01:48 darbelo But that requred more keystrokes ;)
01:50 nopaste "kid51" at 68.237.15.24 pasted "bot report 69354" (513 lines) at http://nopaste.snit.ch/17530
01:53 dukeleto joined #parrot
01:58 allison kid51: looks like a flag was added to a function without rerunning make headerizer
01:58 allison https://trac.parrot.org/pa​rrot/changeset/40504/trunk
01:59 satrac left #parrot
02:03 dalek parrot: r40507 | allison++ | trunk/include/parrot/oo.h:
02:03 dalek parrot: [cage] Rerunning header generation to fix build failure after r40504.
02:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40507/
02:17 Fr0stify_ joined #parrot
02:27 dalek parrot: r40508 | allison++ | trunk/t/op/io.t:
02:27 dalek parrot: [cage] Make pipe test actually test the string read from the pipe,
02:27 dalek parrot: instead of just running a pattern match on a constant string.
02:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40508/
02:37 dalek parrot: r40509 | allison++ | trunk (3 files):
02:37 dalek parrot: [cage] Move PGE regression tests out of core tests and into PGE tests.
02:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40509/
02:41 GeJ FYI As of r40508, make smoke PASSes every tests (+2 TODO) on FreeBSD amd64
02:42 janus joined #parrot
02:43 GeJ as of the 2 TODO, it looks like freebsd can be added in the list of the 'tt661_todo_test' sub in t/op/io.t.  (line 54 and following)
02:44 * kid51 must sleep
02:44 purl $kid51->sleep(8 * 3600);
02:46 dalek rakudo: 2befdd3 | pmichaud++ | src/ (2 files):
02:46 dalek rakudo: Move infix:<x> to setting.
02:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​befdd3874d6fe7f93ed1d9714b0dd2a52bad6f2
02:46 dalek rakudo: 4e906bc | pmichaud++ | :
02:46 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
02:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​e906bcfff861aa74665a690635c014764af3715
02:53 contingencyplan joined #parrot
02:57 dalek parrot: r40510 | allison++ | trunk/t/pmc/sub.t:
02:57 dalek parrot: [cage] Revising number of Sub PMC tests after deleting two.
02:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40510/
03:01 Psyche^ joined #parrot
03:05 quek joined #parrot
03:18 dalek parrot: r40511 | allison++ | trunk/t/pmc (2 files):
03:18 dalek parrot: [cage] Don't depend on PGE in core tests, use 'substr' instead of 'like'.
03:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40511/
03:20 tetragon joined #parrot
03:25 dalek parrot: r40512 | allison++ | trunk (2 files):
03:25 dalek parrot: [build] Alter 'coretest' target so it only builds and tests the core vm.
03:25 dalek parrot: Add a 'corevm' target as a subset of the 'all' target that only builds
03:25 dalek parrot: the core vm. The default build target is still 'all'.
03:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40512/
03:29 quek left #parrot
03:32 chromatic joined #parrot
03:38 mikehh I am FAILing t/pharness/01-default_tests.t - Failed tests:  9, 13, 23, 28 (post-config) at r40512
03:39 dukeleto joined #parrot
03:40 mikehh got '10' expected '3' in each case
03:43 mikehh plus some warnings Warning: Building a shared parrot library may conflict with your previously-installed /usr/local/lib/libparrot.so in pre-config tests and config
04:04 Coke eternaleye: thanks for the pointer, but that section (clone locally) is fully of things that I have no idea if I should cut and paste or if I should replace with other info.
04:04 dalek partcl: r578 | coke++ | trunk/ (17 files):
04:04 dalek partcl: - use 'get_bool' vtable instead of 'getBoolean' MMD.
04:05 dalek partcl:   - combine 3 different ways to check for boolean
04:05 dalek partcl:     (grammar, toBoolean, [string is]) into the grammar.
04:05 dalek partcl:   - bump PARROT_VERSION so we can do the vtable override.
04:05 dalek partcl:   - add tests for [string is boolean/true/false].
04:05 dalek partcl:   - collapse now very similar prefix:! variants.
04:05 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=578
04:05 Coke msg allison (always have the inferior loop problem) ... isn't that the sign of a fundamental design problem?
04:05 purl Message for allison stored.
04:05 allison Coke: no, it's a sign of the limitations of C
04:05 Psyche^ joined #parrot
04:06 allison Coke: but, C has advantages too, like a large number of libraries available to do various tasks
04:07 chromatic We could solve it with a different approach and still take advantage of C.
04:07 allison Coke: we elimination inferior runloop if we entirely eliminate ever loading or running C libraries
04:07 allison eliminate, I mean
04:08 allison if Parrot is embedded in C code, or loads C extensions, the problem is always there
04:08 Coke ok. well, for now, it's affecting more and more of partcl.
04:08 Coke (up to six tests that ABEND but pass)
04:08 allison the goal is to minimize the effects, push the boundary back as far as possible
04:08 PerlJam Wow ... I haven't seen anyone say "ABEND" in a long while.
04:09 allison Coke: what specific problem are you running into?
04:09 Coke allison: the same RT that's been open for years.
04:09 Coke I'll dig it up.
04:09 Coke to sum up: PIR (a) -> C -> PIR (b) ; b throws exception, a catches it, boom.
04:09 allison (there's a lot under the general category of inferior runloop, so this might just be a bug, rather than one of those universal constants)
04:10 Coke RT #57088
04:11 allison ah "attempt to access code outside of current code segment", got it
04:12 allison that is a bug
04:12 chromatic Slow core works, CGOTO core doesn't... but progress.
04:12 allison that is, it's perfectly possible to switch to the correct code segment before executing code in it
04:12 chromatic Hm, I wonder if we could include information about which packfile to switch to when catching an exception.
04:13 allison chromatic: the handler is a continuation, which is a sub, so it should know it's packfile
04:14 dalek partcl: r579 | coke++ | wiki/TestingPartcl.wiki:
04:14 dalek partcl: more tests failing due to RT #57088
04:14 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=579
04:14 dalek partcl: r580 | coke++ | wiki/ParrotIssues.wiki:
04:14 dalek partcl: more tests failing due to RT #57088
04:14 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=580
04:19 dalek partcl: r581 | coke++ | wiki/TestingPartcl.wiki:
04:19 dalek partcl: Fix typo, clarify what to expect.
04:19 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=581
04:22 dalek parrot: r40513 | mikehh++ | trunk/t/compilers/pge/regression.t:
04:22 dalek parrot: fixed svn properties for t/compilers/pge/regression.t
04:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40513/
04:36 dalek parrot: r40514 | mikehh++ | trunk/t/compilers/pge/regression.t:
04:36 dalek parrot: copyright up to date for t/compilers/pge/regression.t
04:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40514/
04:39 MinorToken joined #parrot
04:51 petdance joined #parrot
04:55 * Coke nukes git-svn from orbit. it's the only way to be sure.
04:57 mikehh post-config tests FAIL, All others (pre-config, smolder, nqp_test, fulltest) at r40514 - Ubuntu 9.04 amd64
04:58 Coke if only someone with a commit bit was awake to fix them! =-)
04:59 mikehh FAILing t/pharness/01-default_tests.t - Failed tests:  9, 13, 23, 28 (post-config) got '10' expected '3' in each case
04:59 mikehh coke : I am looking - trying to figgure it out
05:00 TiMBuS joined #parrot
05:01 dalek rakudo: 69eee0d | pmichaud++ | docs/release_guide.pod:
05:01 dalek rakudo: Add chromatic as December release manager.
05:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​9eee0d01659803bdf05986cc8e429aa9a10e004
05:02 nathanmccauley joined #parrot
05:03 cotto mikehh, good for you.  That's how you learn.
05:08 dukeleto joined #parrot
05:24 eternaleye Coke: If you want, I could try to walk you through it
05:26 eternaleye Coke: I'll do a nopaste that encloses everything you should change in {{ ... }}
05:26 eternaleye Coke: And annotates it with comments
05:27 eternaleye Coke: Better yet, I'll make a shell script
05:27 nopaste "GeJ" at 202.171.79.162 pasted "un-TODO 2 tests that pass fine on FreeBSD (both i386 and amd64)" (11 lines) at http://nopaste.snit.ch/17531
05:28 GeJ if anyone would like to review the patch.
05:29 GeJ http://smolder.plusthree.com/app/pu​blic_projects/report_details/26098 and http://smolder.plusthree.com/app/pu​blic_projects/report_details/26095 prove that the tests pass.
05:29 GeJ Just ran a make fulltest locally with the patch applied, and everything ran fine.
05:29 NotFound GeJ: I think it will be better to unTODO them completely.
05:32 GeJ As you wish. I probably can ask someone in @NetBSD.org for a quick run to get confirmation. I don't know anyone running OpenSolaris though. I just wanted to play on the safe side here and unTODO where I can prove it works.
05:35 NotFound GeJ: that is fine for the first attempts, but the list is getting too long.
05:38 nopaste "GeJ" at 202.171.79.162 pasted "As per NotFound's suggestion, unTODO the tests for everyone." (59 lines) at http://nopaste.snit.ch/17532
05:39 eternaleye Coke: see http://dpaste.com/79133/ (a script to do the git-svn cloning, asking you the appropriate questions)
05:42 dukeleto_ joined #parrot
05:43 GeJ NotFound: do you think that would do?
05:43 NotFound GeJ: looks good
05:50 GeJ Monday, new job. Regular hours. I give myself one month to get that CLA of mine approved.
05:50 GeJ Just so you know. Be prepared to get some patches to commit.
05:55 dukeleto_ GeJ: is that a threat ? ;)
05:56 GeJ that, it is! :)
05:59 GeJ I'm planning to resume my PerlToPIR conversion. Refactor Data::Dumper so it doesn't 'print' by default. use that to convert some more tests. And then I'll ask around what else I could do.
06:06 uniejo joined #parrot
06:08 tetragon joined #parrot
06:32 Coke eternaleye: thanks for putting that together. Any chance you could add some comments at the bottom indicating the workflow?
06:32 Coke (e.g. can I now dcommit from the clone of the clone?)
06:33 Coke (or just push from there, and then dcommit from the primary clone?)
06:33 eternaleye Coke: The result is identical to the original git-svn repo, and interacts directly with SVN
06:33 Coke eternaleye: then what is the point of having it be a clone?
06:33 eternaleye dcommit
06:33 eternaleye NOT push->dcommit
06:33 Coke how is tht different from just doing "git svn clone" 2x?
06:34 eternaleye Coke: Using the more efficiant git:// protocol for the clone? Not hammering the SVN server?
06:34 eternaleye *efficient
06:34 Coke but from a /local/ perspective, no different?
06:34 eternaleye It's much faster, for one
06:34 eternaleye Coke: Correct
06:35 Coke ... ok. that's entirely not what I was trying to do. =-)
06:35 NotFound The LexPad PMC has a PMC attribute but it hasn't a custom mark. Is this correct?
06:36 eternaleye Coke: You could also try using a --bare repo for the concentrator, and use 'git --bare /foo/repo svn dcommit' - that avoids the 'push/working copy' problem
06:37 eternaleye Coke: But I don't know hoe git-svn interacts with bare repos
06:37 eternaleye *how
06:37 Coke at this point, I'm just giving up and having a single git-svn repo that I work directly out of (one per platform). If I have to work on 2 platforms, I'm just going to hope that I don't have to share between the two.
06:37 eternaleye laaaaaag
06:38 Coke (and if I do, I can probably do it on an svn branch)
06:38 Coke thank you very much for trying to help out.
06:38 Coke zzz
06:40 mokurai left #parrot
06:42 mberends joined #parrot
06:48 bacek_at_work "Patrick R. Michaud's birthday Today" (c) Facebook :)
06:48 bacek_at_work pmichaud: happy birthday :)
06:49 cotto pmichaud, happy birthday!
06:50 mikehh pmichaud: many happies also
06:50 mikehh ok I think I figured that test out
07:10 dalek parrot: r40515 | mikehh++ | trunk/t/pharness/01-default_tests.t:
07:10 dalek parrot: fix t/pharness/01-default_tests.t to reflect changes in Parrot::Harness::DefaultTests
07:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40515/
07:17 chromatic joined #parrot
07:32 mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40515 - Ubuntu 9.04 amd64
07:49 mikehh rakudo (69eee0d) builds on parrot r40515 - make test/make spectest (up to 27976) PASS - Ubuntu 9.04 amd64
07:53 dukeleto joined #parrot
07:56 szabgab joined #parrot
08:06 mikehh well I managed to get partcl to build and make test comes up with FAIL but seems to pass the tests
08:07 dukeleto mikehh: interesting
08:10 dukeleto https://trac.parrot.org/parrot/report/19 is b0rked
08:15 mikehh 6 test files out of 74 come up with FAIL but all display the error message - attempt to access code outside of current code segment and have exit code 1
08:16 mikehh for example t/cmd_while.t .................. 1/6 attempt to access code outside of current code segment
08:17 mikehh t/cmd_while.t .................. Dubious, test returned 1 (wstat 256, 0x100)
08:17 mikehh All 6 subtests passed
08:21 dukeleto sounds bad
08:21 dukeleto what language are *.ops files written in?
08:22 eternaleye dukeleto: C with some sugar
08:22 eternaleye ops2c turns them into straight C
08:22 dukeleto eternaleye: good to know, thanks
08:23 eternaleye mikehh: ISTR that Coke was talking about having that problem earlier, so it may be a known issue
08:23 dukeleto eternaleye: how does multimethod dispatch work with ops?
08:24 eternaleye <Coke> ok. well, for now, it's affecting more and more of partcl.
08:24 eternaleye <Coke> (up to six tests that ABEND but pass)
08:24 eternaleye <Coke> ok. well, for now, it's affecting more and more of partcl.
08:24 eternaleye <Coke> (up to six tests that ABEND but pass)
08:24 dukeleto can I define an op with two different function signatures, or is there some other magic that I need to do? I guess I should read some other *.ops files
08:24 eternaleye gahh, lag
08:24 eternaleye mikehh: ^^^^\
08:26 mikehh I think I saw that - but anyway I can now include partcl in my testing
08:27 dukeleto eternaleye: i answered my question about mmd, it seems to work as I thought it would
08:28 eternaleye dukeleto: Cool, I'll remember that (I didn't know either, I've never seen them - the only reason I could answer the previous question was that I lurk here a lot, read all the blogs, and backlog aggressively)
08:28 bacek joined #parrot
08:29 cotto dukeleto, there are lots of functions like that.
08:29 mikehh got some other things to sort out - afk for a bit
08:29 dukeleto cotto: i don't immediately see ops that "return", only ones that modify the input variables ($1,$2, etc...)
08:30 dukeleto cotto: I am trying to implement the rand op in https://trac.parrot.org/parrot/ticket/871
08:30 cotto Yeah.  Ops don't really return, they just mess with the control flow.
08:31 cotto use something like "inline op abs(out NUM)" and put the value into $1
08:32 cotto s/abs/rand/ (but now you know where to look ;)
08:32 dukeleto cotto: yeah, I was looking at the math ops for inspiration
08:32 dukeleto so I will attempt to implement the syntax "rand $N0, $N1" where $N0 gets a random value between 0 and $N1
08:33 cotto I'd implement a version that does 0..1, 0..$1 and $1..$2, but it's a pretty simple change.
08:33 cotto s/a version/versions/
08:33 cotto s/does/do/
08:34 bacek o hai.
08:34 cotto just write functions with the same names and different args and ops2c will dtrt
08:34 dukeleto cotto: cool
08:34 dukeleto bacek: 'ello
08:35 bacek cotto: you forgot about ops.num
08:35 bacek dukeleto: elho
08:35 cotto I think it'll be a dynop, so ops.num won't matter
08:35 bacek cotto: ah. ok.
08:35 dukeleto yeah, I am implementing rand as a dynop
08:36 bacek dukeleto: than ops2c will dtrt
08:37 dukeleto bacek: is ops2c documented anywhere?
08:37 dukeleto i run ops2c on my .ops file and then what? or do I add my new *.ops file to some other list of dynops ?
08:38 bacek dukeleto: sorry. No idea...
08:38 cotto My strategy would involve copypasting from the part of the makefile template that builds the current dynops.
08:40 cotto config/gen/makefiles/dynoplibs.in
08:40 dukeleto got it
08:41 dukeleto wow, there is a lot going on in there
08:41 cotto that's why I'd copypaste
08:43 HG` joined #parrot
08:43 dukeleto cotto: cargo-culting in progress
08:46 cotto I love that expression.
08:46 masak joined #parrot
08:46 dukeleto any suggestions for what kind of simple RNG to use at first?
08:47 cotto Isn't there a built-in function for that that's already part of Parrot's API?
08:47 dukeleto cotto: that would make life a bunch easier. I thought I had to write one
08:48 cotto Nope.  Just use what src/pmc/random.pmc uses.
08:48 cotto sorry to disappoint
08:49 cotto We don't have an API for getting random bits from the system.
08:49 dukeleto Parrot_float_rand looks useful
08:50 cotto useful and delicious
08:51 cotto nothing hits the spot like a couple K of random data
08:52 dalek parrot: r40516 | NotFound++ | branches/auto_attrs/src/pmc/lexpad.pmc:
08:52 dalek parrot: set auto_attrs on LexPad PMC
08:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40516/
08:54 dukeleto mmmmmmmm, entropy
08:56 dukeleto what is the difference between in and invar in an op signature?
08:56 dukeleto inline op setattribute(invar PMC, in STR, invar PMC) :object_classes {
09:00 cotto lemme dig for a minute
09:01 cotto in passes a value, invar passes a variable
09:02 dukeleto interesting
09:02 dukeleto how do I regenerate just the src/dynoplibs/Makefile ?
09:03 cotto rerun Perl Configure.pl
09:04 cotto I think there's a way to be more fine-grained, but I don't remember it.
09:04 dukeleto that works, thanks
09:05 dukeleto i am getting close to seeing if this works
09:06 dukeleto it compiled and loaded!
09:07 dukeleto now for some real tests
09:07 cotto good night and happy testing
09:09 dukeleto sweet
09:09 dukeleto cotto: thanks a bunch!
09:21 muixirt joined #parrot
09:22 muixirt hi
09:22 purl hey, muixirt.
09:32 dalek parrot: r40517 | NotFound++ | branches/auto_attrs/src/pmc/codestring.pmc:
09:32 dalek parrot: set auto_attrs on CodeString PMC
09:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40517/
09:44 dukeleto 'ello
09:44 * dukeleto is about to commit-and-pass-out
09:48 donaldh joined #parrot
09:48 Whiteknight joined #parrot
09:51 ComLock joined #parrot
10:00 Psyche^ joined #parrot
10:02 dalek parrot: r40518 | dukeleto++ | trunk (4 files):
10:02 dalek parrot: [TT #871] Add rand as a dynop, with tests
10:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40518/
10:04 bacek dukeleto: "with tests"??? What 'bout blackjack and hookers???
10:05 dukeleto bacek: saving that for tomorrow ;)
10:05 bacek it's almost tomorrow here!
10:06 dukeleto it is 3am here and I am waaaaay past bedtime
10:06 dukeleto see you on the flip side
10:06 dukeleto it was really easy to add a dynop to parrot. that fucking rocks
10:18 dalek TT #912 closed by whiteknight++: remove statement with no effect
10:19 NotFound Whiteknight: 10-15% faster? That's wonderful :)
10:19 dalek parrot: r40519 | whiteknight++ | trunk/src/gc/api.c:
10:19 dalek parrot: [tt #912] fix a meaningless statement that should have set  pointer to NULL. darbelo++ and kid51++ for finding it
10:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40519/
10:20 Whiteknight those are just the quick'n'dirty benchmarks I got from Infinoid
10:20 Whiteknight only affects some tests, others showed no improvement
10:20 NotFound Nice enough
10:33 dalek parrot: r40520 | NotFound++ | branches/auto_attrs/src/dynpmc/dynlexpad.pmc:
10:33 dalek parrot: set auto_attrs on DynLexPad PMC
10:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40520/
10:36 rdice joined #parrot
10:44 Patterner joined #parrot
10:53 jonathan Anybody know what writes MANIFEST.generated?
10:55 jonathan oh, it's not generated per install
10:59 mikehh_ joined #parrot
11:12 payload joined #parrot
11:14 dalek parrot: r40521 | jonathan++ | trunk (2 files):
11:14 dalek parrot: [config][install] A couple of fixes to make installed Parrot work out better for Win32 and MSVC++. With this plus some tweaks in Rakudo, Rakudo now builds on an installable Parrot on this platform.
11:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40521/
11:22 donaldh joined #parrot
11:32 dalek parrot: r40522 | NotFound++ | branches/auto_attrs (83 files):
11:32 dalek parrot: merge from trunk r40521
11:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40522/
11:34 dalek rakudo: 75293d3 | jnthn++ | build/PARROT_REVISION:
11:34 dalek rakudo: Bump us up to latest Parrot revision to get Win32/MSVC++ install related fixes.
11:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​5293d3db44760020681bf04e754f475044e8eaf
11:34 dalek rakudo: 0d4fe08 | jnthn++ |  (2 files):
11:35 dalek rakudo: A copule of tweaks to get Rakudo building on MS VC++ and Win32 again after the ins2 branch merge. I'm hopeful that this will not break things too much for @other.
11:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​d4fe08d2e6f249211a33a8f9b122599fadbe862
11:53 whiteknight joined #parrot
12:02 ruoso joined #parrot
12:04 cotto joined #parrot
12:13 jsut joined #parrot
12:45 dalek tracwiki: v31 | kjs++ | PIRCDevelopment
12:45 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=31&amp;action=diff
12:48 dalek tracwiki: v32 | kjs++ | PIRCDevelopment
12:48 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=32&amp;action=diff
12:54 * Coke finds that he's inadvertently broken 'make spectest' for partcl.
12:54 Coke (even though make test is still ``working'')
12:55 Coke dukeleto++
12:57 dalek parrot: r40523 | fperrad++ | trunk/lib/Parrot/Docs/Section/Parrot.pm:
12:57 dalek parrot: [doc] add PCT book
12:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40523/
12:57 uniejo_ joined #parrot
13:01 dalek parrot: r40524 | fperrad++ | trunk/docs/book/pct (2 files):
13:01 dalek parrot: [doc] typo
13:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40524/
13:12 kj joined #parrot
13:35 payload joined #parrot
13:39 JimmyZ joined #parrot
13:51 Coke IWBNI if I could tell -t4 "don't bother if you're not in my HLL
13:52 Coke (I don't need to be tracing TGE and PGE)
13:57 Coke AIGH. took 5 minutes with -t4 to tell me I had a bug in my program and I didn't get the output I wanted . =-)
14:02 pyrimidine joined #parrot
14:10 ash_ joined #parrot
14:12 mikehh Coke: I tried to run make spectest in partcl and it seemed to do nothing except print messages about Method whateever not found for invocant of class 'Sub' and skippiong tests
14:16 Coke RT@: /me finds that he's inadvertently broken 'make spectest' for partcl.
14:16 Coke danke.
14:18 mikehh makr test got the same errors you reported earlier - exit 1 for 6 test files but "passes tests"
14:18 mikehh make
14:19 mikehh did make spectest work before?
14:23 Coke at some point.
14:23 moritz at some point after 1.0?
14:24 Coke it's probably not broken due to parrot.
14:24 Coke yes. See docs/*progress* for the last good run.
14:24 Coke it takes hours to run, so I don't run it every time I change something.
14:25 Coke probably broken when I converted the MMD "toList" into individual methods on PMCs. (it takes something like "foo bar" and turns it into a 2 element array)
14:25 Coke no clue why it's trying to invoke that on a Sub.
14:27 mikehh looks like it ran at r40228
14:29 Psyche^ joined #parrot
14:29 Coke again, it's not a parrot bug.
14:30 Coke at least, it's very likely not.
14:35 treed git bisect?
14:35 purl git bisect is hot
14:35 whoppix joined #parrot
14:46 pmichaud muixirt: the theory was that compilers could potentially optimize certain codepaths to use the integer and string registers instead of taking everything through PMCs
14:46 hercynium joined #parrot
14:47 pmichaud oops
14:47 pmichaud sorry, was in backscroll and didn't realize it
14:47 pmichaud (nm)
14:47 muixirt np
14:49 szabgab joined #parrot
14:55 muixirt pmichaud, while we are at it, is it possible with pct-based system to make such optimizations at runtime, for the dynamic parts of a program?
15:05 Coke treed; if only partcl was hosted in git!
15:05 Coke (oh wait, I can use that if I have git-svn, I bet.)
15:06 dalek parrot: r40525 | mikehh++ | trunk (2 files):
15:06 dalek parrot: fix svn properties on src/dynoplibs/math.ops and t/dynoplibs.math.t
15:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40525/
15:07 Psyche^ joined #parrot
15:10 treed Coke: You can even give it a script to use to automate the search.
15:10 treed It'll assume that returning 0 means good, non-zero means bad.
15:10 treed (I think; might be the other way around.)
15:11 treed Is there any support in Parrot for private/protected methods?
15:12 mikehh is there any way to set properties on added files for those using git svn?
15:12 * moritz wonders if a server side hook could automatically set those
15:12 moritz just apply the same rules as the test files use
15:13 JimmyZ p6l?
15:13 purl somebody said p6l was often funny. or the perl6-language mailing list
15:17 mikehh t/distro/file_metadata.t
15:17 purl t/distro/file_metadata.t is sad
15:20 donaldh joined #parrot
15:27 dalek close: r96 | Austin++ | trunk/ (25 files):
15:27 dalek close: Got type-resolution problem with builtins resolved (0 messages\!)
15:27 dalek close: review: http://code.google.com/p/close/source/detail?r=96
15:28 pmichaud muixirt: I don't know what all will be possible there.  Currently the biggest stumbling block is that lexicals can only be PMCs, not int/string/num
15:29 muixirt pmichaud, ok thanks
15:32 mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40525 - Ubuntu 9.04 amd64
15:44 nathanmccauley joined #parrot
15:49 mikehh rakudo (0d4fe08) builds on parrot r40525 - make test/make spectest (up to 27980) PASS - Ubuntu 9.04 amd64
15:54 dukeleto mikehh++
15:56 nperez left #parrot
16:13 Coke tim bunce?
16:13 Coke bunce?
16:18 pyrimidine joined #parrot
16:18 pyrimidine_ joined #parrot
16:38 bacek joined #parrot
16:46 mokurai joined #parrot
16:48 mikehh there seem to be problems with packfile on i386 - tests failing with failed assertion '(INTVAL)hash->key_type == k_type'
16:48 mikehh just looking at smolder - I am not on i386 at the moment
16:55 mikehh actually they all seem to have been submitted by smoke@smoke
17:07 Coke are those the i686 failures?
17:07 Coke (where one thing was reporting i686 and the other 386, on the same smoke.)
17:13 chromatic joined #parrot
17:16 mikehh Coke: 1.4.0, Perl 5.8.8 i686-linux, cc (gcc 4.1), i386, linux
17:18 mikehh there are no other linux i386 reports available on smolder at the moment (81 failures all packfile tests)
17:20 mikehh all the failures were submitted by smoke@smoke
17:21 mikehh and we are still getting smolder reports on parrot 0.9
17:23 chromatic Are those 0.9 smolder reports using the svn.perl.org repo?
17:24 mikehh my last smolder on i386 was yesterday at r40493 when everything PASSed
17:26 mikehh chromatic: looking - smolder is very slow for me
17:27 Coke mikehh: those smokes are covered in the open TT
17:27 Coke search tickets for packfile.
17:27 Coke we need to find out whose machine that is with a 686 perl and a 386 os.
17:27 Coke but it's not surpring that would fail, given how we rely on perl's config.
17:35 NotFound smoke sent by me now
17:36 mikehh Coke: it just reports the perl build by the distro and gcc - so i686 just means that the compiler was built to run i686  not earlier versions
17:36 mikehh for example I think Ubuntu 9.04 i386 reports i486
17:37 allison joined #parrot
17:44 mikehh I once went and built gcc for i686 - I think it was on Ubuntu 8.10 i386 - it took over a day - I haven't tried since
17:44 Coke mikehh: yes. so when we pull information from the perl built for 686 to run it on a 386, we're probably getting invalid sizes for some things that are screwing up the packfiles
17:45 NotFound I don't think any type in gcc changes size between i386 and i686 settings.
17:46 mikehh Coke: no - it don't work like that - it just means that the compiler will generate code that can run on earlier versions - you would only have problemsd if you tried to run on a 486 for example
17:47 l3t0 mornin'
17:48 mikehh if you built on a 486 with a compiler for i686 it wouldn't run
17:48 Coke mikehh: are you aware of what our Configure.pl does with the perl that's used to invoke it?
17:48 mikehh more or less
17:48 purl thereabouts
17:49 mikehh perl is supposed to be crosas-platform
17:49 Coke ok. I'm not saying things aren't going to compile. I'm saying that parrot is probing the perl built for/on 686 for information, and using that when configuring itself.
17:49 mikehh cross
17:50 mikehh sure but it has to be running on at least an i686 to be running if it says so
17:51 Coke I'm just saying it's a potential incompatibility.
17:54 NotFound I think Configure doesn't set gcc platform flags, just use anything gcc has as default.
17:55 einstein joined #parrot
17:55 NotFound But meybe is just because perl was built also without that options.
17:55 mikehh there are quite a few potential incompatabilities all the way through parrot integer, long, long long, double etyc.)
17:56 einstein I added a patch to ticket #549 to kill the unionval from the pmc struct
17:58 mikehh the most recent smolder report submitted from linux i386 - PASSes (5.10.0 i486-linux-gnu-thread-multi) - same as I run on i386
18:03 NotFound mikehh: that's mine
18:09 allison I don't know how advanced this is, but the git users might find this interesting oreilly.com/go/gitinanhour (free)
18:12 NotFound allison: Have you seen my last report on TT #895 ?
18:12 allison NotFound: looking...
18:13 Coke mikehh: the recent partcl spectest failurs are because the foreach command is getting passed in Sub objects, and is then trying to convert them to lists. Why it's getting a sub object, Iunno. (if I catch the exception and just set the list to [], I seem to be able to run the test again.
18:13 bacek joined #parrot
18:13 Coke But I have no idea why it's getting Sub objects where it wasn't before.
18:13 ash_ left #parrot
18:13 Coke Allison - was there a change recent in the PIR compiler?
18:14 Coke "recently". ISTR seeing something about having it not return an Eval but just a Sub, but I don't know if that happened.
18:15 allison Coke: that hasn't been changed, but it was mentioned in one of the deprecation tickets
18:15 * allison digging...
18:15 Coke k.
18:15 allison https://trac.parrot.org/parrot/ticket/448
18:16 Andy joined #parrot
18:17 Coke so in [foreach varname list body], somehow "list" is a sub here. will have to bisect partcl to see when that happene.
18:17 allison Coke: that is odd
18:17 Coke Since I don't have tcl's stacktraces working yet, it's harder to setup the test case than it should be. :|
18:20 allison NotFound: I'm assuming the "#if 0" sections of the code are going away?
18:20 NotFound allison: they're here just to be able to benchmark the impact of the fixed size allocator.
18:23 brooksbp joined #parrot
18:28 allison NotFound: if SUPER() is the only thing a vtable function does, you can just delete the VTABLE definition
18:28 allison (ResizableIntegerArray)
18:28 allison since not defining a vtable function with that name will call the one inherited from the parent anyway
18:30 Coke huh. bisect shows that partcl's https://partcl.googlecode.com/svn/trunk@578  is to blame.
18:31 allison NotFound: (let me know if I should bundle comments into an email)
18:31 Coke er, http://code.google.com/p/p​artcl/source/detail?r=578
18:31 allison NotFound: how does auto_attrs handle freeing children of the 'data' struct?
18:33 allison NotFound: in the Exception PMC, I see the 'destroy' vtable function handled freeing a context stored as 'thrower' (the context where the exception was thrown)
18:33 NotFound allison: it just take care of the attribute struct, attributes that needs special freeing are the responsability og his PMC
18:34 allison NotFound: okay, so that destroy vtable function can't be deleted
18:34 allison NotFound: will the auto_attrs automatic destruction come after the 'destroy' vtable function is called?
18:34 NotFound allison: In one case deleting the destroy function caused problems, I still don't know why.
18:35 NotFound allison: yes, the gc routines free it after calling destroy.
18:35 nopaste "allison" at 98.173.65.159 pasted "Exception 'destroy' vtable function" (8 lines) at http://nopaste.snit.ch/17537
18:36 allison just pasted the specific one I'm looking at
18:36 allison so, you can get rid of the single line "mem_sys_free(core_struct);", but you have to keep the rest of the destroy vtable function
18:36 Coke allison: you indicated yesterday that the runloop problem I had was fixable. Any idea how? =-)
18:37 allison Coke: it involves tracking down where that particular piece of code is being invoked, and why it isn't switching to the right code segment
18:38 NotFound allison: mmm.. maybe I wasn't being as careful as I thinked
18:38 allison it was an exception handler?
18:38 joeri joined #parrot
18:41 bacek joined #parrot
18:43 allison NotFound: I think you need the "do nothing" vtable implementation  in default.pmc too, so most PMCs will silently do nothing if they don't define 'destroy' instead of throwing an exception
18:43 ash_ joined #parrot
18:43 contingencyplan joined #parrot
18:43 hercynium joined #parrot
18:44 NotFound allison: yes, I think that can help to relax a bit the handling of the destroy flag.
18:45 allison NotFound: (a quick search shows every other destroy deleted was simply freeing the data struct, or else correctly kept the destruction of individual attributes)
18:47 l3t0 allison: i implemented the rand() dynop, but it modifies it's first argument instead of returning it, since all ops seemed to work that way. cotto helped me a bunch
18:47 NotFound allison: I'm fixing Exception now.
18:48 allison l3t0: yes, the parameter marked as OUT is the result
18:49 allison l3t0: great work
18:49 l3t0 allison: the trac ticket uses the "$N1 = rand $N0" syntax, so I wanted to ask
18:50 allison l3t0: the opcode "rand N1, N0" translates to $N1 = $N0" in PIR
18:50 allison "$N1 = rand $N0"
18:50 allison l3t0: it's just syntactic sugar in the PIR parser, not real assignment
18:52 l3t0 allison: thanks, good to know. i will have to test that then. I wrote tests in PIR but I used the "modifying argument" calling convention
18:55 dalek parrot: r40526 | NotFound++ | branches/auto_attrs/src/pmc/exception.pmc:
18:55 dalek parrot: restoring destroy on Exception PMC, allison++
18:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40526/
18:55 l3t0 allison: is https://trac.parrot.org/parrot/ticket/871 closable? I didn't implement srand, is that desirable ?
18:57 payload joined #parrot
18:57 l3t0 allison: I see that there is a Parrot_srand and a _srand48 in utils.c, so it should be trivial
18:57 Coke l3t0: (srand) yes please.
18:57 l3t0 Coke: ye shall get it then
18:57 allison l3t0: I was going to say "only if someone needs it", so there's your answer :)
18:58 l3t0 i think I didn't add srand last night because I couldn't immediately think of how to test it :)
18:58 * Coke hurls http://www.tcl.tk/man/tcl8​.5/TclCmd/mathfunc.htm#M33
18:59 Coke l3t0: by setting the seed, getting a number, setting the seed to something else, getting a number, then setting it to the original seed and verifying that 1&3 are the same #.
18:59 Coke (need) http://www.tcl.tk/man/tcl8​.5/TclCmd/mathfunc.htm#M33
19:00 Coke tcl defines the seed as being per-interpreter. I wonder if Parrot_srand supports that.
19:00 MoC joined #parrot
19:01 cotto hello
19:09 allison NotFound: is the attr_size struct element first or last in the generated struct?
19:09 iblechbot joined #parrot
19:10 NotFound allison: the last, after the vtable function pointers
19:10 NotFound Just in case someone is depending on the current layout
19:12 allison NotFound: makes sense
19:12 brooksbp joined #parrot
19:14 allison NotFound: the last thing I'd change deleting those unnecessary init vtable functions: ResizableIntegerArray, ResizableFloatArray, ResizableStringArray
19:14 NotFound allison: I'm looking at tha
19:14 NotFound t
19:14 allison NotFound: overall it's a good branch, happy to have it applied after the 1.5 release
19:15 NotFound Good :)
19:16 whiteknight Anybody else see the new patch on TT #549? Quite impressive
19:16 whiteknight probably worth some serious discussion since it's a major change to the PMC structure
19:17 NotFound whiteknight: I took a quick look, looks good but maybe too much changes in one shot
19:17 whiteknight NotFound: yeah, I had that thought too. I'm thinking about creating a branch to test it out and put it through the paces
19:18 NotFound And I don't like the macro renaming
19:18 whiteknight well, that's just a preference thing. wouldn't take any effort to un-rename them
19:18 NotFound A prefix like 'Buffer' is too generic
19:18 payload joined #parrot
19:18 whiteknight We do have a data stucture called "Buffer"
19:19 NotFound Macros are much more prone to conflicts than struct names.
19:20 whiteknight true, but we should make a distinction if PMCs aren't any longer isomorphic with PObjs
19:20 whiteknight so we shouldn't be using PObj_* macros on them
19:20 donaldh joined #parrot
19:20 NotFound Agreed
19:20 whiteknight either way, regardless of the cosmetic issues, it's a very good patch
19:21 NotFound Getting rid of the ext will be good.
19:24 eternaleye joined #parrot
19:42 eternaleye_ joined #parrot
19:45 AndyA joined #parrot
19:52 l3t0 cotto: re: rand in tcl, i am not sure if Parrot_rand is random or quasi-random, but we will find out. the parrot spec should clarify which is wanted, or perhaps have both, like rand() and qrand()
19:53 cotto l3t0, I remember looking into it and it's a prng.  It doesn't get entropy from the underlying system.
19:54 cotto We should have some part of the API for that.
19:55 l3t0 cotto: the comments in the source say that it will use system entropy when that is possible, which will make it into an RNG, not a PRNG . so yes, currently it is PRNG, but it should be clarified
19:56 cotto Hmm.  I must have missed those comments.
20:01 Coke allison: did you see the recent article about folks trying to come up with a unified RobotOS so they didn't have to keep reinventing the wheel?
20:02 darbelo joined #parrot
20:03 l3t0 cotto: there is a comment in src/string/api.c that refers to https://trac.parrot.org/parrot/ticket/64
20:04 allison I did, it looked fascinating
20:04 allison (that was for Coke)
20:06 cotto I think that's my comment.
20:12 NotFound Coke: reinventing the jam?
20:17 eternaleye joined #parrot
20:18 dalek parrot: r40527 | allison++ | trunk/ports/fedora (2 files):
20:18 dalek parrot: [fedora] 1.4 packaging files.
20:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40527/
20:18 dalek parrot: r40528 | NotFound++ | branches/auto_attrs/src/pmc (3 files):
20:18 dalek parrot: drop unneeded init functions in resizable arrays PMCs
20:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40528/
20:21 ash_ do you guys mean the robotos.org project?  for my senior design project we are doing a robotics project, we tried that but it was um.... not very good....
20:42 chromatic CGP core now passes tests....
21:02 payload joined #parrot
21:03 GeJ Good morning everyone
21:09 Whiteknight joined #parrot
21:14 japhb joined #parrot
21:20 joeri left #parrot
21:31 Psyche^ joined #parrot
21:32 allison joined #parrot
21:34 chromatic INCOMING!
21:34 purl well, incoming is https://pause.perl.org/incoming/
21:37 dalek parrot: r40529 | chromatic++ | branches/pluggable_runcore (20 files):
21:37 dalek parrot: Refactored runcore handling to improve encapsulation.
21:37 dalek parrot: Added new Parrot_runcore_t struct and Parrot_runcore_register() function with
21:37 dalek parrot: their supporting accoutrements.
21:37 dalek parrot: Added Parrot_runcore_register() to register new runcores.
21:37 dalek parrot: Added Parrot_runcore_t parameter to all runcore functions.
21:37 dalek parrot: Moved runops functions to src/runcore/cores.c.
21:37 dalek parrot: Used runcore names in embedding functions.
21:37 dalek parrot: Added Parrot_runcore_switch() function to switch runcores.
21:37 dalek parrot: Changed Parrot_set_run_core() to use Parrot_runcore_switch().
21:37 dalek parrot: Modified IMCC to use Parrot_set_run_core() and RUNCORE flags, rather than
21:37 dalek parrot: poking in runcores directly.
21:37 dalek parrot: Fixed PCC to switch runcores appropriately.
21:37 dalek parrot: Fixed run_sub() to use new runcore switching code.
21:37 dalek parrot: Fixed the runcore switch in Parrot_set_flag() to use Parrot_runcore_switch().
21:37 dalek parrot: Fixed most of t/run/options.t to run with new runcore changes.  In particular,
21:37 dalek parrot: the trace runcore no longer enables CGP and JIT, if you have them.
21:37 dalek parrot: Fixed coding standards violations.
21:37 dalek parrot: Reheaderized code.
21:38 dalek parrot: Made all runops functions static.
21:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40529/
21:40 jonathan wow!
21:40 jonathan chromatic++
21:41 szbalint chromatic++ # needs more karma for this one
21:42 * whoppix is still looking through the diffs
21:42 Whiteknight that is quite the commit
21:43 chromatic All tests pass.
21:43 purl Time to write more tests!
21:43 Whiteknight chromatic: you see the patch for TT #549?
21:44 chromatic I read the description but I didn't read it yet.
21:47 Whiteknight it's a huge patch. I'll probably create a branch for it to give it some exercise
21:47 chromatic It'd be easier to review in separate chunks.
21:47 chromatic Yes, my irony detector works today.  Stop looking at me that way.
21:51 Whiteknight yeah, separate chunks would be nice. It would take more effort to cleanly partition the patch at this point then we would save from just reviewing it wholesale
21:52 chromatic That depends how he made the patch.
21:53 Whiteknight I just assume he made it "the bad way"
21:53 mokurai joined #parrot
21:54 dalek parrot: r40530 | whiteknight++ | branches/pmc_sans_unionval:
21:54 dalek parrot: creating a branch to test the huge patch from TT #549
21:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40530/
22:00 Whiteknight is there any good automated way to uninstall an installed Parrot, or do I have to go rooting around through my drive and delete it manually?
22:01 cotto Whiteknight, there's no uninstall.
22:01 Whiteknight yeah, I figured
22:02 darbelo If it's any help, the parrot istall stays inside of whatever '--prefix' you gave to Configure.pl (defaults to /usr/local IIRC)
22:08 dalek parrot: r40531 | whiteknight++ | branches/pmc_sans_unionval (30 files):
22:08 dalek parrot: [pmc_sans_unionval] apply the patch from jessvdam++ in TT #549. Does not build.
22:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40531/
22:09 cotto chromatic, the profiling runcore isn't active with the -p flag after that commit.
22:09 cotto s/active/activated/
22:10 mokurai joined #parrot
22:13 chromatic That should be easy to fix.
22:13 chromatic Nothing registers a profiling core, yet.
22:19 cotto any gotchas I should watch out for?
22:20 chromatic You should be able to copy the behavior of the slow core and switch your function pointers appropriately.
22:21 chromatic I left a couple of places for custom behavior.
22:21 chromatic You can define your own struct, as long as the first elements are isomorphic.  If you need to store additional data for profiling, extend Parrot_runcore_t.
22:21 chromatic If you need to do once-per-profile initialization, you can swap the function pointer in the profiling runcore after you've done initial setup.
22:23 chromatic Start by setting the runops function pointer to something like initialize_profiling_runcore.  In that function, do your initialization (open filehandles, etc), then swap that pointer to runops_profiling_core (but don't forget to tailcall that function).
22:23 chromatic If you have trouble, let me know.
22:23 chromatic I need to write docs.
22:24 chromatic I think it should be a lot cleaner and more approachable now though.
22:24 cotto It doesn't look bad from where I'm sitting.
22:25 cotto Nice work.
22:25 chromatic More work than I thought.
22:26 chromatic Still a couple of grotty parts related to PIC and prederefs, but it's cleaner.
22:29 cotto It'll be nice to to separate out the initialization and finalization.
22:29 chromatic That was one of my primary goals, especially for the profiling and debugging cores.
22:33 Whiteknight PIC is still supposed to be coming out anyway, right?
22:33 chromatic cotto, http://www.mail-archive.com/enlightenment-​devel@lists.sourceforge.net/msg19458.html
22:33 chromatic If anyone can figure out how to remove it, yes.
22:34 treed Do any languages on Parrot do public/protected/private methods yet?
22:35 cotto chromatic, I suspected there'd be something like that.  I think the best solution is to add an abstraction layer around the timing code so that we don't need #ifdefs to use windows performance counters.
22:35 cotto but that can wait for now
22:35 moritz I'm not seeing any content on http://www.oreillynet.com/onlamp/​blog/2005/09/dtrace_and_perl.html - should I?
22:36 chromatic moritz, http://blogs.sun.com/alanbur/entry/dtrace_and_perl
22:36 cotto Thanks for finding that.
22:37 kid51 joined #parrot
22:37 chromatic GeJ found it.
22:38 cotto GeJ++
22:38 rg joined #parrot
22:39 cotto chromatic, is there an option to make Parrot say which runcores are available?
22:40 chromatic Not currently.
22:40 chromatic We could walk through interp->runcores and print each ->name though.
22:42 cotto yeah.  It'd be pretty easy now.
22:43 GeJ running make smoke on pluggable_runcore.
22:43 GeJ I fixed the build based on the enlightenement patch.
22:43 GeJ Will see how it goes.
22:45 cotto chromatic, I also thought that the runcore init function would be enough to make "./parrot --runcore profiling" work.  Is there any reason (other than expediency) that it doesn't?
22:45 nopaste "GeJ" at 202.171.79.162 pasted "WORKSFORME: Fix the build for pluggable_runcore branch on FreeBSD 7.x i386" (32 lines) at http://nopaste.snit.ch/17545
22:46 dalek decnum-dynpmcs: r167 | darbelo++ | trunk/cfg/src/pmc/Makefile.in:
22:46 dalek decnum-dynpmcs: [Makefile] Remove nonexistent items from the (pmc) clean target
22:46 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=167
22:46 chromatic cotto, you also have to add a line in the appropriate place in compilers/imcc/main.c for now.
22:46 cotto yup.
22:47 cotto just found it
22:47 GeJ Full disclosure : I don't know C. So there maybe a better way. `make smoke` ran fine. see report_details/26130
22:48 GeJ running `make fulltest`  now.
22:50 cotto GeJ, I think the patch is fine for now.  I'd like to abstract the idea of "get high-resolution timing information", but that can wait.
22:50 bacek joined #parrot
22:52 GeJ cotto: I'll trust your judgement on the quality of the patch better that I could ever trust mine. :)
22:53 cotto The profiling runcore is working again.
23:02 dalek parrot: r40532 | cotto++ | branches/pluggable_runcore (7 files):
23:02 dalek parrot: [profiling] make the profiling runcore work with the new interface
23:02 dalek parrot: change "profile_core" to the more grammatical "profiling_core" where applicable
23:02 purl dalek: that doesn't look right
23:02 dalek parrot: first attempt to make calls and returns explicit in the profile
23:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40532/
23:04 cotto GeJ, your changes are in the next commit.
23:04 GeJ thank you.
23:06 dalek parrot: r40533 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
23:06 dalek parrot: [profiling] add modified patch from GeJ++ to make clock_gettime more portable across POSIXy platforms
23:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40533/
23:09 GeJ cotto++
23:09 GeJ chromatic++
23:13 cotto GeJ, do you test all branches or is that one of particular interest to you?
23:15 cotto chromatic, did you test that ->destroy gets called?
23:16 GeJ cotto: usually I stick to trunk, but chromatic's commit size made me curious and I gave it a run.
23:16 GeJ running `make fulltest` on branches/pluggable_runcore:r40533
23:18 GeJ seeing Whiteknight's last commit, I will probably try it too.
23:19 cotto GeJ, you mean the one in a branch that doesn't build?
23:19 GeJ Well, you just saved me some CPU cycles. :)
23:20 donaldh joined #parrot
23:25 chromatic cotto, I didn't specifically.  I'm pretty sure that it does, but I didn't run Valgrind yet.
23:26 cotto also, where'd be the best place to put a custom Parrot_runcore_t-list struct?
23:27 chromatic -list?
23:28 cotto -like
23:28 cotto strange typo
23:32 chromatic If it's built into Parrot itself, include/parrot/runcore_api.h should suffice.
23:32 cotto ok
23:39 cotto This is odd.  Now neither the init nor the destroy functions are being called.
23:41 Limbic_Region joined #parrot
23:45 cotto This is especially odd because the init function fired several time when I first tried it.
23:45 GeJ cotto: make fulltest ran mostly fine... it croaked during the manifest_tests suite. but given that the branch is based on 1.3, I'm not too worried about it.
23:46 GeJ (that is for plugabble_runcore at r40533)
23:46 cotto yeah.  It could use a merge from trunk now that chromatic's changes are committed.
23:46 GeJ this is the kind of time where I'm happy to not have a commit bit. :)
23:47 GeJ Best luck to the victi^Wvolunteer.
23:49 dalek parrot: r40534 | cotto++ | branches/pluggable_runcore (2 files):
23:49 dalek parrot: [profiling] add stub init and destroy function for the profiling runcore, although they don't seem to get called atm
23:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40534/
23:52 quek joined #parrot
23:53 cotto chromatic, is the problem obvious to you?
23:56 chromatic Looking.
23:58 chromatic Nothing jumps out at me at the moment.
23:58 cotto Interesting.  It's called when I run a moderately complex bit of code that uses PGE for pattern matching, but not for a hello world.
23:59 nopaste "cotto" at 74.61.2.46 pasted "moderately complex code to test profiling runcore" (91 lines) at http://nopaste.snit.ch/17546

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

Parrot | source cross referenced