Camelia, the Perl 6 bug

IRC log for #parrot, 2009-11-05

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 dukeleto kthakore: did you have questions for me?
00:00 payload joined #parrot
00:09 kthakore dukeleto: not really
00:09 kthakore chromatic: nice
00:13 japhb chromatic, how many chapters have you got drafted at this point?
00:18 Whiteknight speaking of freeze, it's really freaking cold here
00:22 dukeleto Whiteknight: where is 'here' ?
00:22 purl comfort coraline's poodle.
00:23 Whiteknight dukeleto: inside my apartment. I turned the thermostate up to 60F, and it got *much* warmer
00:23 Whiteknight so I don't know how cold it was
00:23 dukeleto Whiteknight: wow
00:23 japhb Whiteknight, trying to do extreme overclocking without paying for the peltier?
00:26 chromatic I'm not sure how many chapters I have right now; maybe 25% of the book.
00:26 Whiteknight chromatic: ETA?
00:26 purl well, ETA is estimated time of arrival or Euskadi Ta Askatasuna, or like the Basque PLO
00:26 Whiteknight i'll definitely buy a copy when it's out
00:27 tetragon joined #parrot
00:28 tetragon joined #parrot
00:28 plobsing hi #parrot
00:36 chromatic I hope to have it in print by February.
00:40 abqar joined #parrot
00:41 jsut joined #parrot
00:49 Zak joined #parrot
01:05 plobsing ok, my merge auto_libjit+trunk experiment seems to be working.
01:05 plobsing I have it sitting in git. How should I proceed? 1 patch per commit? one big patch on trunk? one slightly less big patch on auto_libjit?
01:06 plobsing who should I poke to review it?
01:06 chromatic Isn't there a branch for it?
01:06 plobsing yes, auto_libjit.
01:06 chromatic Is that up to date with your patch?
01:07 plobsing no. its a little stale.
01:07 plobsing this patch takes what's there, merges trunk and fixes up some small breakages
01:08 chromatic Those sound like separate things.
01:08 plobsing and they are separate commits in my git repository. it's easy to split it up.
01:08 chromatic If I were doing this, I'd merge from trunk to branch in one commit, then fix up the breakages, and then ask for review of the branch before merge to trunk.
01:09 plobsing that's effectively what I've done, but I don't have access to the svn repo, so I've used git
01:10 chromatic Okay, then I'd like to see two patches for each of the two parts.
01:10 chromatic Then someone (Whiteknight?  dukeleto?) can apply them to the branch for review.
01:10 chromatic Two patches, one for each part, I mean.
01:11 Zak joined #parrot
01:11 plobsing ok. the merge patch might be pretty big. it's effectively the size of the pcc_reapply merge
01:15 Whiteknight what am I applying where?
01:16 chromatic plobsing has a new patch to apply to the libjit framebuilder branch.
01:22 plobsing yeah, the merge commit is way too big for Trac (1.5M)
01:27 plobsing can somebody merge trunk into auto_libjit? I can advise on resolving the small conflicts that arise.
01:27 plobsing (considering I've done it once before)
01:27 dukeleto chromatic: what do you need reviewed?
01:28 chromatic plobsing's branch.
01:28 dukeleto plobsing: link for your branch?
01:29 plobsing svn or git repo?
01:30 dukeleto plobsing: git
01:30 dukeleto do you need to ask? ;)
01:31 plobsing #            Parrot_pcc_get_signature =>
01:31 plobsing #                [ qw(void_ptr void_ptr) => 'void_ptr' ],
01:31 plobsing oops
01:31 plobsing http://github.com/plobsing/parrot-libjit
01:31 plobsing pasting is hard
01:36 dukeleto plobsing: can you make a branch off of the github.com/leto/parrot upstream branch ?
01:37 dukeleto plobsing: when was your repo last synced?
01:37 plobsing I've pulled from there if thats what you mean.
01:37 plobsing 30 minutes ago
01:37 dukeleto plobsing: i see that now
01:37 dukeleto plobsing: cool
01:37 mikehh joined #parrot
01:37 dukeleto plobsing: looks like you are merging with my master
01:38 dukeleto plobsing: if you merge with upstream, you won't see all those extra merge commits
01:38 dalek parrot: r42255 | jkeenan++ | branches/configtests/t/steps/inter (14 files):
01:38 dalek parrot: Continue converting step tests to use all Parrot configuration data.
01:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42255/
01:38 plobsing dukeleto: please explain. examples would be nice.
01:39 dukeleto plobsing: so am I looking at git diff master libjit ?
01:39 plobsing that's pretty much it
01:39 plobsing libjit is an extension of the auto_libjit svn branch
01:40 dukeleto plobsing: I have very little jit experience, but I can give a review later tonight
01:40 plobsing that would be much appreciated
01:40 dukeleto plobsing: i am cloning your repo now
01:41 dukeleto plobsing: anything I should know? does make coretest pass on your branch?
01:41 dukeleto plobsing: what is the state of the test suite in your branch?
01:42 dukeleto plobsing: also, i can give you commit access to parrot.git so that you can create branches there, from the auto-synced repo
01:42 plobsing all tests pass. --optimize has a failure in t/src/warnings.t, but so does trunk
01:43 plobsing s/all tests/whatever tests get run by make test/
01:43 markmont joined #parrot
01:43 dukeleto plobsing: you can now commit to http://github.com/leto/parrot
01:44 dukeleto plobsing: you should see a 'your clone url' link now
01:44 mikehh_ joined #parrot
01:44 dukeleto plobsing: don't worry about warnings.t , somebody broke that on trunk
01:44 plobsing dukeleto+: it works! thanks
01:44 plobsing dukeleto++
01:44 dukeleto plobsing: make fulltest is the best :)
01:44 plobsing I'll run that now
01:44 dukeleto plobsing: make -j 4 fulltest is the bestest :)
01:46 chromatic TEST_JOBS=n make -j n fulltest is better.
01:46 dukeleto if anybody else wants to create branches on parrot on github, shepherd them towards me
01:47 dukeleto chromatic: i think TEST_JOBS is set in my .bashrc :)
01:47 dukeleto i am going to add the regulars to the repo
01:47 dukeleto i don't know why I haven't before
01:47 plobsing I thought the point of git was that every dev gets their own repos and then you just do pull requests
01:50 dukeleto plobsing: pull requests are more work
01:50 Tene eh, there's a variety of ways to do things.
01:51 dukeleto github is crapping itself, but I managed to add chromatic, tene, plobsing and bubaflub to the github parrot repo
01:51 dukeleto that can be the repo that we get code reviews for git branches
01:51 Tene I'm really sketchy about ever relying on github.  They haven't been anywhere near reliable enough for me to be comfortable.
01:51 dukeleto plobsing: the point of git is to bend it to the workflow that you want
01:52 dukeleto Tene: i mirror most stuff to my gitweb instance leto.net/gitweb (not as often) and there is also gitorious
01:52 dukeleto Tene: the point of git is that you don't rely on github much
01:53 dukeleto Tene: it rarely goes down for more than a few hours. git allows you to work off-line and change the "canonical" master origin
01:53 dukeleto Tene: so I don't see github going down as a big deal
01:54 dukeleto Tene: would you feel better if I kept a mirror on git.or.cz, gitorious, github and my gitweb instance?
01:54 dukeleto Tene: that is trivially possible, although it costs me a lot more bandwidth :)
01:57 kiwichris joined #parrot
01:58 dalek parrot: r42256 | jkeenan++ | branches/configtests/t/steps/init/headers-01.t:
01:58 dukeleto kiwichris: yo dude!
01:58 dalek parrot: Continue to convert steps tests to use of Parrot configuration data.
01:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42256/
01:58 dalek parrot: r42257 | jkeenan++ | branches/configtests/t/ste​ps/init/hints/darwin-01.t:
01:58 dalek parrot: No longer need to import Parrot::Configure.
01:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42257/
01:58 kiwichris dukeleto, hi
01:58 kiwichris dukeleto, have parrot running on a real PC how, not simulated using qemu
01:59 dukeleto kiwichris: !!!
01:59 Zak joined #parrot
02:00 kiwichris dukeleto, up till now I have been simulating a PC. It is now on real PC hardware.
02:00 dukeleto kiwichris: that is really cool!
02:00 dukeleto kiwichris: take a picture?
02:00 purl It'll last longer!
02:00 dukeleto kiwichris: sometimes purl is right :)
02:01 dukeleto kiwichris: have you submitted a patch to trac?
02:01 dukeleto kiwichris:
02:01 kiwichris dukeleto, don't encourage it !!
02:01 plobsing make fulltest -j3 => fail in t/pmc/threads.t
02:01 kiwichris dukeleto, after that one of these http://www.axman.com/?q=node/247
02:01 plobsing prove t/pmc/threads.t => pass
02:02 dukeleto plobsing: run prove 10 times. threads.t is known to fail intermittently
02:02 dukeleto kiwichris: so parrot is running on a V2 ColdFire ?
02:03 kiwichris dukeleto, not yet but I will get it too soon'ish
02:04 dukeleto kiwichris: what is it running on now? what are the specs?
02:04 dukeleto kiwichris: also, what time is it by you?
02:05 plobsing for i in $(seq 1 10); do prove t/pmc/threads.t; done => PASS x 10
02:05 dukeleto kiwichris: an amazing bit of info would be for you to run some of those benchmarks on qemu, records the times, and then do the same without qemu and/or on crazy-cool hardware :)
02:05 dukeleto plobsing: is prove using an installed parrot?
02:05 kiwichris dukeleto, no idea, an old'ish Pentium but the rest is a guess, maybe 1G of memory, I will find out when am next to the hardware
02:05 dukeleto plobsing: delete your installed parrot to be sure, or move it aside
02:06 dukeleto kiwichris: good to know. I didn't know RTEMS worked on pentiums :)
02:07 plobsing dukeleto: nuked installed parrot from space. same result.
02:10 dukeleto plobsing: can you get "make fulltest" to pass threads.t? is it only the parallel fulltest that makes threads fail?
02:11 kiwichris dukeleto, exit question if that is ok ?
02:13 dukeleto kiwichris: you can ask any question whenever you want :)
02:14 dukeleto kiwichris: also, if you make an account on github, i can allow you to create a branch on the parrot git mirror that i keep there
02:14 dukeleto kiwichris: if you want to play with git :)
02:14 kiwichris dukeleto, I suppose adding a parameter to Parrot_new is not ok given it is an API.
02:15 kiwichris dukeleto, thanks, but I think the patch will be small.
02:15 dukeleto kiwichris: we have a deprecation policy
02:15 dukeleto kiwichris: :)
02:15 dukeleto kiwichris: if it is a backwards compatible api change, it can be done whenever
02:15 kiwichris dukeleto, I need to set an exit_hook in the interp struct and the sooner the better. If NULL the system exit is called.
02:16 eternaleye joined #parrot
02:16 dukeleto kiwichris: if it is not, then stuff needs deprecating and that takes 6 months
02:16 kiwichris dukeleto, I could add a Parrot_new_with_exit_hook, or something smaller.
02:16 dukeleto kiwichris: that sounds pretty reasonable right now
02:17 kiwichris dukeleto, is make_interpreter an API or internal ?>
02:17 dukeleto kiwichris: that is a totally new function to create an interpreter object, so there is no deprecation policy coming into effect
02:17 dukeleto kiwichris: and only people who want a custom exit handler pay the extra cost, because it is opt-in
02:17 dukeleto kiwichris: i like it
02:18 kiwichris dukeleto, great, so I propose add the hook parameter to make_intrepreter and then a new Parrot_new_*
02:18 dukeleto kiwichris: i would call it Parrot_new_with_exit_handler
02:18 chromatic Did you see Parrot_on_exit?
02:18 dukeleto chromatic: that calls the system exit() unconditionally
02:18 kiwichris chromatic, and exit == reboot for me
02:20 plobsing kiwichris: what if a user wants to trigger a reboot from parrot?
02:20 kiwichris plobsing, good question
02:20 chromatic I don't understand the problem then.
02:21 kiwichris plobsing, can they call exit directly
02:21 chromatic It sounds like you want to add a new function to Parrot for one platform to bypass the exit(3) call.
02:21 cotto Has anyone seen Primer?
02:21 kiwichris chromatic, RTEMS is a single address space, single process OS. An exit does not return control to the user, rather it reboots the whole target
02:22 dukeleto plobsing: your diff has 273 files changed.
02:22 plobsing from master?
02:22 plobsing or from auto_libjit?
02:22 dukeleto plobsing: am I doing git diff libjit auto_libjit?
02:22 dukeleto plobsing: you said git diff master libjit before
02:22 plobsing its tricky...
02:22 chromatic I'd rather have a system-specific exit call than create a new way to exit that isn't really exit.
02:23 plobsing ultimately, it'll want to diff with master. and you need prior knowledge of auto_libjit to diff with it.
02:23 dukeleto chromatic: we just need a flag so that we can *conditionally* exit(3) inside Parrot_on_exit()
02:23 plobsing so diff with master is easier. also probably smaller
02:23 chromatic For an OS-specific behavior?  That feels like the wrong place to do it.
02:23 plobsing dukeleto: can you nopaste the list of changed files
02:24 kiwichris chromatic, I was going to let the user manage this with a handler they provide than attempt to dictate a policy.
02:24 dukeleto plobsing: you can see them with git diff master libjit --name-only
02:24 dukeleto chromatic: can we add an argument to Parrot_on_exit() ?
02:25 chromatic How about we put a platform-specific way to override exit() in src/platform.c?
02:25 plobsing dukeleto: git diff master libjit --name-only | wc -l => 32
02:25 dukeleto chromatic: that sounded like it might incur the dep policy, so we were thinking a new function is opt-in
02:25 plobsing 273 seems a wee bit high
02:25 dukeleto $ git diff master libjit --name-only | wc -l
02:25 dukeleto 273
02:25 dukeleto plobsing: nopaste the command: cat .git/config in your repo
02:26 dukeleto chromatic: what is the best way without incurring the deprecation policy?
02:26 markmont left #parrot
02:26 dukeleto chromatic: should we just check if the current OS is RTEMS and *not* do the final exit(3) ? that seems hackish
02:26 chromatic Figure out some way that calling exit(3) in Parrot_exit() won't reboot RTEMS.
02:27 dukeleto chromatic: exit(3) on rtems = reboot
02:27 chromatic No, we add a new internal-only wrapper around exit(3).  For most platforms, it's still exit(3).  For RTEMS, it's... whatever's most appropriate.  yield() or whatever.
02:27 plobsing configure flag?
02:27 dukeleto chromatic: i see, says the blind man
02:28 chromatic No deprecation necessary.
02:28 dukeleto chromatic: what about setting a custom final exit handler?
02:28 kiwichris chromatic, this is fine with me
02:28 dukeleto chromatic: nice solution
02:28 kiwichris chromatic, is platform.c generated by configure ?
02:29 chromatic Yes.
02:29 chromatic See config/gen/platform/*
02:30 chromatic I suspect, but cannot prove, that we'll need more platform-specific code for RTEMS in there anyway.
02:31 kiwichris chromatic, yes I tend to agree as we get into Parrot more
02:32 nopaste "plobsing" at 76.68.74.120 pasted "plobsing's git/config" (17 lines) at http://nopaste.snit.ch/18568
02:33 kiwichris chromatic, I would make a patch for platform.c but the Configure.pl magic is beyond me.
02:34 dngor joined #parrot
02:34 chromatic Yeah, that needs a bit of research.
02:36 chromatic We need to figure out how to get the right platform name in place so that the configure step can build src/platform.c correctly.
02:40 dukeleto kiwichris: we will take care of the build auto-generation stuff.
02:43 kiwichris dukeleto, thanks. I will hack Parrot_exit for now
02:44 dukeleto chromatic: what about adding a cross compile flag to Configure ?
02:45 dukeleto chromatic: perl Configure.pl --cross=rtems-i386
02:45 kiwichris dukeleto, we normally use "--target=i386-rtems4.10" where the arch is first and the version of RTEMS last.
02:46 dukeleto chromatic: what kiwichris said
02:47 diakopter joined #parrot
02:47 dukeleto chromatic: i am willing to work on that
02:47 chromatic I'd like to see it.  kid51 may know a lot better about what Configure.pl needs for that though.
02:48 dukeleto chromatic: i've discovered some of her dark secrets, but I am sure more await
02:52 kid51 joined #parrot
02:53 kid51 plobsing ping
02:53 dukeleto kid51: ping!
02:53 kid51 dukeleto pong
02:53 plobsing kid51: pong
02:54 kid51 plobsing:  pcc_reapply_merge_fixups.patch in TT 1105:  Do you want that merged into the branch or into trunk?
02:55 plobsing looking to merge to branch first, but trunk is pretty close.
02:55 plobsing however, disregard my last message. the patches were too big
02:55 plobsing pcc_reapply merge is 1.5M
02:55 dukeleto kid51: i want to implement cross compiling in Configure.pl
02:56 dukeleto kid51: chromatic said I should talk to you
02:56 plobsing also the second patch (actually attached) includes regular trunk commit activity
02:56 plobsing bad patch postings, sorry
02:56 allison joined #parrot
02:58 kid51 plobsing I'll be happy to apply any patches you want to the auto_libjit branch.  Just line them up.
02:59 plobsing kid51: the first one is too big to post in track: merge pcc_reapply + resolve conflicts
02:59 kid51 But since I'm back to working on configuration issues, my focus is away from core issues.
03:00 plobsing I don't know how to proceed on that.
03:00 payload1 joined #parrot
03:01 kid51 Hmm.  Then I recommend you post to parrot-dev what you've done, where you stand, what needs to be done next, etc.
03:02 kid51 I'm not awake enough right now to focus on this, sorry.
03:02 kid51 dukeleto:  Have you read the documentation in Configure.pl on file-based configuration?
03:02 plobsing kid51: no problem. I have plenty of other tasks I need/want to do
03:02 kid51 That functionality was requested by particle as a step toward cross-compiling.
03:04 Zak joined #parrot
03:08 plobsing Should I put my ideas about NCI up on the wiki, under NCITasklit, or on the NCI RFC ticket, TT1192?
03:10 kid51 plobsing:  Cet. par., go with the Trac ticket.
03:10 JimmyZ joined #parrot
03:11 kid51 speaking only for $self, I check the Trac log (specifically, report 10) obsessively.  But I go to the wiki much less frequently.
03:11 kid51 Others probably work differently.  YMMV.
03:16 plobsing realized the track ticket is more specific. my thoughts are more general. going with the wiki page.
03:29 dukeleto kid51: a bit
03:30 dukeleto kid51: the platforms overrides are not going to solve the issue of cross-compiling
03:40 dalek TT #1194 created by jkeenan++: 7 config steps improperly rely on Perl 5 %Config 'OSNAME' element
03:41 janus joined #parrot
03:42 kid51 dukeleto:  Well, I haven't had to think much about the issue of cross-compiling since Jerry asked me to do that ... and that was 17 months ago!
03:42 kid51 Decades in Parrot years ;-)
03:42 kid51 So, if you can post to list or open a TT or something, that will give me something to think about.
03:44 dukeleto kid51: have you seen everything going on with the rtems port? it is to support that
03:44 dukeleto kid51: but yes, I will make a ticket
03:45 kid51 dukeleto:  I haven't had time to keep up with everything that's happening in Parrot these days.
03:46 kid51 And Coke's request that I move some tickets from RT to TT has provoked me to go back and re-examine long-standing configuration issues.
03:46 dalek parrot: r42258 | jkeenan++ | branches/convert_OSNAME:
03:46 dalek parrot: Create a branch to work on TT #1194.
03:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42258/
03:48 dalek tracwiki: v116 | dukeleto++ | WikiStart
03:48 dalek tracwiki: https://trac.parrot.org/parrot/wiki/W​ikiStart?version=116&action=diff
03:48 dukeleto kid51: http://leto.net/dukeleto.pl/2009/​11/realtime-embedded-parrots.html
03:49 dalek parrot: r42259 | jkeenan++ | branches/configtests/t/steps (10 files):
03:49 dalek parrot: Continue to convert steps tests to use of Parrot configuration data.
03:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42259/
03:56 JimmyZ_ joined #parrot
03:57 dalek TT #1195 created by dukeleto++: Add cross-compiling support to Configure.pl, such as ...
03:58 * kid51 must sleep
03:58 purl $kid51->sleep(8 * 3600);
04:01 nopaste "dukeleto" at 69.64.235.54 pasted "look what the sneaky ruby rockstars have done with whois perl.com" (11 lines) at http://nopaste.snit.ch/18569
04:02 chromatic Your mistake is thinking that perl.com has been relevant at all in 2009.
04:02 dukeleto chromatic: you mean their mistake :)
04:02 dukeleto chromatic: you are the one 'denting' about perl.com ;)
04:03 chromatic It still gets Google juice, despite it being nothing more than an ad platform for the domain host.
04:03 dukeleto chromatic: yes. that irks me too
04:03 dukeleto chromatic: perhaps they need to be taught a lesson
04:05 chromatic I have some small hope that the owner of the domain may eventually yank it back from them and do *something* relevant with it.
04:06 mokurai joined #parrot
04:10 dukeleto msg japhb i am noticing plumage takes quite a bit longer to compile now
04:10 purl Message for japhb stored.
04:16 nopaste "dukeleto" at 69.64.235.54 pasted "latest plumage does not compile for me due to POD issues" (19 lines) at http://nopaste.snit.ch/18570
04:16 dukeleto msg japhb actually, it doesn't compile: http://nopaste.snit.ch/18570
04:16 purl Message for japhb stored.
04:21 japhb dukeleto, pong
04:21 japhb Hmmm, it was compiling fine when I committed last ...
04:22 japhb Weird, that looks like NQP regressed handling of POD
04:23 dukeleto japhb: which commit of nqp-rx are you using?
04:23 dukeleto japhb: i am using 1ee030e7d
04:23 japhb 4bb93132de80e0b5598cf3014002a3c64ad6a4ae
04:23 japhb Not sure how old that it.
04:24 japhb er is
04:25 japhb Checking just now that latest plumage compiles for sure with that nqp-rx
04:25 japhb ... yup
04:25 japhb So it's an nqp-rx regression.
04:25 dukeleto japhb: that is 7 commits ahead of mine
04:26 japhb dukeleto, then maybe you need to update ... ;-)
04:26 dukeleto japhb: 4bb9313 [nqp]:  Enable Perl 6 pod comments. pmichaud  2 days ago Mon Nov 2 21:41:02 2009
04:26 japhb heh
04:26 japhb nice that I caught the right commit perfectly
04:27 plobsing japhb: looking at NCITaskList
04:27 plobsing japhb: could you elaborate on why the current structure API is painful and slow?
04:28 dukeleto it would be nice if --gen-parrot did a svn revert -R && svn up instead of checking out parrot again
04:28 plobsing japhb: also what are SoA, AoS, and "Counted Strings"?
04:29 dukeleto plobsing: Struct of Arrays, Array of Structs
04:30 japhb plobsing, the method for describing a structure is this baroque style in which you push special tokens (several per structure field) onto an array-like thing, but then sometimes set properties on certain elements of that array also, and then instantiate structures based on that description, and then the converse to get data back out of a structure returned by a function
04:31 plobsing japhb: you only have to make the description object once
04:31 plobsing AFAICT
04:31 japhb Counted strings are Pascal, Java, Forth, etc. style strings in which the length precedes an unterminated buffer, unlike the C style which has no length information, but does have a terminator
04:31 plobsing oic
04:32 plobsing just say pascal strings
04:32 plobsing and I'll know
04:32 japhb plobsing, sure.  But heaven help you if you are trying to use an API with a bazillion use-once structures.  Like, say, most of the graphics APIs.
04:32 plobsing japhb: padded strings?
04:33 plobsing japhb: wrt ugly struct API, write a wrapper.
04:33 japhb I didn't say just Pascal strings, because each different language has a different way of doing the length.  Forth uses exactly one byte.  Java IIRC uses BER-encoded ints.
04:33 plobsing and you want *all* of them?
04:34 japhb plobsing, buffers/strings that will be padded to some multiple of a fixed size block, using a certain pad byte, and that pad byte should be added/removed automatically across the NCI barrier.
04:35 japhb plobsing, we should be able to do Perl 5 pack(), or be embarrassed.
04:35 japhb Now, I'm not saying we have to do it all *immediately*, but
04:36 japhb you did ask what we weren't handling yet.  :-)
04:36 japhb And as for "write a wrapper", that just makes the performance issues worse.
04:36 japhb I described above that the struct-handling API was ugly and painful to use.  But it's also SLOW.
04:37 japhb As in, limits the maximum performance of OpenGL code.
04:37 dukeleto lastest nqp doesn't even compile
04:37 plobsing japhb: I don't see how to make the struct definition easier. if you want a wrapping accessor, you have to tell it about the structure.
04:37 plobsing japhb: the alternative is to just use a byte array and manage the offsets yourself
04:38 japhb plobsing, I'd be happy to do it, if there was some way to do so.  But there ought to be a PMC that can do it for me, efficiently.
04:39 nbrown joined #parrot
04:39 dukeleto msg pmichaud latest nqp-rx does not compile for me: http://nopaste.snit.ch/18571
04:39 purl Message for pmichaud stored.
04:39 plobsing japhb: zero-copy R/W access to buffer contents
04:39 plobsing japhb: isn't that already provided for by the NCI types?
04:40 japhb I ought to be able to say I'm doing an AoS like OpenGL's GL_T2F_C4UB_V3F, and then say I want to set the red byte of the 15th structure member to 255, and have it be a couple mad's and a write.
04:41 plobsing I am not smart enough to understand half of what you just said
04:41 plobsing mads?
04:41 purl mads are they the folks who stuck joel on the space station?
04:42 japhb I don't currently believe pulling strings out of a char ** for example is zero copy, but I could just be out of date.
04:42 plobsing there's no copying being done in the framebuilder.
04:42 japhb fused Multiply ADd instructions
04:42 plobsing I don't know about elsewhere
04:44 plobsing at least for 'V' type arguments
04:44 japhb And GL_T2F_C4UB_V3F means "Texture coordinates comprised of two floats, followed by a color comprised of four unsigned bytes, followed by a vertex position comprised of three floats"
04:44 dukeleto japhb: i am compiling 4bb9313 now, which looks promising
04:44 japhb dukeleto, cool beans
04:45 dukeleto japhb: it is going to be a bumpy ride :)
04:45 dukeleto fuck. spoke too soon. it failed as well
04:46 japhb plobsing, A lot of my performance issues boil down to this: I need to sling around multi-megabyte buffers back and forth to the video driver.  I need minimal overhead.
04:46 nopaste "dukeleto" at 69.64.235.54 pasted "nqp-rx 4bb9313 does not compile either" (52 lines) at http://nopaste.snit.ch/18572
04:47 plobsing japhb: I'm pretty sure 'p' and 'V' arg types are your friend there
04:47 japhb And I consider OpenGL to be a basic stress test that is currently standing in for some of the problems that other APIs will eventually have, like for instance database APIs, when the row count starts getting really big.
04:47 dukeleto japhb: which platform/os are you on?
04:47 japhb dukeleto, currently debian/i386
04:47 japhb well, i686, actually
04:47 dukeleto japhb: 4bb doesn't compile for me
04:48 dukeleto japhb: i am blowing away the parrot dir in the nqp-rx repo and trying again
04:49 japhb plobsing, if we're going to do things with just bare void buffers, then we need a really good equivalent of pack() and unpack().  I need to be able to say, put the value from this PIR $N0 register into this spot in the buffer, as a 16-bit half float.
04:49 dukeleto japhb: or my installed parrot is conflicting
04:49 japhb dukeleto, --gen-parrot is dead to me.  I do everything through the installed parrot, which I've configured with --prefix=/usr/local/parrot .
04:52 japhb plobsing, I apologize if it sounds like I'm being really demanding, but I got my hopes up summer of 2008 when someone was working on a full C header parser for GSoC that was designed to produce automatic, efficient C structure/union wrappers.  AFAIK, it was never completed.
04:52 japhb I don't think it's impossible.  Just not easy.
04:53 japhb (Clearly, C compilers have to do it.  :-)
04:53 plobsing japhb: being demanding of ourselves is a good thing
04:53 plobsing means we provide it before a user whines about it
04:54 plobsing s/a user/too many users/
04:54 japhb plobsing, and unfortunately I've banged my head on a lot of things that are simply impossible in the current NCI, like correct callback handling.  (glutcb is a massive hack that is completely unable to handle multiple interpreters or multiple threads)
04:55 japhb ... and constants that I can't specify because they are near to 2^32, and thus destroyed by sign mangling.
04:55 plobsing japhb: time for a hardware upgrade ;-)
04:56 theory joined #parrot
04:56 japhb ... and huge swaths of OpenGL on windows, which depends greatly on GetProcAddress functions.
04:56 plobsing japhb: that's the easiest problem to fix from my POV
04:56 japhb ... and any API with a long long argument, and so on.
04:56 japhb Man, I hope so.
04:57 kurahaupo japhb: apropos "put this number at this byte-offset as a 16-bit half-float" ... I was thinking recently about restructuring how Arrays are done, and what I have in mind would mesh very well with your problem.
04:57 japhb Windows is a special place in hell, because of its twisted type sizing in Win64.
04:57 plobsing I tend to lean towards worse is better here, so expect to do more work for it
04:58 japhb I don't mind creating wrappers for low-level functionality, as long as the low-level design does not make it impossible for the wrappers to be efficient.
04:59 japhb Designs that for example want a method call for locating an element followed by another method call to set it, and no way to amortize across a tight loop that's setting consecutive elements, for example ... that would suck.
04:59 kurahaupo Basically, refactor array handling into two parts: element type coercion on the one hand, and on the other, convert-index-to-byte-offs​et-with-optional-resizing (plus push, pop, etc)
05:00 dukeleto japhb: nuking the generated parrot made it work
05:00 japhb dukeleto, excellent.
05:00 kurahaupo So if there's another source of "this byte offset", doing the type mangling would already be provided...
05:00 * japhb has to get a few spare cycles soon to write the code for Plumage to be able to upgrade Parrot out from under itself.
05:00 dukeleto japhb: it seems that the gen-parrot option gets confused if you change branches
05:01 japhb dukeleto, yeah, a lot of our Makefiles are not branch-hopping-friendly
05:01 dukeleto japhb: yay, I just ran the test suite with the new nqp-rx and everything passed!
05:01 japhb Almost makes me want to figure out how to have the makefile depend on the current branch name
05:02 japhb dukeleto, yup!
05:02 kurahaupo japhb: so you'd like my set_element and get_element to auto-increment the byte pointer?
05:03 * kurahaupo apologizes for the conversational lag...
05:04 japhb plobsing, kurahaupo, a low-level API I would like to wrap would provide a function to determine the stride of an array, whether that stride is made of primitive types or of structures (taking into account proper alignment padding), so that I can ask the API for the offset of element N, and be able to just increment that offset by the stride when I want to loop from N, N+1, N+2 ... N+M
05:04 dukeleto msg pmichaud 4bb93132 is what japhb and I are currently using in nqp-rx. let us know when master compiles :)
05:04 purl Message for pmichaud stored.
05:04 kurahaupo japhb: makes sense, yes.
05:04 plobsing japhb: should be possible. braindumping to NCITaskList ATM
05:06 kurahaupo japhb: would you need multidimensional strides?
05:06 * kurahaupo thinks a very quick way to transpose a matrix would be to swap the strides of the two dimensions
05:06 japhb I should also be able to ask for the offset within a structure of each of its elements.  Then I can happily say 'put the value from this register into this data type at this offset'.  Then writing the wrapper becomes easy and quick.
05:08 japhb kurahaupo, see PDL in the Perl 5 world.  Arbitrary affine transforms are handled by just editing the header that points at the low level buffer, and loops across multi-dimensional arrays get all offset and stride information from that header.  Which means multiple different views of the same underlying data are easy, with different dimensionality and dimension ordering.  :-)
05:09 plobsing japhb: PDL is awesome (I've used it before), but I think all we are looking to do is provide the tools that P6DL might use
05:09 japhb PDL also has data flow, but that's a bit more advanced than we need to consider for this stuff.  ;-)
05:09 japhb right
05:10 japhb But I just mentioned one I'd forgotten ... the ability to apply different structure definitions to the same buffer.  Which means that the low-level API needs to separate the structure information from the data pointer.
05:10 plobsing that could just be a set_pointer on different struct PMCs
05:10 plobsing each providing a different view
05:11 japhb plobsing, sure ... but I point it out to make sure that GC is kept happy.
05:11 kurahaupo ISTR that Strings are now r/o, which means you can borrow their byte buffers with impunity?
05:12 japhb And also on that note, we need to remember something that the current NCI actually has *conceptually* right (though I don't know about in practice) ... the difference between Parrot-managed memory and external library-managed memory.  So Parrot doesn't try to GC something the external library wants to own, for example.
05:13 japhb kurahaupo, it's been a year since I even looked at the Strings implementation, so I'm out of date on that.
05:13 chromatic STRINGs are still mutable.
05:14 * japhb is amazed that chromatic had not said something earlier in this discussion.  ;-)
05:14 kurahaupo chromatic: is that slated to change?
05:14 chromatic It's a possibility.
05:15 chromatic First, we need to make a case for deprecating the modify-in-place behavior of STRING APIs (on the wiki).
05:15 chromatic We probably need STRINGNULL before that.
05:15 Coke cotto: yes, I've seen Primer++ (+=100)
05:17 japhb It would be really swank, btw, if we could tell Parrot's GC that an external library effectively has an active reference to a Parrot buffer, without having to copy the data in said buffer to prevent GC of live data.  And then later to be able to tell Parrot's GC that the library has let go of its "reference" to the buffer.
05:18 chromatic In theory, Parrot_gc_register_pmc should do that.
05:18 plobsing that should somehow be available from PIR then
05:19 chromatic I think that's the pin/unpin opcodes.
05:19 japhb OpenGL for example has several APIs that lock and unlock buffers between the user program and the video driver.  It's eventually going to be necessary to support those, as they are increasingly becoming the "standard way" of passing great gobs of data across.
05:19 japhb oh, excellent.
05:20 plobsing japhb, chromatic: I have put my thoughts on japhb's NCI issues at the bottom of https://trac.parrot.org/parrot/wiki/NCITasklist
05:21 japhb looking ....
05:22 dalek tracwiki: v2 | plobsing++ | NCITasklist
05:22 dalek tracwiki: plobsing's naive thoughts
05:22 dalek tracwiki: https://trac.parrot.org/parrot/wiki/N​CITasklist?version=2&action=diff
05:22 chromatic #
05:22 chromatic *
05:22 chromatic o
05:22 chromatic # allow more direct PIR access to NCI PMC (particularily creation)
05:22 chromatic Is that different from the dlfunc opcode?
05:22 plobsing dlfunc is too restrictive
05:23 plobsing if I get a pointer to a function otherwise, I can't call it
05:23 chromatic How do you get that pointer otherwise?
05:23 japhb dlfunc doesn't handle GetProcAddress functions, where you are manually asking a library for a function pointer, and then want an NCI Thunk wrapped around that pointer
05:23 * kurahaupo notices it's time to go $HOME; goodnight everyone
05:24 japhb chromatic, it is REALLY common in the OpenGL world (especially on Windows boxen) to do most functions via pointers grabbed from *GetProcAddress()
05:24 chromatic Fair enough.
05:24 japhb In fact, there are (several!) libraries that do nothing but run across the entire defined OpenGL API doing GetProcAddress on every function and filling huge vtables.
05:25 cotto Coke, I'm confused.  (happily I was having a problem with the voices being way too quiet that was solved by unplugging and replugging my headphones.)
05:25 cotto I'm sure it'll be a little easier to get the second time.
05:25 japhb It's nuts, but it's essentially routing around ancient Microsoft brain damage.
05:25 dalek tracwiki: v19 | kurahaupo++ | ArrayTasklist
05:25 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Ar​rayTasklist?version=19&action=diff
05:25 Coke cotto: (confused) by the movie?
05:25 dukeleto japhb: in the USING file, shouldn't we tell users "sudo plumage install ..." ?
05:25 Coke Your brain should be oozing out the side when you're done.
05:26 cotto quite
05:26 japhb Plumage does sudo automatically when it discovers it can't write to the Parrot bin dir.
05:26 japhb ;-)
05:27 japhb And the reason you want it that way, is that you want to reserve the sudo for just the install phase itself, not all the other phases that led up to it.
05:27 dalek TT #1196 created by pmichaud++: 'parrot foo' automatically finds and invokes foo.pbc
05:27 japhb I don't want to run fetch, configure, build, test, as root
05:28 japhb plobsing, thank you for listening and writing down your thoughts in the Wiki.
05:29 plobsing japhb: I'm not stopping there. that's pushed as yet another task to do soon (sometime this month)
05:29 japhb :-)
05:29 plobsing mostly because some things would benefit by deprecations ASAP
05:29 Coke japhb: should plumage not run previous steps if possible?
05:30 Coke so then "plumage test partcl; sudo plumage install partcl" works quicker?
05:31 plobsing dukeleto: wrt huge number of files modified with libjit changes (3 hours ago)
05:31 plobsing dukeleto: are you doing git diff master parrot-libjit/master --name-only | wc -l
05:31 Zak joined #parrot
05:31 japhb Coke, I thought about that.  I decided that *for now* it's a premature optimization -- remember that if the tests fail, and you haven't told plumage to ignore failures in that step, it will refuse to install.  So you can safely do all your testing by asking it to install.  ;-)
05:31 plobsing dukeleto: or git diff master parrot-libjit/libjit --name-only | wc -l
05:32 plobsing dukeleto: (the second one is the diff I'm after)
05:32 japhb Coke, but yes, I plan to eventually add an option to be something like ./plumage --only install foo
05:32 japhb And it will only do the steps it *has* to do.
05:36 dukeleto plobsing: i will try that in a few. i think we were diffing different things before ;)
05:37 dalek TT #1197 created by coke++: Need some way to copy/rename files from parrot.
05:37 dalek TT #1198 created by kjs++: interactive mode doesn't save lexicals correctly
05:37 Coke chromatic: on 1196, I believe pdd30 suggests installing under a languages dir.
05:38 plobsing dukeleto: I just realized. I'll push what I want you to diff as a new branch
05:38 plobsing dukeleto: because that's what you'll wind up doing eventually anyways
05:40 japhb Anyone have any last minute things waiting on me?
05:40 japhb Otherwise I'm off for the night ....
05:41 dalek parrot-plumage: a92d932 | leto++ | :
05:41 dalek parrot-plumage: [t] Upgrade t/harness to utilize string interpolation
05:41 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/a92d9328d7638b89eac9f233b6ca4b96e0869e2e
05:41 chromatic languages?
05:41 purl languages is https://trac.parrot.org/parrot/wiki/Languages
05:41 dukeleto japhb: i am not so happy about t/harness depending on src/lib/Glue.pbc
05:41 japhb mmph?
05:42 japhb Why?
05:42 dukeleto japhb: i want to break that dependency, i want t/harness to be self-contained
05:42 dukeleto japhb: i only use qx() and split()
05:42 japhb dukeleto, that's going to be non-trivial, because of NQP not having a runtime.  Glue basically is our runtime.
05:42 japhb But you could certainly just inline the PIR if you wanted to.
05:43 dukeleto japhb: do I rely on global variable that get defined in PIR?
05:43 japhb yes.
05:43 japhb see bottom of Glue.pir for those.
05:43 dukeleto japhb: i use slurp() too
05:43 dalek TT #1199 created by coke++: automatically create config.log during build
05:43 japhb yup.  Amazing how much you need from there, isn't it?
05:44 dukeleto japhb: but I think I can re-write stuff with regexen. maybe not slurp(), though
05:44 japhb Well, tank on it a bit, and I'll talk to you later or tomorrow.
05:44 dukeleto japhb: i want to use that harness in another repo, which doesn't have "the glue".
05:45 japhb dukeleto, pmichaud was thinking of providing an optional 'P6' library with NQP, based loosely on Glue.pir ... so that may solve your problem.
05:45 japhb OK, AFK for now.
05:46 dukeleto japhb: cool! night.
05:47 dukeleto japhb: or I just copy Glue.pir as well, for now
05:49 eternaleye cotto: Coke: I made it halfway through Primer before my brain asploded
05:50 dalek TT #1200 created by coke++: sprintf formatting for exponents needs to be standardized
05:50 dalek TT #1201 created by coke++: Parrot::Pmc2c::Emitter line # error
05:51 Coke trac is slowwwwwwwwwwwwwww
05:52 plobsing dukeleto: pushed experimental branch auto_libjit_pcc_reapply to your github parrot repo
05:52 dalek parrot-plumage: bebf8d4 | leto++ | :
05:52 dalek parrot-plumage: [t] Add note about where canonical home of t/harness is, in case it star...
05:52 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/bebf8d4af1b78e5440f9a6fee59bd36c05d025d6
05:54 dukeleto plobsing: cool!
05:54 dukeleto plobsing: how do you want me to review it?
05:55 plobsing build + test would be a good start
05:56 Coke RT: 89 tickets
05:56 kurahaupo joined #parrot
05:58 plobsing from there, have a glance at the meat of the change: config/gen/{libjit.pm,libjit​/frame_builder_libjit_c.in}
06:00 plobsing there's also some changes in src/pmc/nci.pmc that merit review
06:03 dukeleto plobsing: what should I diff it against? master?
06:04 plobsing parrot trunk. I assume master =~ parrot trunk, so yes
06:04 dukeleto plobsing: yes.
06:04 plobsing dukeleto: could you be more specific?
06:08 dukeleto plobsing: master and upstream branches on the parrot github mirror are ~ to trunk
06:08 dukeleto plobsing: upstream = trunk, master = trunk + merge commits
06:08 plobsing awesome
06:08 plobsing diff with master then
06:08 dukeleto plobsing: ok
06:13 Coke RT is now down to 85 tickets; I'm not feeling the love.
06:14 Coke 35 of those are assigned.
06:14 Coke 35/85
06:14 purl 0.411764705882353
06:14 Coke 85-35
06:14 purl 50
06:14 Coke so if everyone with a commit bit ported 2 of the unowned tickets to trac...
06:14 dalek parrot: r42260 | coke++ | trunk/compilers/imcc/optimizer.c:
06:14 dalek parrot: Remove reference to rejected ticket.
06:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42260/
06:24 dukeleto Coke++ # with love
06:25 Coke I'd rather you moved some tickets. =-)
06:26 cotto clipperz++
06:28 Coke osx--
06:31 cotto dukeleto, what's with the sudden interest in getting Parrot on RTEMS?
06:33 dukeleto cotto: i hung out with some RTEMS core devs at the gsoc conference
06:33 dukeleto cotto: so we were like, "let's see if we can get this to work"
06:33 dukeleto cotto: beer was involved
06:33 Coke ... so if I give you beer, you'll work on partcl?
06:35 dukeleto Coke: yes.
06:38 cotto Sweet.  Beer does great things sometimes.
06:38 cotto sometimes, not so much
06:39 dukeleto Coke: i still can't resolve tickets on RT
06:39 dukeleto Coke: anything I assign to you, you should close
06:39 dukeleto Coke: i can't even reassign it to you!
06:39 dukeleto Coke: this is madness.
06:39 dalek TT #1204 created by dukeleto++: Implement all TODO comments in t/pmc/parrotio.t
06:41 dukeleto Coke: can you close all the RT's that I am adding "This is now tracked at" messages to ?
06:46 dalek TT #1205 created by dukeleto++: Test exporting MMD subroutines in t/pmc/exporter.t
06:47 dalek parrot: r42261 | dukeleto++ | trunk/t/pmc/exporter.t:
06:47 dalek parrot: [cage] Update bug tracker details for a TODO in t/pmc/exporter.t
06:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42261/
06:53 dalek TT #1206 created by dukeleto++: Test more return values in t/pmc/io_iterator.t
06:56 davidfetter joined #parrot
06:58 dukeleto davidfetter: howdy
06:58 purl salut, dukeleto.
06:58 davidfetter hai dukeleto
06:58 davidfetter what's the latest? :)
06:59 dukeleto davidfetter: parrot is being ported to a real-time os, RTEMS, and NQP is going through a large upgrade as well
06:59 davidfetter too cool :)
07:00 * davidfetter in paris atm, getting ready for pgday.eu
07:00 dukeleto davidfetter: be sure to recruit some people for pl/parrot!
07:00 davidfetter will do. anything in particular you want highlighted?
07:03 dukeleto davidfetter: tell people that they can write *fast* and *cross-platform* stored procedures in PIR/NQP when pl/parrot works, as well as use stored procedures from any language running on parrot
07:03 davidfetter dukeleto, will do :)
07:04 uniejo joined #parrot
07:05 cotto Was the consensus that nqp-rx would have regularly-updated snapshots in Parrot trunk?
07:05 davidfetter 'sup cotto
07:05 dukeleto cotto: there was no consensus, other than a one-time nqp-rx upgrade. but plumage just switched over to nqp-rx
07:06 dukeleto cotto: so the theory is, parrot core will come with a "good-enough" NQP (nqp-rx) and you can always upgrade that with plumage
07:06 cotto way to increase the pressure
07:06 cotto that sounds workable
07:07 dukeleto cotto: it seems to be a happy middle ground between stability, deprecation cycles and developer sanity
07:08 dukeleto cotto: do you have the power to close RT tickets?
07:08 dukeleto cotto: i can reply, but i cannot reassign or resolve/close
07:10 cotto I should
07:10 cotto lemme try
07:11 cotto would "resolved" or "rejected" be more true?
07:12 dukeleto cotto: any
07:12 cotto works for me
07:12 cotto ok
07:12 cotto I'll troll through the list of any numbers that need to be resolved.
07:12 dukeleto cotto: if you can close all the RT's that I have been cc'ing to parrot-dev in the last few minutes, that would be awesome
07:12 dalek TT #1207 created by dukeleto++: Non-existent lexical throws exception
07:13 dukeleto cotto: also, the latest modified trac tickets should have a link to the RT they are replacing
07:13 dukeleto cotto: http://icanhaz.com/parrotbugs :)
07:15 cotto done
07:18 dalek tracwiki: v3 | bubaflub++ | ConvertTestsToParrot
07:18 dalek tracwiki: Test that check errors can use dies_ok(), throws_like() and throws_substring()
07:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Conve​rtTestsToParrot?version=3&action=diff
07:22 dalek TT #1208 created by dukeleto++: Optimize Parrot_pbc_read to do fewer stat() calls
07:24 diakopter anyone, what's an example of a p6regex in nqp-rx...
07:24 dukeleto diakopter: one sec
07:28 diakopter ok
07:28 dukeleto diakopter: ^<[a]>
07:28 dukeleto diakopter: good examples are in the t/p6regex directory of the nqp-rx repo
07:29 dukeleto nqp-rx?
07:29 purl nqp-rx is probably a rewrite of NQP and PGE.
07:29 dukeleto purl, forget nqp-rx
07:29 purl dukeleto: I forgot nqp-rx
07:29 dukeleto purl, nqp-rx is http://github.com/perl6/nqp-rx
07:29 purl OK, dukeleto.
07:31 dukeleto Coke: can you close http://rt.perl.org/rt3/Tic​ket/Display.html?id=46861 too?
07:31 cotto not now, he can't ;)
07:31 dukeleto cotto: i meant to ask you :))
07:33 cotto I have a moderately effective dtrt() implementation
07:39 dukeleto cotto++
07:42 dukeleto cotto: and http://rt.perl.org/rt3/Tic​ket/Display.html?id=50894 :)
07:42 dalek TT #1209 created by dukeleto++: parrot -O Fails Tests
07:45 dukeleto can http://rt.perl.org/rt3/Tic​ket/Display.html?id=48439 be closed? llvm is listed in PLATFORMS
07:46 payload joined #parrot
07:47 dukeleto cotto: please close http://rt.perl.org/rt3/Tic​ket/Display.html?id=48439 as well
07:52 cotto with that, I'm out
07:52 cotto dukeleto++
07:53 dukeleto cotto: thanks for the help
07:56 dalek parrot: r42262 | chromatic++ | trunk/src/pmc/default.pmc:
07:56 dalek parrot: [PMC] Removed RT #46665 TODO comment; there's no real value to walking the MRO
07:56 dalek parrot: in isa checks, as the checking isa_hash member of the vtable does the same
07:56 dalek parrot: thing.  PMCs that do something different for their parentage (Class, Object)
07:56 dalek parrot: override the appropriate vtable entries anyway.
07:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42262/
08:11 elmex joined #parrot
08:17 eternaleye joined #parrot
08:25 iblechbot joined #parrot
08:29 payload joined #parrot
08:33 fperrad joined #parrot
08:44 dalek parrot: r42263 | chromatic++ | trunk/lib/Parrot (2 files):
08:44 dalek parrot: [lib] Added an exception to ops processor when it (presumably accidentally)
08:44 dalek parrot: performs op argument substitution in .ops file preamble sections (RT #43721).
08:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42263/
08:53 JimmyZ joined #parrot
08:54 dalek parrot: r42264 | chromatic++ | trunk/lib/Parrot/Pmc2c (2 files):
08:54 dalek parrot: [lib] Made PMC emitters throw exceptions when encountering unknown NCI
08:54 dalek parrot: signature components (see RT #43735).
08:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42264/
08:59 particle joined #parrot
09:07 payload1 joined #parrot
09:13 dalek TT #1210 created by bubaflub++: [PATCH] t/op/inf_nan.t converted to PIR
09:25 JimmyZ_ joined #parrot
09:31 mokurai left #parrot
09:36 bacek joined #parrot
09:37 bacek o hai
09:37 moritz lolitsbacek!
09:38 payload joined #parrot
09:39 bacek moritz, OH NOES! EVERYBODY PANIC! :)
09:40 chromatic bacek, did you see my comment on TT #1187?
09:41 bacek chromatic, nope. Going to check now
09:42 bacek chromatic, there is no your comments on this ticket...
09:43 chromatic Hm, it's on the list.  I wonder why it didn't make it into Trac.
09:43 chromatic An optimized Parrot (built with -DNDEBUG) will not export the Parrot_pcc_warnings_on() symbol, thanks to a series of clever macro definitions in include/parrot/context.h:
09:43 chromatic $ nm -g blib/lib/libparrot.so | grep Parrot_pcc_warnings
09:43 chromatic We need to fix those macros so that the symbols always get exported but the Parrot core itself can use the quick accessors.
09:45 bacek chromatic, hm... Let me check it
09:46 dalek parrot: r42265 | chromatic++ | trunk/compilers/imcc/cfg.c:
09:46 dalek parrot: [IMCC] Used the "new" way to see if an IMC_Unit represents a PCC sub in IMCC's
09:46 dalek parrot: find_basic_blocks().  Yes, that makes me chuckle too.  See RT #48280.
09:46 bacek chromatic, why gcc on OSX fails to expand nested macros?
09:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42265/
09:46 chromatic I don't know; I know nothing about Mac OS X except that it's apparently some sort of Adamsian Advanced Unix Substitute.
09:47 bacek chromatic, :)
09:47 bacek bah... Why xchat switched from ':' to ',' in tab completion?
09:48 moritz a famous german blogger always calls Mac OS X a "Unix with a funny hat"
09:49 bacek chromatic, looks like it failing early. On "Ugly cheat" comment.
09:50 chromatic I suspect the right approach is to append _fun to the names of all of these functions and define the macro for the in-core, optimized case differently from the macro for the out-of-core case.
09:50 chromatic I'd have done it, but I have an acute case of the premier Perl virtue.
09:52 bacek chromatic, I tend to disagree. We can just fix pmc2c to produce header files inside include/parrot/pmc directory. It will bring us closer to "installed parrot" and we can use #include "pmc/pmc_foo.h" in core sources without appending "../" or "../../" all over the place
09:53 chromatic I like that idea, but I don't understand the connection to TT #1187.
09:53 bacek chromatic, include/parrot/context.h, line 32
09:54 chromatic That's not the problem I see with t/src/warnings.t.
09:55 bacek chromatic, it is problem. On OSX "context.h" gets included somehow before defining PARROT_IN_CORE
09:56 bacek t/src/warnings_2.c:15: error: dereferencing pointer to incomplete type
09:56 bacek telling exactly this
09:57 chromatic # Failed to build 't/src/warnings_2': t/src/warnings_2.o: In function `main':
09:57 chromatic # /home/chromatic/dev/gitpar​rot/t/src/warnings_2.c:14: undefined reference to `Parrot_pcc_warnings_on'
09:57 chromatic # collect2: ld returned 1 exit status
09:57 chromatic I had the pointer warning, but I fixed that (on Linux, at least) the other day.
09:58 bacek and changing pmc2c to produce headers inside include/parrot/pmc will allow us to include pmc_context unconditionally.
10:12 kthakore joined #parrot
10:15 bacek chromatic, actually it should generate headers in "include/pmc"
10:38 kiwichris joined #parrot
11:04 dalek parrot: r42266 | fperrad++ | trunk (5 files):
11:04 dalek parrot: [library] a new PIR library which allows configure step with an installed Parrot and no dependency.
11:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42266/
11:06 dalek markdown: c035be3 | fperrad++ | Configure.pir:
11:06 dalek markdown: the stuff is now in a library which comes with Parrot
11:06 dalek markdown: review: http://github.com/fperrad/markdown/commit​/c035be375a8d6a221333972116506a25b94a79b3
11:08 bacek joined #parrot
11:16 shorten joined #parrot
11:25 nbrown joined #parrot
11:35 plobsing joined #parrot
11:45 payload joined #parrot
12:08 * Coke finds he owes dukeleto a beer.
12:09 Coke msg chromatic there are /two/ different ticket-related lists. one goes to the users, one goes to trac.
12:09 purl Message for chromatic stored.
12:12 iblechbot joined #parrot
12:29 ruoso joined #parrot
12:42 dalek parrot: r42267 | NotFound++ | trunk (2 files):
12:42 dalek parrot: check for null string in Parrot_oo_get_class_str, TT #1107
12:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42267/
12:47 plobsing hi #parrot!
12:48 ttbot Parrot trunk/ r42267 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/132687.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
12:55 dalek parrot: r42268 | NotFound++ | trunk/src/oo.c:
12:55 dalek parrot: fix a strict C violation introduced in r42267, ttbot++
12:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42268/
13:09 Coke msg cotto thanks for closing out those tickets; I went back through and changed the migrated ones from 'resolved' to 'reject' to match the other tickets that were migrated-but-not-fixed.
13:09 purl Message for cotto stored.
13:10 Coke cotto++
13:10 Coke dukeleto++
13:11 Coke chromatic++ # actually closing some tickets the old fashioned way!
13:11 Coke RT: now at 70
13:15 whiteknight joined #parrot
13:17 kid51 joined #parrot
13:17 whiteknight good morning #parrot
13:18 kid51 good morning whiteknight
13:20 kid51 msg mikehh Could you give the 'convert_OSNAME' branch a 'make fulltest' run on your 64-bit platform?  See https://trac.parrot.org/parrot/ticket/1194.  Thanks.
13:20 purl Message for mikehh stored.
13:22 he__ joined #parrot
13:22 he__ left #parrot
13:23 * whiteknight has a LOT of emails this morning
13:23 whiteknight Coke++
13:23 whiteknight dukeleto++
13:27 Coke regarding my sent-just-now, any bikeshed ideas on how to mark tickets as 'this is resolved" in the docs?
13:28 Coke TT #12354 is a live issue... TT #-12344  ? TT *12345 ?
13:29 Coke my thinking is it would be nice to know at a glance if the comment was because something was broken or because it was fixe.d.
13:51 davidfetter joined #parrot
13:58 mikehh joined #parrot
14:24 kj joined #parrot
14:32 payload joined #parrot
14:33 masak joined #parrot
15:08 patspam joined #parrot
15:13 payload joined #parrot
15:20 joeri joined #parrot
15:26 s1n joined #parrot
15:27 _particle_ joined #parrot
15:27 Psyche^ joined #parrot
15:41 whiteknight joined #parrot
15:46 Coke only 70 tickets to go. Will you be the person to close out lucky ticket # 42 ? only one way to be sure.
15:46 dalek parrot: r42269 | dukeleto++ | trunk/t/op/00ff-unix.t:
15:46 dalek parrot: [t][TT# 1186] Convert t/op/00ff-unix.t to PIR, bubaflub++
15:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42269/
15:47 Coke perl6 people: is http://rt.perl.org/rt3/Tic​ket/Display.html?id=60098 closable?
15:47 Coke actually, yes, I'm going to call it.)
15:48 dalek TT #1186 closed by dukeleto++: [PATCH] convert t/op/00ff-unix.t to PIR
15:56 mikehh joined #parrot
15:57 theory joined #parrot
16:07 fperrad joined #parrot
16:24 payload joined #parrot
16:48 mikehh joined #parrot
16:52 * whiteknight is happy about fperrad++'s random number module
16:53 NotFound whiteknight: You won a lottery using it?
16:53 whiteknight not that happy
16:55 fperrad whiteknight, Math/rand.pir or Math/Random/mt19937ar.pir ?
16:56 whiteknight mt19937ar
16:56 fperrad whiteknight, mt19937 will leave the nest, see http://github.com/fperrad/parrot-MT19937
16:57 whiteknight yes, that's what I'm looking at right now
16:57 whiteknight I didn't realize mt19937 was in the repo at all
17:01 whiteknight I've been wanting to implement an MWC generator for Parrot
17:01 whiteknight maybe I will do that sometime
17:04 Coke (Leave) don't forget to open a ticket and put it in DEprecated.
17:06 Coke mwc?
17:07 whiteknight multiply-with-carry
17:07 whiteknight it's a very nice PRNG algorithm with extensible period
17:13 desertm4x joined #parrot
17:14 szabgab joined #parrot
17:21 Coke RT: 69 tickets left.
17:22 Coke jonathan: should I steal back the tickets I assigned to you?
17:23 jonathan Coke: In RT, I seem to ahve 2.
17:23 jonathan (for Parrot)
17:23 jonathan 46687[TODO] [C] Correct destruction of PackFile objects0parrotopen # I think I'm unlikely to fix that, but given other work done in the area, it may already be done
17:23 Coke jonathan: yup. probably bc you opened the original ticket.
17:24 Coke figured you'd know if it needed transferring.
17:24 jonathan Right
17:24 jonathan 61224.eof returns false if last read call read the last byte of the file, but not beyond
17:24 Coke (or because you volunteered ages ago)
17:24 Coke 2/69
17:24 purl 0.0289855072463768
17:24 jonathan I think on that second one, there was some debate as to whether that behavior was by design.
17:24 Coke that's 3% of the tickets. You could really make a difference. =-)
17:25 jonathan Coke: to be honest, it's a design call rather than a bug.
17:25 jonathan We work around it in Rakudo.
17:25 jonathan I don't mind which way it goes.
17:26 jonathan Don't know what the criteria is for mvoing to trac either ;-)
17:26 Coke everything goes.
17:26 Coke (unless it's bogus or done.)
17:27 jonathan I'd move the .eof one over. It's probably still worth a final design ruling, which it appears not to have got.
17:27 jonathan If the comment in #46687 still exists, then I'd say move it over - if the comment is gone, it can be closed.
17:28 pmichaud note there's already a ticket in trac referring to eof issues
17:28 pmichaud (the readline ticket)
17:28 pmichaud they should probably reference each other
17:30 jonathan They may boil down to one and the same.
17:30 jonathan In fact, I think they do.
17:31 Coke jonathan: ok. I stole 61224 just now, but won't mind if you steal it back.
17:31 Coke jonathan: danke.
17:31 jonathan Coke: Thank you.
17:32 Coke er, blagodaria. or whatever language you're speaking these days.
17:34 Coke jonathan: was the trac ticket #760 ?
17:34 dalek TT #1211 created by coke++: make realclean doesn't remove src/dynpmc/Makefile
17:34 davidfetter joined #parrot
17:34 jonathan Coke: Heh, Slovak. :-)
17:35 Coke ah, dakujem!
17:35 jonathan Coke: I'm pretty sure they're related problems.
17:36 Coke ETOOMUCHANALYSIS.
17:36 jonathan Ah, and yes, that was the trac ticket I think Pm was thinking of. It's the one I was.
17:37 dalek TT #1212 created by jonathan++: .eof returns false if last read call read the last byte of the file, but ...
17:41 NotFound About the .eof thing: the current way is the sane one. Languages that want read-ahead must do themselves.
17:42 Coke NotFound: comment on the ticket.
17:42 Coke (please)
17:42 NotFound Coke: I think I'v already do that months ago...
17:42 Coke danke.
17:43 desertm4x_ joined #parrot
17:43 darbelo joined #parrot
17:43 Coke I don't see that on #760 or the new one, btw.
17:43 Coke (#1212)
17:43 NotFound The design reason is: if you want to read ahead, you can do. If you do it always, you can't simulate not have done it.
17:43 Coke (you do have commentson #760, but not that.)
17:44 NotFound Maybe it was at #ps, not in the ticket-
17:44 Coke NotFound: sure you can. if you make every read go through whatever that mechanism is.
17:44 NotFound Coke: yeah, and you can't even not use parrot ;)
17:44 NotFound can
17:44 Coke NotFound: I'm often tempted.
17:45 Coke though I take it you mean you could circumvent whatever parrot used and just use C. Sure.
17:45 NotFound Is not reasonable to force any language that wants no read ahead to not use the standard handles.
17:46 Coke standard /parrot/ handles?
17:46 NotFound Yes
17:46 PerlJam ETOOMANYNOTS
17:46 PerlJam (had to read it 3 times to grok)
17:46 NotFound PerlJam: ENOTTOOMANYNOTNOTS
17:46 Coke k. if you're using a parrot handle, then you can avoid the direct C-level access. If it's in-core, it's standard. =-)
17:47 Coke but.
17:47 Coke I'm fine with someone doing this as an IO subclass or something and then sharing it.
17:47 Coke parrot has enough other broken stuff to fix.
17:47 darbelo PerlJam: It makes sense in spanish :)
17:47 PerlJam darbelo: heh!
17:47 Coke qualquier?
17:48 NotFound The point is that is a lot easier to do read ahead when wanted that find a way to avoid it when not wanted.
17:48 * darbelo reads messages
17:49 darbelo Coke++ # KHAAAAAN
17:49 mokurai joined #parrot
17:49 * Coke spells that wrong.
17:50 NotFound darbelo: Are yiu saying that Spaniards are negative? ;)
17:50 darbelo NotFound: I'm not negating they are not.
17:51 darbelo ;)
17:51 Coke NotFound: looks like 57028 could be resolved by deleting code.
17:53 Coke you want that one?
17:53 NotFound Coke: if is related to the register allocatror, better that chromatic take a look at it.
17:54 Coke it is. I'll take it and just rip it out.
18:01 dalek parrot: r42270 | coke++ | trunk/config/gen/makefiles/root.in:
18:01 dalek parrot: add missing dependency.
18:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42270/
18:04 Coke GAH.
18:05 dalek parrot: r42271 | coke++ | trunk/config/gen/makefiles/root.in:
18:05 dalek parrot: more missing dependencies.
18:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42271/
18:05 Coke did someone just add pmc_context.h as an include all over the place, or am I just lucky today?
18:06 cotto_work Coke, istr someone did that
18:07 Coke BACEK!
18:07 Coke bacek--
18:07 Coke bacek--
18:07 Coke bacek--
18:07 Coke bacek--
18:07 Coke bacek--
18:07 Coke bacek++ #perhaps a slight overreaction.
18:08 NotFound Contexts are used in lots of places.
18:08 dalek parrot: r42272 | coke++ | trunk/config/gen/makefiles/root.in:
18:08 dalek parrot: MORE missing dependencies
18:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42272/
18:08 Coke msg bacek when you add an include to a c file, you MUST add it as a dependency in root.in
18:08 purl Message for bacek stored.
18:09 Coke *sigh*
18:12 * Coke starts checkdepend.pl
18:13 cotto_work Coke, why not write it in nqp?
18:13 darbelo Coke: I think andy had a branch with something similar.
18:13 cotto_work it's abandoned
18:19 Coke darbelo: we already pinged him about it.
18:19 Coke cotto_work: ... because I don't speak perl6 ?
18:20 Coke I'm just going to whip something up. if folks want to change it later, fine with me.
18:20 * Coke is just sick of fixing this bug.
18:20 cotto_work sure.  nqp would be ideal, but a perl script is better than what we're doing now.
18:21 NotFound I can try do something with Winxed, but first myst find a wat to use regexes.
18:21 cotto_work (though using nqp would make moving partcl to pct easier)
18:22 Coke cotto_work: how would using nqp for this stupid script help partcl?
18:22 Andy joined #parrot
18:22 cotto_work If you want to switch partcl to pct, you'll have to write some nqp.
18:23 cotto_work Learning some of it now will make that easier.
18:24 dalek parrot: r42273 | fperrad++ | trunk (2 files):
18:24 dalek parrot: [library] genfile handles conditioned line
18:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42273/
18:24 Coke i prefer doing that jit
18:25 cotto_work your call
18:26 sjohnson joined #parrot
18:30 dalek markdown: 976a224 | fperrad++ |  (2 files):
18:30 dalek markdown: use conditioned lines
18:30 dalek markdown: (available with r42273)
18:30 dalek markdown: review: http://github.com/fperrad/markdown/commit​/976a224aae5c14a1a86c647a6a3445ba20958383
18:30 shorten dalek's url is at http://xrl.us/bf2xkr
18:45 nopaste "coke" at 72.228.52.192 pasted "hacky first cut at checkdepend" (55 lines) at http://nopaste.snit.ch/18576
18:46 Coke a verrrry rough first pass that at least gives me something useful if I do perl checkdepend.pl | ack pmc_
18:46 Coke that could, with some thought, be turned into a distro test.
18:50 nopaste "NotFound" at 213.96.228.50 pasted "First step to locate #include to track C dependencies" (22 lines) at http://nopaste.snit.ch/18577
18:50 NotFound Can someone tell me if this is a correct way of using PGE::P5Regex ?
18:50 Coke NotFound: that doesn't take the makefile into account, does it?
18:51 NotFound Coke: is just a first step
18:51 Coke ok. my first step is further than yours. =-)
18:51 Coke just don't want to duplicate effort.
18:52 darbelo Coke: You have a longer stride :)
18:52 NotFound Coke: It took me more time because I needed to implement compreg first X-)
18:52 Coke IWBNI make had a preprocessor.
18:53 Coke is there a way to say "show me what the makefile would look like if you interpolated all the variables?
18:53 NotFound Coke: I don't think a duplicate effort is a waste, if you have two implementations we can test one with the other.
18:53 NotFound s/you/we
18:54 Coke NotFound: <shrug> it's a waste for me. have fun. =-)
18:54 Coke I just want the /problem/ solved.
18:54 NotFound And I must write more code to implement and test features of winxed anyway.
18:56 jhorwitz joined #parrot
19:03 chromatic joined #parrot
19:05 diakopter oh hi
19:05 purl privet, diakopter.
19:05 diakopter say what
19:05 purl say is, like, Say is way better than typing print "$foo\ all the time
19:05 diakopter hm
19:07 pmichaud joined #parrot
19:07 particle joined #parrot
19:24 NotFound Coke: Do you remeber if there is some ticket calling for a dependcy checker?
19:26 cotto_work NotFound, https://trac.parrot.org/parrot/ticket/893
19:27 NotFound cotto_work: thanks
19:27 Coke cotto_work: feel free to combine those tickets. =-)
19:33 NotFound Did a said yet that parrot is poweful?
19:37 Coke ?
19:38 whiteknight ETOOMANYTYPOS
19:39 NotFound Sorry, I'm with a coldness and my english is even worse than usuallyç
19:39 cotto_work NotFound, you have a cold?
19:39 cotto_work My mom always told me "Don't get sick."  I wish I'd listened.
19:40 NotFound cotto_work: yes, but nothing important.
19:40 darbelo I was told "Dont *be* sick." but I didn't listen either.
19:40 darbelo ;)
19:41 whiteknight I knew a guy once who didn't listen to his mother. 20 years later, BAM! hit by a bus
19:41 whiteknight always listen to your mother
19:41 NotFound There was a guy that go, and died. Moral: dont' go.
19:42 cotto_work also, watch out for buses
19:42 whiteknight ...that's what mother said :)
19:42 * NotFound watch his PCIs
19:53 jan joined #parrot
19:55 Coke how to regen the makefile?
19:55 Coke (without a full config?)
20:04 dalek joined #parrot
20:05 dalek TT #1213 created by coke++: need a tool to check make dependencies
20:05 diakopter twimc, I converted my STD/ast interpreter (in perl/js(v8)) to a PAST interpreter (in js(v8))
20:06 PerlJam joined #parrot
20:08 Util joined #parrot
20:08 dukeleto joined #parrot
20:08 diakopter ... I guess it could be called jsPAST, er something
20:11 Infinoid joined #parrot
20:13 pmichaud_ joined #parrot
20:13 jonathan joined #parrot
20:33 allison joined #parrot
20:44 nopaste "darbelo" at 190.192.220.13 pasted "Remove instantiate_str() VTABLE, take one" (440 lines) at http://nopaste.snit.ch/18580
20:47 nopaste "darbelo" at 190.192.220.13 pasted "Error with the above patch" (7 lines) at http://nopaste.snit.ch/18581
20:50 * Coke has an updated version of that script and will see about adding it later.
20:51 joeri left #parrot
20:53 nopaste "darbelo" at 190.192.220.13 pasted "Remove instantiate_str() VTABLE, take two (Less diff noise. Still fails.)" (372 lines) at http://nopaste.snit.ch/18582
20:54 whiteknight darbelo++
20:54 darbelo I anyone can tell what the heck I'm doing wrong in http://nopaste.snit.ch/18582 I'll be very happy.
20:56 darbelo The error I get is in http://nopaste.snit.ch/18581 which means that something that I'm creating a constant PMC where I shouldn't, but I can't really tell where.
20:56 whiteknight why are you using constant_pmc_new in make_string_pmc
20:58 darbelo The call I removed was passing PObj_constant_FLAG to the VTABLE, that called constant_pmc_new() internally.
20:59 Coke seen bacek?
20:59 purl bacek was last seen on #parrot 10 hours, 43 minutes and 46 seconds ago, saying: chromatic, actually it should generate headers in "include/pmc"
21:00 whiteknight ah, okay
21:02 dalek TT #1213 closed by coke++: need a tool to check make dependencies
21:03 mokurai joined #parrot
21:06 mikehh joined #parrot
21:16 darbelo Ha! Found it!
21:17 darbelo of course, that only means it fails differently.
21:17 darbelo but I call that progress.
21:20 darbelo And now it works.
21:20 darbelo (paste errosr)--
21:20 darbelo (paste errors)-- too
21:21 cotto_work darbelo++
21:21 cotto_work now we need to nuke some of those math ops
21:21 cotto_work s/ops/vtables/
21:22 * Coke is getting 271 missing dependencies.
21:22 cotto_work eek
21:22 cotto_work I guess I shouldn't be surprised though.
21:23 cotto_work Every time we lift up a rock we expose a whole new colony of bugs.
21:23 nopaste "coke" at 72.228.52.192 pasted "output of checkdepend.pl" (1811 lines) at http://nopaste.snit.ch/18584
21:24 Coke (they appear to be mostly pmc related.)
21:24 Coke (and I'm skipping a lot)
21:25 darbelo $(GENERAL_H_FILES)--
21:25 Coke darbelo: yes, well, it was an easy solution when we didn't have a tool to track deps. =-)
21:26 Coke I'll check this at some point.
21:26 darbelo If we can manage to remove that, I'm sure parallel build can get faster on multicore boxes.
21:26 darbelo A lot more brittle, but faster.
21:27 chromatic I wouldn't think it makes things more brittle.
21:27 Coke Sure. Open a ticket.
21:27 moritz robust is much more important than fast, in the case of parallel builds
21:28 Coke given a tool to make sure we're not screwing anything up...
21:28 darbelo chromatic: They'll be easier to break when shuffling includes. Maybe the word is 'sensitive'
21:28 Coke bah, I'll just commit now.
21:29 darbelo Coke++
21:29 darbelo JFDI++
21:30 moritz I'll complain if it breaks the build ;-)
21:30 Coke there, have fun.
21:30 Coke moritz: I tested code/distro before committing.
21:31 Coke (though I did modify the file after that. =-)
21:31 Coke there. now someone else please look at that and make it pass. =-)
21:31 dalek parrot: r42274 | coke++ | trunk (2 files):
21:31 dalek parrot: Add a tool to verify makefile deps based on C #includes.
21:31 dalek parrot: Can probably go into 'make distro_tests' once we've kicked the tires.
21:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42274/
21:31 Coke (and then avoid skipping any includes)
21:31 Coke (and then make it run in distro_tests)
21:32 darbelo we have a distro_tests?
21:32 Coke or something, yes.
21:33 chromatic I like that idea.
21:33 Coke msg bacek - you need to run tools/dev/checkdepend.pl and clean up.
21:33 purl Message for bacek stored.
21:33 cotto_work iwbni dependency resolution were part of the configure process
21:33 darbelo I'm assuming it runs as part of fulltest, right?
21:33 Coke msg bacek (unless someone beats you to it.)
21:33 purl Message for bacek stored.
21:33 Coke cotto_work: for now, easier to find problames after they're made; could rework it to prevent them.
21:33 cotto_work yes
21:34 cotto_work one thing at a time
21:41 cotto_work Let's see some commits!
22:00 mikehh Coke: I get - 1..312 - # Looks like you failed 271 tests of 312.
22:03 cotto_work yeah.  there's a couple failures
22:07 dalek parrot: r42275 | darbelo++ | trunk (2 files):
22:07 dalek parrot: Remove all calls to the instantiate_str() VTABLE.
22:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42275/
22:08 Whiteknight joined #parrot
22:11 dalek parrot: r42276 | darbelo++ | trunk/src/pmc (4 files):
22:11 dalek parrot: Remove the now unused instantiate_str() VTABLE from all four PMC that implemented it.
22:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42276/
22:13 cotto_work darbelo, feel free to remove that from vtable.tbl (just be sure to bump PBC_compat)
22:14 darbelo cotto_work: next commit ;)
22:14 dalek parrot: r42277 | darbelo++ | trunk (4 files):
22:14 dalek parrot: Remove mentions of the instantiate_str() VTABLE from the documentation and auxiliary scripts.
22:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42277/
22:15 darbelo Not this one, the next commit ;)
22:20 FullMetalHarlot joined #parrot
22:21 dalek parrot: r42278 | fperrad++ | trunk (2 files):
22:21 dalek parrot: [library] genfile handles conditioned line with logical expression
22:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42278/
22:23 darbelo cotto_work: Wait I have to bump PBC_COMPAT for VTABLE deletions?
22:23 cotto_work yup.  it changes the bytecode format
22:23 darbelo I though that was for ops.
22:23 darbelo Thanks for the tip.
22:23 leto joined #parrot
22:24 cotto_work I may have been wrong.
22:24 Whiteknight I don't think it has anythign to do with bytecode
22:24 leto howdy! just a heads up: the machine that updates the parrot github mirror died and I am currently attempting to get stuff set back up
22:24 leto so the parrot github repo may not get updated until later today
22:24 cotto_work I must have been thinking of ops.
22:25 leto joined #parrot
22:26 Whiteknight leto++
22:26 darbelo commit went in without the bump.
22:27 darbelo We can still do it later if it was needed.
22:28 chromatic I can't think of why it might change PBC.
22:29 cotto_work My mistake.
22:29 dalek parrot: r42279 | darbelo++ | trunk/src/vtable.tbl:
22:29 dalek parrot: Remove the instantiate_str() VTABLE from vtable.tbl
22:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42279/
22:31 cotto_work chromatic, would it be a bad idea to excise the bitwise vtable functions?
22:31 chromatic That doesn't mean it doesn't change PBC, only that I have no idea why.
22:31 chromatic cotto_work, aren't some of those deprecated anyway?
22:32 cotto_work DEPRECATED says "Current list of VTABLE functions will be reviewed and cleaned."
22:32 darbelo The deprecation notice in DEPRECATED.pod is wide enough we could remove anything we wanted, really.
22:34 chromatic I thought I remembered a specific list somewhere.
22:35 chromatic Oh joy, RT #57028, PGE, pdd25cx, and the register alligator.  I need a snack first.
22:36 cotto_work yup.  they're mentioned in docs/embed.pod
22:45 dalek parrot: r42280 | jonathan++ | trunk/runtime/parrot/library/P6object.pir:
22:45 dalek parrot: Addition to P6object to make sure it can handle Rakudo ng branch's metamodel requirements.
22:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42280/
22:46 dalek TT #1072 closed by darbelo++: deprecate vtable function instantiate_str
22:57 allison joined #parrot
23:17 Coke ... config/auto/pmc.pmc is borked.
23:17 Coke (it's generating the PMC deps, and /it's/ missing things.)
23:20 cotto_work That's what you get for turning over rocks.
23:21 Coke and I am assuming there's logic duplicated there (one to generate the makefile deps, one to generate the #includes later)
23:21 darbelo Coke: Just don't assume sanity.
23:25 * Coke opens a new ticket.
23:32 plobsing joined #parrot
23:34 plobsing hi #parrot
23:35 * Coke reconsiders the ticket.
23:35 darbelo hi plobsing
23:37 mokurai joined #parrot
23:38 chromatic Hm, removing instantiate_str() and the other commits since last night gave us 1.511% better performance on fib.pir.
23:38 darbelo Did you manage to update the frame builder to curent pcc internals?
23:39 chromatic Not the old frame builder, no.
23:39 cotto_work I wonder what nuking the bitwise vtable functions will do for us.
23:39 darbelo Sorry, that was for plobsing, I meant his libjit one.
23:39 darbelo I think he was working on updating it, last I heard.
23:39 plobsing darbelo: yes.
23:40 plobsing unfortunately I had a brain fart yesterday and generated a 1.5M patch.
23:40 plobsing I have a workaround
23:40 plobsing mutch smaller patches. yay
23:40 darbelo That's a big patch.
23:40 plobsing exactly
23:41 plobsing my new strategy generates 3 patches, ~100K each
23:41 plobsing 1/5 the size
23:41 plobsing total
23:42 darbelo What was the old approach and what is the new one?
23:42 plobsing old approach diff against auto_libjit branch. new approach, diff against master
23:42 plobsing the problem was that pcc_reapply merge is a huge diff
23:43 dalek tracwiki: v3 | japhb++ | NCITasklist
23:43 dalek tracwiki: Add link to IRC log of discussion
23:43 dalek tracwiki: https://trac.parrot.org/parrot/wiki/N​CITasklist?version=3&amp;action=diff
23:43 shorten dalek's url is at http://xrl.us/bf2y5f
23:43 darbelo master? You are using git, then. I can see how that can go wrong.
23:43 plobsing master = trunk
23:44 darbelo svn <-> git interactions are messy when branches are involved.
23:45 plobsing while that may contribute, if I were working in svn, I still would have made a huge diff the old way
23:46 darbelo Yeah, but svn users often extract a patchset to reapply on a new branch instead of merging.
23:46 * Coke fixes the PMCs deps without opening a ticket.
23:46 darbelo That happeden on the pcc branch a few times.
23:46 darbelo Coke++
23:46 dalek parrot-plumage: 607e316 | japhb++ | :
23:46 dalek parrot-plumage: [META] TODO: Add repository metadata todos
23:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/607e31648352751aa8e78e6ccb68f3ab1998e611
23:46 shorten dalek's url is at http://xrl.us/bf2y5s
23:47 Coke that brings me down to only 53 missing deps.
23:47 darbelo Coke++
23:48 dalek parrot: r42281 | coke++ | trunk/config/auto/pmc.pm:
23:48 dalek parrot: Fix some PMC dependencies.
23:48 dalek parrot:  - the .o depends on its own .h
23:48 dalek parrot:  - recent PCC changes probably added more deps on other pmcs, but these were never reflected in the makefile deps.
23:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42281/
23:51 darbelo plobsing: anyways, are those diffs up anywhere?
23:51 plobsing I have added to TT#1105. It contains 3 patches and instructions for applying them.
23:51 * darbelo looks
23:56 darbelo plobsing: looks good. Want me to create a new branch and apply thise diffs?
23:56 plobsing please do

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

Parrot | source cross referenced