|
Parrot 1.7.0 "African Grey" is out! | Fix issues caused by the pcc_reapply and context_auto_attrs merges | find out what's up with the slice opcode | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 1 November 2009. |
|||
| dukeleto | kthakore: did you have questions for me? | 00:00 | |
|
00:00
payload joined
|
|||
| kthakore | dukeleto: not really | 00:09 | |
| chromatic: nice | |||
| japhb | chromatic, how many chapters have you got drafted at this point? | 00:13 | |
| Whiteknight | speaking of freeze, it's really freaking cold here | 00:18 | |
| dukeleto | Whiteknight: where is 'here' ? | 00:22 | |
| purl | comfort coraline's poodle. | ||
| Whiteknight | dukeleto: inside my apartment. I turned the thermostate up to 60F, and it got *much* warmer | 00:23 | |
| so I don't know how cold it was | |||
| dukeleto | Whiteknight: wow | ||
| japhb | Whiteknight, trying to do extreme overclocking without paying for the peltier? | ||
| chromatic | I'm not sure how many chapters I have right now; maybe 25% of the book. | 00:26 | |
| Whiteknight | chromatic: ETA? | ||
| purl | well, ETA is estimated time of arrival or Euskadi Ta Askatasuna, or like the Basque PLO | ||
| Whiteknight | i'll definitely buy a copy when it's out | ||
|
00:27
tetragon joined
00:28
tetragon joined
|
|||
| plobsing | hi #parrot | 00:28 | |
| chromatic | I hope to have it in print by February. | 00:36 | |
|
00:40
abqar joined
00:41
jsut joined
00:49
Zak joined
|
|||
| plobsing | ok, my merge auto_libjit+trunk experiment seems to be working. | 01:05 | |
| 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? | |||
| who should I poke to review it? | 01:06 | ||
| chromatic | Isn't there a branch for it? | ||
| plobsing | yes, auto_libjit. | ||
| chromatic | Is that up to date with your patch? | ||
| plobsing | no. its a little stale. | 01:07 | |
| this patch takes what's there, merges trunk and fixes up some small breakages | |||
| 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. | ||
| 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. | ||
| plobsing | that's effectively what I've done, but I don't have access to the svn repo, so I've used git | 01:09 | |
| chromatic | Okay, then I'd like to see two patches for each of the two parts. | 01:10 | |
| Then someone (Whiteknight? dukeleto?) can apply them to the branch for review. | |||
| Two patches, one for each part, I mean. | |||
|
01:11
Zak joined
|
|||
| plobsing | ok. the merge patch might be pretty big. it's effectively the size of the pcc_reapply merge | 01:11 | |
| Whiteknight | what am I applying where? | 01:15 | |
| chromatic | plobsing has a new patch to apply to the libjit framebuilder branch. | 01:16 | |
| plobsing | yeah, the merge commit is way too big for Trac (1.5M) | 01:22 | |
| can somebody merge trunk into auto_libjit? I can advise on resolving the small conflicts that arise. | 01:27 | ||
| (considering I've done it once before) | |||
| dukeleto | chromatic: what do you need reviewed? | ||
| chromatic | plobsing's branch. | 01:28 | |
| dukeleto | plobsing: link for your branch? | ||
| plobsing | svn or git repo? | 01:29 | |
| dukeleto | plobsing: git | 01:30 | |
| do you need to ask? ;) | |||
| plobsing | # Parrot_pcc_get_signature => | 01:31 | |
| # [ qw(void_ptr void_ptr) => 'void_ptr' ], | |||
| oops | |||
| github.com/plobsing/parrot-libjit | |||
| pasting is hard | |||
| dukeleto | plobsing: can you make a branch off of the github.com/leto/parrot upstream branch ? | 01:36 | |
| plobsing: when was your repo last synced? | 01:37 | ||
| plobsing | I've pulled from there if thats what you mean. | ||
| 30 minutes ago | |||
| dukeleto | plobsing: i see that now | ||
| plobsing: cool | |||
|
01:37
mikehh joined
|
|||
| dukeleto | plobsing: looks like you are merging with my master | 01:37 | |
| plobsing: if you merge with upstream, you won't see all those extra merge commits | 01:38 | ||
| dalek | rrot: r42255 | jkeenan++ | branches/configtests/t/steps/inter (14 files): Continue converting step tests to use all Parrot configuration data. |
||
| plobsing | dukeleto: please explain. examples would be nice. | ||
| dukeleto | plobsing: so am I looking at git diff master libjit ? | 01:39 | |
| plobsing | that's pretty much it | ||
| libjit is an extension of the auto_libjit svn branch | |||
| dukeleto | plobsing: I have very little jit experience, but I can give a review later tonight | 01:40 | |
| plobsing | that would be much appreciated | ||
| dukeleto | plobsing: i am cloning your repo now | ||
| plobsing: anything I should know? does make coretest pass on your branch? | 01:41 | ||
| plobsing: what is the state of the test suite in your branch? | |||
| 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 | ||
| s/all tests/whatever tests get run by make test/ | 01:43 | ||
|
01:43
markmont joined
|
|||
| dukeleto | plobsing: you can now commit to github.com/leto/parrot | 01:43 | |
| plobsing: you should see a 'your clone url' link now | 01:44 | ||
|
01:44
mikehh_ joined
|
|||
| dukeleto | plobsing: don't worry about warnings.t , somebody broke that on trunk | 01:44 | |
| plobsing | dukeleto+: it works! thanks | ||
| dukeleto++ | |||
| dukeleto | plobsing: make fulltest is the best :) | ||
| plobsing | I'll run that now | ||
| dukeleto | plobsing: make -j 4 fulltest is the bestest :) | ||
| 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 | ||
| chromatic: i think TEST_JOBS is set in my .bashrc :) | 01:47 | ||
| i am going to add the regulars to the repo | |||
| i don't know why I haven't before | |||
| plobsing | I thought the point of git was that every dev gets their own repos and then you just do pull requests | ||
| dukeleto | plobsing: pull requests are more work | 01:50 | |
| Tene | eh, there's a variety of ways to do things. | ||
| dukeleto | github is crapping itself, but I managed to add chromatic, tene, plobsing and bubaflub to the github parrot repo | 01:51 | |
| that can be the repo that we get code reviews for git branches | |||
| Tene | I'm really sketchy about ever relying on github. They haven't been anywhere near reliable enough for me to be comfortable. | ||
| dukeleto | plobsing: the point of git is to bend it to the workflow that you want | ||
| Tene: i mirror most stuff to my gitweb instance leto.net/gitweb (not as often) and there is also gitorious | 01:52 | ||
| Tene: the point of git is that you don't rely on github much | |||
| 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 | ||
| Tene: so I don't see github going down as a big deal | |||
| Tene: would you feel better if I kept a mirror on git.or.cz, gitorious, github and my gitweb instance? | 01:54 | ||
| Tene: that is trivially possible, although it costs me a lot more bandwidth :) | |||
|
01:57
kiwichris joined
|
|||
| dalek | rrot: r42256 | jkeenan++ | branches/configtests/t/steps/init/headers-01.t: Continue to convert steps tests to use of Parrot configuration data. |
01:58 | |
| dukeleto | kiwichris: yo dude! | ||
| rrot: r42257 | jkeenan++ | branches/configtests/t/steps/init/hints/darwin-01.t: No longer need to import Parrot::Configure. |
|||
| kiwichris | dukeleto, hi | ||
| dukeleto, have parrot running on a real PC how, not simulated using qemu | |||
| dukeleto | kiwichris: !!! | 01:59 | |
|
01:59
Zak joined
|
|||
| 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! | ||
| kiwichris: take a picture? | |||
| purl | It'll last longer! | ||
| dukeleto | kiwichris: sometimes purl is right :) | ||
| kiwichris: have you submitted a patch to trac? | 02:01 | ||
| kiwichris: | |||
| kiwichris | dukeleto, don't encourage it !! | ||
| plobsing | make fulltest -j3 => fail in t/pmc/threads.t | ||
| kiwichris | dukeleto, after that one of these www.axman.com/?q=node/247 | ||
| plobsing | prove t/pmc/threads.t => pass | ||
| dukeleto | plobsing: run prove 10 times. threads.t is known to fail intermittently | 02:02 | |
| kiwichris: so parrot is running on a V2 ColdFire ? | |||
| kiwichris | dukeleto, not yet but I will get it too soon'ish | 02:03 | |
| dukeleto | kiwichris: what is it running on now? what are the specs? | 02:04 | |
| kiwichris: also, what time is it by you? | |||
| 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 :) | ||
| plobsing: is prove using an installed parrot? | |||
| 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 | ||
| dukeleto | plobsing: delete your installed parrot to be sure, or move it aside | ||
| kiwichris: good to know. I didn't know RTEMS worked on pentiums :) | 02:06 | ||
| plobsing | dukeleto: nuked installed parrot from space. same result. | 02:07 | |
| dukeleto | plobsing: can you get "make fulltest" to pass threads.t? is it only the parallel fulltest that makes threads fail? | 02:10 | |
| kiwichris | dukeleto, exit question if that is ok ? | 02:11 | |
| dukeleto | kiwichris: you can ask any question whenever you want :) | 02:13 | |
| 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 | ||
| kiwichris: if you want to play with git :) | |||
| kiwichris | dukeleto, I suppose adding a parameter to Parrot_new is not ok given it is an API. | ||
| dukeleto, thanks, but I think the patch will be small. | 02:15 | ||
| dukeleto | kiwichris: we have a deprecation policy | ||
| kiwichris: :) | |||
| kiwichris: if it is a backwards compatible api change, it can be done whenever | |||
| 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
|
|||
| 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. | ||
| dukeleto | kiwichris: that sounds pretty reasonable right now | ||
| 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 | ||
| kiwichris: and only people who want a custom exit handler pay the extra cost, because it is opt-in | |||
| kiwichris: i like it | |||
| 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 | ||
| chromatic | Did you see Parrot_on_exit? | ||
| dukeleto | chromatic: that calls the system exit() unconditionally | ||
| kiwichris | chromatic, and exit == reboot for me | ||
| plobsing | kiwichris: what if a user wants to trigger a reboot from parrot? | 02:20 | |
| kiwichris | plobsing, good question | ||
| chromatic | I don't understand the problem then. | ||
| 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. | ||
| cotto | Has anyone seen Primer? | ||
| 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 | ||
| dukeleto | plobsing: your diff has 273 files changed. | 02:22 | |
| plobsing | from master? | ||
| or from auto_libjit? | |||
| dukeleto | plobsing: am I doing git diff libjit auto_libjit? | ||
| plobsing: you said git diff master libjit before | |||
| plobsing | its tricky... | ||
| chromatic | I'd rather have a system-specific exit call than create a new way to exit that isn't really exit. | ||
| 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() | ||
| plobsing | so diff with master is easier. also probably smaller | ||
| chromatic | For an OS-specific behavior? That feels like the wrong place to do it. | ||
| plobsing | dukeleto: can you nopaste the list of changed files | ||
| 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 | ||
| chromatic: can we add an argument to Parrot_on_exit() ? | |||
| 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 | ||
| dukeleto | chromatic: that sounded like it might incur the dep policy, so we were thinking a new function is opt-in | ||
| plobsing | 273 seems a wee bit high | ||
| dukeleto | $ git diff master libjit --name-only | wc -l | ||
| 273 | |||
| plobsing: nopaste the command: cat .git/config in your repo | |||
| chromatic: what is the best way without incurring the deprecation policy? | 02:26 | ||
|
02:26
markmont left
|
|||
| 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. | ||
| 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. | ||
| plobsing | configure flag? | ||
| dukeleto | chromatic: i see, says the blind man | ||
| chromatic | No deprecation necessary. | 02:28 | |
| dukeleto | chromatic: what about setting a custom final exit handler? | ||
| kiwichris | chromatic, this is fine with me | ||
| dukeleto | chromatic: nice solution | ||
| kiwichris | chromatic, is platform.c generated by configure ? | ||
| chromatic | Yes. | 02:29 | |
| See config/gen/platform/* | |||
| I suspect, but cannot prove, that we'll need more platform-specific code for RTEMS in there anyway. | 02:30 | ||
| kiwichris | chromatic, yes I tend to agree as we get into Parrot more | 02:31 | |
| nopaste | "plobsing" at 76.68.74.120 pasted "plobsing's git/config" (17 lines) at nopaste.snit.ch/18568 | 02:32 | |
| kiwichris | chromatic, I would make a patch for platform.c but the Configure.pl magic is beyond me. | 02:33 | |
|
02:34
dngor joined
|
|||
| chromatic | Yeah, that needs a bit of research. | 02:34 | |
| 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:36 | ||
| dukeleto | kiwichris: we will take care of the build auto-generation stuff. | 02:40 | |
| kiwichris | dukeleto, thanks. I will hack Parrot_exit for now | 02:43 | |
| dukeleto | chromatic: what about adding a cross compile flag to Configure ? | 02:44 | |
| 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. | ||
| dukeleto | chromatic: what kiwichris said | 02:46 | |
|
02:47
diakopter joined
|
|||
| 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. | ||
| dukeleto | chromatic: i've discovered some of her dark secrets, but I am sure more await | 02:48 | |
|
02:52
kid51 joined
|
|||
| kid51 | plobsing ping | 02:53 | |
| dukeleto | kid51: ping! | ||
| kid51 | dukeleto pong | ||
| plobsing | kid51: pong | ||
| kid51 | plobsing: pcc_reapply_merge_fixups.patch in TT 1105: Do you want that merged into the branch or into trunk? | 02:54 | |
| plobsing | looking to merge to branch first, but trunk is pretty close. | 02:55 | |
| however, disregard my last message. the patches were too big | |||
| pcc_reapply merge is 1.5M | |||
| dukeleto | kid51: i want to implement cross compiling in Configure.pl | ||
| kid51: chromatic said I should talk to you | 02:56 | ||
| plobsing | also the second patch (actually attached) includes regular trunk commit activity | ||
| bad patch postings, sorry | |||
|
02:56
allison joined
|
|||
| kid51 | plobsing I'll be happy to apply any patches you want to the auto_libjit branch. Just line them up. | 02:58 | |
| 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. | ||
| plobsing | I don't know how to proceed on that. | 03:00 | |
|
03:00
payload1 joined
|
|||
| 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:01 | |
| I'm not awake enough right now to focus on this, sorry. | 03:02 | ||
| dukeleto: Have you read the documentation in Configure.pl on file-based configuration? | |||
| plobsing | kid51: no problem. I have plenty of other tasks I need/want to do | ||
| kid51 | That functionality was requested by particle as a step toward cross-compiling. | ||
|
03:04
Zak joined
|
|||
| plobsing | Should I put my ideas about NCI up on the wiki, under NCITasklit, or on the NCI RFC ticket, TT1192? | 03:08 | |
| kid51 | plobsing: Cet. par., go with the Trac ticket. | 03:10 | |
|
03:10
JimmyZ joined
|
|||
| 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 | |
| Others probably work differently. YMMV. | |||
| plobsing | realized the track ticket is more specific. my thoughts are more general. going with the wiki page. | 03:16 | |
| dukeleto | kid51: a bit | 03:29 | |
| kid51: the platforms overrides are not going to solve the issue of cross-compiling | 03:30 | ||
| dalek | TT #1194 created by jkeenan++: 7 config steps improperly rely on Perl 5 %Config 'OSNAME' element | 03:40 | |
|
03:41
janus joined
|
|||
| 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 | |
| Decades in Parrot years ;-) | |||
| So, if you can post to list or open a TT or something, that will give me something to think about. | |||
| dukeleto | kid51: have you seen everything going on with the rtems port? it is to support that | 03:44 | |
| kid51: but yes, I will make a ticket | |||
| kid51 | dukeleto: I haven't had time to keep up with everything that's happening in Parrot these days. | 03:45 | |
| 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 | rrot: r42258 | jkeenan++ | branches/convert_OSNAME: Create a branch to work on TT #1194. |
||
| tracwiki: v116 | dukeleto++ | WikiStart | 03:48 | ||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| dukeleto | kid51: leto.net/dukeleto.pl/2009/11/realti...rrots.html | ||
| dalek | rrot: r42259 | jkeenan++ | branches/configtests/t/steps (10 files): Continue to convert steps tests to use of Parrot configuration data. |
03:49 | |
|
03:56
JimmyZ_ joined
|
|||
| dalek | TT #1195 created by dukeleto++: Add cross-compiling support to Configure.pl, such as ... | 03:57 | |
| kid51 must sleep | 03:58 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| nopaste | "dukeleto" at 69.64.235.54 pasted "look what the sneaky ruby rockstars have done with whois perl.com" (11 lines) at nopaste.snit.ch/18569 | 04:01 | |
| chromatic | Your mistake is thinking that perl.com has been relevant at all in 2009. | 04:02 | |
| dukeleto | chromatic: you mean their mistake :) | ||
| chromatic: you are the one 'denting' about perl.com ;) | |||
| 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 | ||
| chromatic: perhaps they need to be taught a lesson | |||
| 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:05 | |
|
04:06
mokurai joined
|
|||
| dukeleto | msg japhb i am noticing plumage takes quite a bit longer to compile now | 04:10 | |
| purl | Message for japhb stored. | ||
| nopaste | "dukeleto" at 69.64.235.54 pasted "latest plumage does not compile for me due to POD issues" (19 lines) at nopaste.snit.ch/18570 | 04:16 | |
| dukeleto | msg japhb actually, it doesn't compile: nopaste.snit.ch/18570 | ||
| purl | Message for japhb stored. | ||
| japhb | dukeleto, pong | 04:21 | |
| Hmmm, it was compiling fine when I committed last ... | |||
| Weird, that looks like NQP regressed handling of POD | 04:22 | ||
| dukeleto | japhb: which commit of nqp-rx are you using? | 04:23 | |
| japhb: i am using 1ee030e7d | |||
| japhb | 4bb93132de80e0b5598cf3014002a3c64ad6a4ae | ||
| Not sure how old that it. | |||
| er is | 04:24 | ||
| Checking just now that latest plumage compiles for sure with that nqp-rx | 04:25 | ||
| ... yup | |||
| So it's an nqp-rx regression. | |||
| dukeleto | japhb: that is 7 commits ahead of mine | ||
| 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 | ||
| japhb | heh | ||
| nice that I caught the right commit perfectly | |||
| plobsing | japhb: looking at NCITaskList | 04:27 | |
| japhb: could you elaborate on why the current structure API is painful and slow? | |||
| 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"? | ||
| dukeleto | plobsing: Struct of Arrays, Array of Structs | 04:29 | |
| 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:30 | |
| plobsing | japhb: you only have to make the description object once | 04:31 | |
| AFAICT | |||
| 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 | ||
| plobsing | oic | ||
| just say pascal strings | 04:32 | ||
| and I'll know | |||
| 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. | ||
| plobsing | japhb: padded strings? | ||
| 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. | ||
| plobsing | and you want *all* of them? | ||
| 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:34 | |
| plobsing, we should be able to do Perl 5 pack(), or be embarrassed. | 04:35 | ||
| Now, I'm not saying we have to do it all *immediately*, but | |||
| you did ask what we weren't handling yet. :-) | 04:36 | ||
| And as for "write a wrapper", that just makes the performance issues worse. | |||
| I described above that the struct-handling API was ugly and painful to use. But it's also SLOW. | |||
| As in, limits the maximum performance of OpenGL code. | 04:37 | ||
| dukeleto | lastest nqp doesn't even compile | ||
| 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. | ||
| japhb: the alternative is to just use a byte array and manage the offsets yourself | |||
| 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:38 | |
|
04:39
nbrown joined
|
|||
| dukeleto | msg pmichaud latest nqp-rx does not compile for me: nopaste.snit.ch/18571 | 04:39 | |
| purl | Message for pmichaud stored. | ||
| plobsing | japhb: zero-copy R/W access to buffer contents | ||
| japhb: isn't that already provided for by the NCI types? | |||
| 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:40 | |
| plobsing | I am not smart enough to understand half of what you just said | 04:41 | |
| mads? | |||
| purl | mads are they the folks who stuck joel on the space station? | ||
| 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. | ||
| japhb | fused Multiply ADd instructions | ||
| plobsing | I don't know about elsewhere | ||
| 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" | ||
| dukeleto | japhb: i am compiling 4bb9313 now, which looks promising | ||
| japhb | dukeleto, cool beans | ||
| dukeleto | japhb: it is going to be a bumpy ride :) | 04:45 | |
| fuck. spoke too soon. it failed as well | |||
| 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 nopaste.snit.ch/18572 | ||
| 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. | ||
| dukeleto | japhb: which platform/os are you on? | ||
| japhb | dukeleto, currently debian/i386 | ||
| well, i686, actually | |||
| dukeleto | japhb: 4bb doesn't compile for me | ||
| japhb: i am blowing away the parrot dir in the nqp-rx repo and trying again | 04:48 | ||
| 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 | ||
| japhb | dukeleto, --gen-parrot is dead to me. I do everything through the installed parrot, which I've configured with --prefix=/usr/local/parrot . | ||
| 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 | ||
| I don't think it's impossible. Just not easy. | |||
| (Clearly, C compilers have to do it. :-) | 04:53 | ||
| plobsing | japhb: being demanding of ourselves is a good thing | ||
| means we provide it before a user whines about it | |||
| 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) | ||
| ... 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
|
|||
| 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 | ||
| japhb | ... and any API with a long long argument, and so on. | ||
| Man, I hope so. | |||
| 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. | ||
| plobsing | I tend to lean towards worse is better here, so expect to do more work for it | ||
| 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:58 | |
| 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-offset-with-optional-resizing (plus push, pop, etc) | ||
| dukeleto | japhb: nuking the generated parrot made it work | 05:00 | |
| japhb | dukeleto, excellent. | ||
| kurahaupo | So if there's another source of "this byte offset", doing the type mangling would already be provided... | ||
| 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. | |||
| dukeleto | japhb: it seems that the gen-parrot option gets confused if you change branches | ||
| 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! | ||
| japhb | Almost makes me want to figure out how to have the makefile depend on the current branch name | ||
| dukeleto, yup! | 05:02 | ||
| kurahaupo | japhb: so you'd like my set_element and get_element to auto-increment the byte pointer? | ||
| kurahaupo apologizes for the conversational lag... | 05:03 | ||
| 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 :) | ||
| purl | Message for pmichaud stored. | ||
| kurahaupo | japhb: makes sense, yes. | ||
| plobsing | japhb: should be possible. braindumping to NCITaskList ATM | ||
| 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 | |||
| 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. | ||
| 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:08 | ||
| 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. ;-) | ||
| right | |||
| 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 | ||
| each providing a different view | |||
| 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? | ||
| 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:12 | |
| 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. | ||
| japhb is amazed that chromatic had not said something earlier in this discussion. ;-) | 05:14 | ||
| kurahaupo | chromatic: is that slated to change? | ||
| chromatic | It's a possibility. | ||
| First, we need to make a case for deprecating the modify-in-place behavior of STRING APIs (on the wiki). | 05:15 | ||
| We probably need STRINGNULL before that. | |||
| Coke | cotto: yes, I've seen Primer++ (+=100) | ||
| 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:17 | |
| chromatic | In theory, Parrot_gc_register_pmc should do that. | 05:18 | |
| plobsing | that should somehow be available from PIR then | ||
| 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. | ||
| oh, excellent. | |||
| plobsing | japhb, chromatic: I have put my thoughts on japhb's NCI issues at the bottom of trac.parrot.org/parrot/wiki/NCITasklist | 05:20 | |
| japhb | looking .... | 05:21 | |
| dalek | tracwiki: v2 | plobsing++ | NCITasklist | 05:22 | |
| tracwiki: plobsing's naive thoughts | |||
| tracwiki: trac.parrot.org/parrot/wiki/NCITas...ction=diff | |||
| chromatic | # | ||
| * | |||
| o | |||
| # allow more direct PIR access to NCI PMC (particularily creation) | |||
| Is that different from the dlfunc opcode? | |||
| plobsing | dlfunc is too restrictive | ||
| if I get a pointer to a function otherwise, I can't call it | 05:23 | ||
| chromatic | How do you get that pointer otherwise? | ||
| 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 | ||
| kurahaupo notices it's time to go $HOME; goodnight everyone | |||
| 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. | ||
| 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. | ||
| 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 | |
| I'm sure it'll be a little easier to get the second time. | |||
| japhb | It's nuts, but it's essentially routing around ancient Microsoft brain damage. | ||
| dalek | tracwiki: v19 | kurahaupo++ | ArrayTasklist | ||
| tracwiki: trac.parrot.org/parrot/wiki/ArrayT...ction=diff | |||
| Coke | cotto: (confused) by the movie? | ||
| dukeleto | japhb: in the USING file, shouldn't we tell users "sudo plumage install ..." ? | ||
| Coke | Your brain should be oozing out the side when you're done. | ||
| cotto | quite | 05:26 | |
| japhb | Plumage does sudo automatically when it discovers it can't write to the Parrot bin dir. | ||
| ;-) | |||
| 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 | ||
| japhb | I don't want to run fetch, configure, build, test, as root | ||
| plobsing, thank you for listening and writing down your thoughts in the Wiki. | 05:28 | ||
| plobsing | japhb: I'm not stopping there. that's pushed as yet another task to do soon (sometime this month) | 05:29 | |
| japhb | :-) | ||
| plobsing | mostly because some things would benefit by deprecations ASAP | ||
| Coke | japhb: should plumage not run previous steps if possible? | ||
| so then "plumage test partcl; sudo plumage install partcl" works quicker? | 05:30 | ||
| plobsing | dukeleto: wrt huge number of files modified with libjit changes (3 hours ago) | 05:31 | |
| dukeleto: are you doing git diff master parrot-libjit/master --name-only | wc -l | |||
|
05:31
Zak joined
|
|||
| 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 | ||
| 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 | ||
| And it will only do the steps it *has* to do. | |||
| dukeleto | plobsing: i will try that in a few. i think we were diffing different things before ;) | 05:36 | |
| dalek | TT #1197 created by coke++: Need some way to copy/rename files from parrot. | 05:37 | |
| TT #1198 created by kjs++: interactive mode doesn't save lexicals correctly | |||
| Coke | chromatic: on 1196, I believe pdd30 suggests installing under a languages dir. | ||
| plobsing | dukeleto: I just realized. I'll push what I want you to diff as a new branch | 05:38 | |
| dukeleto: because that's what you'll wind up doing eventually anyways | |||
| japhb | Anyone have any last minute things waiting on me? | 05:40 | |
| Otherwise I'm off for the night .... | |||
| dalek | rrot-plumage: a92d932 | leto++ | : [t] Upgrade t/harness to utilize string interpolation |
05:41 | |
| chromatic | languages? | ||
| purl | languages is trac.parrot.org/parrot/wiki/Languages | ||
| dukeleto | japhb: i am not so happy about t/harness depending on src/lib/Glue.pbc | ||
| japhb | mmph? | ||
| Why? | 05:42 | ||
| dukeleto | japhb: i want to break that dependency, i want t/harness to be self-contained | ||
| japhb: i only use qx() and split() | |||
| japhb | dukeleto, that's going to be non-trivial, because of NQP not having a runtime. Glue basically is our runtime. | ||
| But you could certainly just inline the PIR if you wanted to. | |||
| dukeleto | japhb: do I rely on global variable that get defined in PIR? | 05:43 | |
| japhb | yes. | ||
| see bottom of Glue.pir for those. | |||
| dukeleto | japhb: i use slurp() too | ||
| dalek | TT #1199 created by coke++: automatically create config.log during build | ||
| japhb | yup. Amazing how much you need from there, isn't it? | ||
| 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. | ||
| dukeleto | japhb: i want to use that harness in another repo, which doesn't have "the glue". | ||
| 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 | |
| OK, AFK for now. | |||
| dukeleto | japhb: cool! night. | 05:46 | |
| japhb: or I just copy Glue.pir as well, for now | 05:47 | ||
| eternaleye | cotto: Coke: I made it halfway through Primer before my brain asploded | 05:49 | |
| dalek | TT #1200 created by coke++: sprintf formatting for exponents needs to be standardized | 05:50 | |
| TT #1201 created by coke++: Parrot::Pmc2c::Emitter line # error | |||
| Coke | trac is slowwwwwwwwwwwwwww | 05:51 | |
| plobsing | dukeleto: pushed experimental branch auto_libjit_pcc_reapply to your github parrot repo | 05:52 | |
| dalek | rrot-plumage: bebf8d4 | leto++ | : [t] Add note about where canonical home of t/harness is, in case it star... |
||
| dukeleto | plobsing: cool! | 05:54 | |
| plobsing: how do you want me to review it? | |||
| plobsing | build + test would be a good start | 05:55 | |
| Coke | RT: 89 tickets | 05:56 | |
|
05:56
kurahaupo joined
|
|||
| plobsing | from there, have a glance at the meat of the change: config/gen/{libjit.pm,libjit/frame_builder_libjit_c.in} | 05:58 | |
| there's also some changes in src/pmc/nci.pmc that merit review | 06:00 | ||
| dukeleto | plobsing: what should I diff it against? master? | 06:03 | |
| plobsing | parrot trunk. I assume master =~ parrot trunk, so yes | 06:04 | |
| dukeleto | plobsing: yes. | ||
| plobsing | dukeleto: could you be more specific? | ||
| dukeleto | plobsing: master and upstream branches on the parrot github mirror are ~ to trunk | 06:08 | |
| plobsing: upstream = trunk, master = trunk + merge commits | |||
| plobsing | awesome | ||
| diff with master then | |||
| dukeleto | plobsing: ok | ||
| Coke | RT is now down to 85 tickets; I'm not feeling the love. | 06:13 | |
| 35 of those are assigned. | 06:14 | ||
| 35/85 | |||
| purl | 0.411764705882353 | ||
| Coke | 85-35 | ||
| purl | 50 | ||
| Coke | so if everyone with a commit bit ported 2 of the unowned tickets to trac... | ||
| dalek | rrot: r42260 | coke++ | trunk/compilers/imcc/optimizer.c: Remove reference to rejected ticket. |
||
| dukeleto | Coke++ # with love | 06:24 | |
| Coke | I'd rather you moved some tickets. =-) | 06:25 | |
| cotto | clipperz++ | 06:26 | |
| Coke | osx-- | 06:28 | |
| cotto | dukeleto, what's with the sudden interest in getting Parrot on RTEMS? | 06:31 | |
| dukeleto | cotto: i hung out with some RTEMS core devs at the gsoc conference | 06:33 | |
| cotto: so we were like, "let's see if we can get this to work" | |||
| cotto: beer was involved | |||
| Coke | ... so if I give you beer, you'll work on partcl? | ||
| dukeleto | Coke: yes. | 06:35 | |
| cotto | Sweet. Beer does great things sometimes. | 06:38 | |
| sometimes, not so much | |||
| dukeleto | Coke: i still can't resolve tickets on RT | 06:39 | |
| Coke: anything I assign to you, you should close | |||
| Coke: i can't even reassign it to you! | |||
| Coke: this is madness. | |||
| dalek | TT #1204 created by dukeleto++: Implement all TODO comments in t/pmc/parrotio.t | ||
| dukeleto | Coke: can you close all the RT's that I am adding "This is now tracked at" messages to ? | 06:41 | |
| dalek | TT #1205 created by dukeleto++: Test exporting MMD subroutines in t/pmc/exporter.t | 06:46 | |
| rrot: r42261 | dukeleto++ | trunk/t/pmc/exporter.t: [cage] Update bug tracker details for a TODO in t/pmc/exporter.t |
06:47 | ||
| TT #1206 created by dukeleto++: Test more return values in t/pmc/io_iterator.t | 06:53 | ||
|
06:56
davidfetter joined
|
|||
| dukeleto | davidfetter: howdy | 06:58 | |
| purl | salut, dukeleto. | ||
| davidfetter | hai dukeleto | ||
| what's the latest? :) | |||
| 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 :) | ||
| davidfetter in paris atm, getting ready for pgday.eu | 07:00 | ||
| dukeleto | davidfetter: be sure to recruit some people for pl/parrot! | ||
| davidfetter | will do. anything in particular you want highlighted? | ||
| 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
|
|||
| cotto | Was the consensus that nqp-rx would have regularly-updated snapshots in Parrot trunk? | 07:05 | |
| davidfetter | 'sup cotto | ||
| dukeleto | cotto: there was no consensus, other than a one-time nqp-rx upgrade. but plumage just switched over to nqp-rx | ||
| 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 | ||
| that sounds workable | |||
| dukeleto | cotto: it seems to be a happy middle ground between stability, deprecation cycles and developer sanity | 07:07 | |
| cotto: do you have the power to close RT tickets? | 07:08 | ||
| cotto: i can reply, but i cannot reassign or resolve/close | |||
| cotto | I should | 07:10 | |
| lemme try | |||
| would "resolved" or "rejected" be more true? | 07:11 | ||
| dukeleto | cotto: any | 07:12 | |
| cotto | works for me | ||
| ok | |||
| I'll troll through the list of any numbers that need to be resolved. | |||
| 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 | ||
| dalek | TT #1207 created by dukeleto++: Non-existent lexical throws exception | ||
| dukeleto | cotto: also, the latest modified trac tickets should have a link to the RT they are replacing | 07:13 | |
| cotto: icanhaz.com/parrotbugs :) | |||
| cotto | done | 07:15 | |
| dalek | tracwiki: v3 | bubaflub++ | ConvertTestsToParrot | 07:18 | |
| tracwiki: Test that check errors can use dies_ok(), throws_like() and throws_substring() | |||
| tracwiki: trac.parrot.org/parrot/wiki/Conver...ction=diff | |||
| TT #1208 created by dukeleto++: Optimize Parrot_pbc_read to do fewer stat() calls | 07:22 | ||
| diakopter | anyone, what's an example of a p6regex in nqp-rx... | 07:24 | |
| dukeleto | diakopter: one sec | ||
| diakopter | ok | 07:28 | |
| dukeleto | diakopter: ^<[a]> | ||
| diakopter: good examples are in the t/p6regex directory of the nqp-rx repo | |||
| nqp-rx? | 07:29 | ||
| purl | nqp-rx is probably a rewrite of NQP and PGE. | ||
| dukeleto | purl, forget nqp-rx | ||
| purl | dukeleto: I forgot nqp-rx | ||
| dukeleto | purl, nqp-rx is github.com/perl6/nqp-rx | ||
| purl | OK, dukeleto. | ||
| dukeleto | Coke: can you close rt.perl.org/rt3/Ticket/Display.html?id=46861 too? | 07:31 | |
| cotto | not now, he can't ;) | ||
| dukeleto | cotto: i meant to ask you :)) | ||
| cotto | I have a moderately effective dtrt() implementation | 07:33 | |
| dukeleto | cotto++ | 07:39 | |
| cotto: and rt.perl.org/rt3/Ticket/Display.html?id=50894 :) | 07:42 | ||
| dalek | TT #1209 created by dukeleto++: parrot -O Fails Tests | ||
| dukeleto | can rt.perl.org/rt3/Ticket/Display.html?id=48439 be closed? llvm is listed in PLATFORMS | 07:45 | |
|
07:46
payload joined
|
|||
| dukeleto | cotto: please close rt.perl.org/rt3/Ticket/Display.html?id=48439 as well | 07:47 | |
| cotto | with that, I'm out | 07:52 | |
| dukeleto++ | |||
| dukeleto | cotto: thanks for the help | 07:53 | |
| dalek | rrot: r42262 | chromatic++ | trunk/src/pmc/default.pmc: [PMC] Removed RT #46665 TODO comment; there's no real value to walking the MRO thing. PMCs that do something different for their parentage (Class, Object) override the appropriate vtable entries anyway. |
07:56 | |
|
08:11
elmex joined
08:17
eternaleye joined
08:25
iblechbot joined
08:29
payload joined
08:33
fperrad joined
|
|||
| dalek | rrot: r42263 | chromatic++ | trunk/lib/Parrot (2 files): [lib] Added an exception to ops processor when it (presumably accidentally) |
08:44 | |
|
08:53
JimmyZ joined
|
|||
| dalek | rrot: r42264 | chromatic++ | trunk/lib/Parrot/Pmc2c (2 files): [lib] Made PMC emitters throw exceptions when encountering unknown NCI |
08:54 | |
|
08:59
particle joined
09:07
payload1 joined
|
|||
| dalek | TT #1210 created by bubaflub++: [PATCH] t/op/inf_nan.t converted to PIR | 09:13 | |
|
09:25
JimmyZ_ joined
09:31
mokurai left
09:36
bacek joined
|
|||
| bacek | o hai | 09:37 | |
| moritz | lolitsbacek! | ||
|
09:38
payload joined
|
|||
| bacek | moritz, OH NOES! EVERYBODY PANIC! :) | 09:39 | |
| chromatic | bacek, did you see my comment on TT #1187? | 09:40 | |
| bacek | chromatic, nope. Going to check now | 09:41 | |
| chromatic, there is no your comments on this ticket... | 09:42 | ||
| chromatic | Hm, it's on the list. I wonder why it didn't make it into Trac. | 09:43 | |
| 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: | |||
| $ nm -g blib/lib/libparrot.so | grep Parrot_pcc_warnings | |||
| We need to fix those macros so that the symbols always get exported but the Parrot core itself can use the quick accessors. | |||
| bacek | chromatic, hm... Let me check it | 09:45 | |
| dalek | rrot: r42265 | chromatic++ | trunk/compilers/imcc/cfg.c: [IMCC] Used the "new" way to see if an IMC_Unit represents a PCC sub in IMCC's |
09:46 | |
| bacek | chromatic, why gcc on OSX fails to expand nested macros? | ||
| chromatic | I don't know; I know nothing about Mac OS X except that it's apparently some sort of Adamsian Advanced Unix Substitute. | ||
| bacek | chromatic, :) | 09:47 | |
| bah... Why xchat switched from ':' to ',' in tab completion? | |||
| moritz | a famous german blogger always calls Mac OS X a "Unix with a funny hat" | 09:48 | |
| bacek | chromatic, looks like it failing early. On "Ugly cheat" comment. | 09:49 | |
| 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 | |
| I'd have done it, but I have an acute case of the premier Perl virtue. | |||
| 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:52 | |
| 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 | ||
| chromatic | That's not the problem I see with t/src/warnings.t. | 09:54 | |
| bacek | chromatic, it is problem. On OSX "context.h" gets included somehow before defining PARROT_IN_CORE | 09:55 | |
| t/src/warnings_2.c:15: error: dereferencing pointer to incomplete type | 09:56 | ||
| telling exactly this | |||
| chromatic | # Failed to build 't/src/warnings_2': t/src/warnings_2.o: In function `main': | 09:57 | |
| # /home/chromatic/dev/gitparrot/t/src/warnings_2.c:14: undefined reference to `Parrot_pcc_warnings_on' | |||
| # collect2: ld returned 1 exit status | |||
| I had the pointer warning, but I fixed that (on Linux, at least) the other day. | |||
| bacek | and changing pmc2c to produce headers inside include/parrot/pmc will allow us to include pmc_context unconditionally. | 09:58 | |
|
10:12
kthakore joined
|
|||
| bacek | chromatic, actually it should generate headers in "include/pmc" | 10:15 | |
|
10:38
kiwichris joined
|
|||
| dalek | rrot: r42266 | fperrad++ | trunk (5 files): [library] a new PIR library which allows configure step with an installed Parrot and no dependency. |
11:04 | |
| rkdown: c035be3 | fperrad++ | Configure.pir: the stuff is now in a library which comes with Parrot |
11:06 | ||
|
11:08
bacek joined
11:16
shorten joined
11:25
nbrown joined
11:35
plobsing joined
11:45
payload joined
|
|||
| Coke finds he owes dukeleto a beer. | 12:08 | ||
| 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
12:29
ruoso joined
|
|||
| dalek | rrot: r42267 | NotFound++ | trunk (2 files): check for null string in Parrot_oo_get_class_str, TT #1107 |
12:42 | |
| plobsing | hi #parrot! | 12:47 | |
| ttbot | Parrot trunk/ r42267 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/132687.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 12:48 | |
| dalek | rrot: r42268 | NotFound++ | trunk/src/oo.c: fix a strict C violation introduced in r42267, ttbot++ |
12:55 | |
| 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. | ||
| Coke | cotto++ | 13:10 | |
| dukeleto++ | |||
| chromatic++ # actually closing some tickets the old fashioned way! | 13:11 | ||
| RT: now at 70 | |||
|
13:15
whiteknight joined
13:17
kid51 joined
|
|||
| whiteknight | good morning #parrot | 13:17 | |
| kid51 | good morning whiteknight | 13:18 | |
| msg mikehh Could you give the 'convert_OSNAME' branch a 'make fulltest' run on your 64-bit platform? See trac.parrot.org/parrot/ticket/1194. Thanks. | 13:20 | ||
| purl | Message for mikehh stored. | ||
|
13:22
he__ joined,
he__ left
|
|||
| whiteknight has a LOT of emails this morning | 13:23 | ||
| Coke++ | |||
| dukeleto++ | |||
| Coke | regarding my sent-just-now, any bikeshed ideas on how to mark tickets as 'this is resolved" in the docs? | 13:27 | |
| TT #12354 is a live issue... TT #-12344 ? TT *12345 ? | 13:28 | ||
| 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:29 | ||
|
13:51
davidfetter joined
13:58
mikehh joined
14:24
kj joined
14:32
payload joined
14:33
masak joined
15:08
patspam joined
15:13
payload joined
15:20
joeri joined
15:26
s1n joined
15:27
_particle_ joined,
Psyche^ joined
15:41
whiteknight joined
|
|||
| 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 | rrot: r42269 | dukeleto++ | trunk/t/op/00ff-unix.t: [t][TT# 1186] Convert t/op/00ff-unix.t to PIR, bubaflub++ |
||
| Coke | perl6 people: is rt.perl.org/rt3/Ticket/Display.html?id=60098 closable? | 15:47 | |
| actually, yes, I'm going to call it.) | |||
| dalek | TT #1186 closed by dukeleto++: [PATCH] convert t/op/00ff-unix.t to PIR | 15:48 | |
|
15:56
mikehh joined
15:57
theory joined
16:07
fperrad joined
16:24
payload joined
16:48
mikehh joined
|
|||
| whiteknight is happy about fperrad++'s random number module | 16:52 | ||
| NotFound | whiteknight: You won a lottery using it? | 16:53 | |
| whiteknight | not that happy | ||
| fperrad | whiteknight, Math/rand.pir or Math/Random/mt19937ar.pir ? | 16:55 | |
| whiteknight | mt19937ar | 16:56 | |
| fperrad | whiteknight, mt19937 will leave the nest, see github.com/fperrad/parrot-MT19937 | ||
| whiteknight | yes, that's what I'm looking at right now | 16:57 | |
| I didn't realize mt19937 was in the repo at all | |||
| I've been wanting to implement an MWC generator for Parrot | 17:01 | ||
| maybe I will do that sometime | |||
| Coke | (Leave) don't forget to open a ticket and put it in DEprecated. | 17:04 | |
| mwc? | 17:06 | ||
| whiteknight | multiply-with-carry | 17:07 | |
| it's a very nice PRNG algorithm with extensible period | |||
|
17:13
desertm4x joined
17:14
szabgab joined
|
|||
| Coke | RT: 69 tickets left. | 17:21 | |
| jonathan: should I steal back the tickets I assigned to you? | 17:22 | ||
| jonathan | Coke: In RT, I seem to ahve 2. | 17:23 | |
| (for Parrot) | |||
| 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 | |||
| Coke | jonathan: yup. probably bc you opened the original ticket. | ||
| figured you'd know if it needed transferring. | 17:24 | ||
| jonathan | Right | ||
| 61224.eof returns false if last read call read the last byte of the file, but not beyond | |||
| Coke | (or because you volunteered ages ago) | ||
| 2/69 | |||
| purl | 0.0289855072463768 | ||
| jonathan | I think on that second one, there was some debate as to whether that behavior was by design. | ||
| Coke | that's 3% of the tickets. You could really make a difference. =-) | ||
| jonathan | Coke: to be honest, it's a design call rather than a bug. | 17:25 | |
| We work around it in Rakudo. | |||
| I don't mind which way it goes. | |||
| Don't know what the criteria is for mvoing to trac either ;-) | 17:26 | ||
| Coke | everything goes. | ||
| (unless it's bogus or done.) | |||
| 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 | |
| If the comment in #46687 still exists, then I'd say move it over - if the comment is gone, it can be closed. | |||
| pmichaud | note there's already a ticket in trac referring to eof issues | 17:28 | |
| (the readline ticket) | |||
| they should probably reference each other | |||
| jonathan | They may boil down to one and the same. | 17:30 | |
| In fact, I think they do. | |||
| Coke | jonathan: ok. I stole 61224 just now, but won't mind if you steal it back. | 17:31 | |
| jonathan: danke. | |||
| jonathan | Coke: Thank you. | ||
| Coke | er, blagodaria. or whatever language you're speaking these days. | 17:32 | |
| 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
|
|||
| jonathan | Coke: Heh, Slovak. :-) | 17:34 | |
| Coke | ah, dakujem! | 17:35 | |
| jonathan | Coke: I'm pretty sure they're related problems. | ||
| 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. | ||
| dalek | TT #1212 created by jonathan++: .eof returns false if last read call read the last byte of the file, but ... | 17:37 | |
| NotFound | About the .eof thing: the current way is the sane one. Languages that want read-ahead must do themselves. | 17:41 | |
| Coke | NotFound: comment on the ticket. | 17:42 | |
| (please) | |||
| NotFound | Coke: I think I'v already do that months ago... | ||
| Coke | danke. | ||
|
17:43
desertm4x_ joined,
darbelo joined
|
|||
| Coke | I don't see that on #760 or the new one, btw. | 17:43 | |
| (#1212) | |||
| 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. | ||
| Coke | (you do have commentson #760, but not that.) | ||
| 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. | ||
| NotFound | Coke: yeah, and you can't even not use parrot ;) | ||
| can | |||
| Coke | NotFound: I'm often tempted. | ||
| 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. | ||
| Coke | standard /parrot/ handles? | 17:46 | |
| NotFound | Yes | ||
| PerlJam | ETOOMANYNOTS | ||
| (had to read it 3 times to grok) | |||
| NotFound | PerlJam: ENOTTOOMANYNOTNOTS | ||
| 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. =-) | ||
| but. | 17:47 | ||
| I'm fine with someone doing this as an IO subclass or something and then sharing it. | |||
| parrot has enough other broken stuff to fix. | |||
| darbelo | PerlJam: It makes sense in spanish :) | ||
| PerlJam | darbelo: heh! | ||
| Coke | qualquier? | ||
| 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 | |||
| Coke++ # KHAAAAAN | 17:49 | ||
|
17:49
mokurai joined
|
|||
| Coke spells that wrong. | 17:49 | ||
| NotFound | darbelo: Are yiu saying that Spaniards are negative? ;) | 17:50 | |
| darbelo | NotFound: I'm not negating they are not. | ||
| ;) | 17:51 | ||
| Coke | NotFound: looks like 57028 could be resolved by deleting code. | ||
| you want that one? | 17:53 | ||
| NotFound | Coke: if is related to the register allocatror, better that chromatic take a look at it. | ||
| Coke | it is. I'll take it and just rip it out. | 17:54 | |
| dalek | rrot: r42270 | coke++ | trunk/config/gen/makefiles/root.in: add missing dependency. |
18:01 | |
| Coke | GAH. | 18:04 | |
| dalek | rrot: r42271 | coke++ | trunk/config/gen/makefiles/root.in: more missing dependencies. |
18:05 | |
| Coke | did someone just add pmc_context.h as an include all over the place, or am I just lucky today? | ||
| cotto_work | Coke, istr someone did that | 18:06 | |
| Coke | BACEK! | 18:07 | |
| bacek-- | |||
| bacek++ #perhaps a slight overreaction. | |||
| NotFound | Contexts are used in lots of places. | 18:08 | |
| dalek | rrot: r42272 | coke++ | trunk/config/gen/makefiles/root.in: MORE missing dependencies |
||
| Coke | msg bacek when you add an include to a c file, you MUST add it as a dependency in root.in | ||
| purl | Message for bacek stored. | ||
| Coke | *sigh* | 18:09 | |
| Coke starts checkdepend.pl | 18:12 | ||
| cotto_work | Coke, why not write it in nqp? | 18:13 | |
| darbelo | Coke: I think andy had a branch with something similar. | ||
| cotto_work | it's abandoned | ||
| Coke | darbelo: we already pinged him about it. | 18:19 | |
| cotto_work: ... because I don't speak perl6 ? | |||
| 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. | |||
| cotto_work | sure. nqp would be ideal, but a perl script is better than what we're doing now. | ||
| 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) | ||
| Coke | cotto_work: how would using nqp for this stupid script help partcl? | 18:22 | |
|
18:22
Andy joined
|
|||
| cotto_work | If you want to switch partcl to pct, you'll have to write some nqp. | 18:22 | |
| Learning some of it now will make that easier. | 18:23 | ||
| dalek | rrot: r42273 | fperrad++ | trunk (2 files): [library] genfile handles conditioned line |
18:24 | |
| Coke | i prefer doing that jit | ||
| cotto_work | your call | 18:25 | |
|
18:26
sjohnson joined
|
|||
| dalek | rkdown: 976a224 | fperrad++ | (2 files): use conditioned lines |
18:30 | |
| shorten | dalek's url is at xrl.us/bf2xkr | ||
| nopaste | "coke" at 72.228.52.192 pasted "hacky first cut at checkdepend" (55 lines) at nopaste.snit.ch/18576 | 18:45 | |
| Coke | a verrrry rough first pass that at least gives me something useful if I do perl checkdepend.pl | ack pmc_ | 18:46 | |
| that could, with some thought, be turned into a distro test. | |||
| nopaste | "NotFound" at 213.96.228.50 pasted "First step to locate #include to track C dependencies" (22 lines) at nopaste.snit.ch/18577 | 18:50 | |
| NotFound | Can someone tell me if this is a correct way of using PGE::P5Regex ? | ||
| Coke | NotFound: that doesn't take the makefile into account, does it? | ||
| NotFound | Coke: is just a first step | 18:51 | |
| Coke | ok. my first step is further than yours. =-) | ||
| just don't want to duplicate effort. | |||
| darbelo | Coke: You have a longer stride :) | 18:52 | |
| NotFound | Coke: It took me more time because I needed to implement compreg first X-) | ||
| Coke | IWBNI make had a preprocessor. | ||
| 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. | ||
| s/you/we | |||
| Coke | NotFound: <shrug> it's a waste for me. have fun. =-) | 18:54 | |
| I just want the /problem/ solved. | |||
| NotFound | And I must write more code to implement and test features of winxed anyway. | ||
|
18:56
jhorwitz joined
19:03
chromatic joined
|
|||
| diakopter | oh hi | 19:05 | |
| purl | privet, diakopter. | ||
| diakopter | say what | ||
| purl | say is, like, Say is way better than typing print "$foo\\ all the time | ||
| diakopter | hm | ||
|
19:07
pmichaud joined,
particle joined
|
|||
| NotFound | Coke: Do you remeber if there is some ticket calling for a dependcy checker? | 19:24 | |
| cotto_work | NotFound, trac.parrot.org/parrot/ticket/893 | 19:26 | |
| NotFound | cotto_work: thanks | 19:27 | |
| Coke | cotto_work: feel free to combine those tickets. =-) | ||
| NotFound | Did a said yet that parrot is poweful? | 19:33 | |
| Coke | ? | 19:37 | |
| whiteknight | ETOOMANYTYPOS | 19:38 | |
| NotFound | Sorry, I'm with a coldness and my english is even worse than usuallyƧ | 19:39 | |
| cotto_work | NotFound, you have a cold? | ||
| My mom always told me "Don't get sick." I wish I'd listened. | |||
| NotFound | cotto_work: yes, but nothing important. | 19:40 | |
| darbelo | I was told "Dont *be* sick." but I didn't listen either. | ||
| ;) | |||
| whiteknight | I knew a guy once who didn't listen to his mother. 20 years later, BAM! hit by a bus | 19:41 | |
| always listen to your mother | |||
| NotFound | There was a guy that go, and died. Moral: dont' go. | ||
| cotto_work | also, watch out for buses | 19:42 | |
| whiteknight | ...that's what mother said :) | ||
| NotFound watch his PCIs | |||
|
19:53
jan joined
|
|||
| Coke | how to regen the makefile? | 19:55 | |
| (without a full config?) | |||
|
20:04
dalek joined
|
|||
| 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
20:08
Util joined,
dukeleto joined
|
|||
| diakopter | ... I guess it could be called jsPAST, er something | 20:08 | |
|
20:11
Infinoid joined
20:13
pmichaud_ joined,
jonathan joined
20:33
allison joined
|
|||
| nopaste | "darbelo" at 190.192.220.13 pasted "Remove instantiate_str() VTABLE, take one" (440 lines) at nopaste.snit.ch/18580 | 20:44 | |
| "darbelo" at 190.192.220.13 pasted "Error with the above patch" (7 lines) at nopaste.snit.ch/18581 | 20:47 | ||
| Coke has an updated version of that script and will see about adding it later. | 20:50 | ||
|
20:51
joeri left
|
|||
| nopaste | "darbelo" at 190.192.220.13 pasted "Remove instantiate_str() VTABLE, take two (Less diff noise. Still fails.)" (372 lines) at nopaste.snit.ch/18582 | 20:53 | |
| whiteknight | darbelo++ | 20:54 | |
| darbelo | I anyone can tell what the heck I'm doing wrong in nopaste.snit.ch/18582 I'll be very happy. | ||
| The error I get is in 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 | ||
| darbelo | The call I removed was passing PObj_constant_FLAG to the VTABLE, that called constant_pmc_new() internally. | 20:58 | |
| 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" | ||
| whiteknight | ah, okay | 21:00 | |
| dalek | TT #1213 closed by coke++: need a tool to check make dependencies | 21:02 | |
|
21:03
mokurai joined
21:06
mikehh joined
|
|||
| darbelo | Ha! Found it! | 21:16 | |
| of course, that only means it fails differently. | 21:17 | ||
| but I call that progress. | |||
| And now it works. | 21:20 | ||
| (paste errosr)-- | |||
| (paste errors)-- too | |||
| cotto_work | darbelo++ | 21:21 | |
| now we need to nuke some of those math ops | |||
| s/ops/vtables/ | |||
| Coke is getting 271 missing dependencies. | 21:22 | ||
| cotto_work | eek | ||
| I guess I shouldn't be surprised though. | |||
| 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 nopaste.snit.ch/18584 | ||
| Coke | (they appear to be mostly pmc related.) | 21:24 | |
| (and I'm skipping a lot) | |||
| 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. =-) | ||
| 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. | ||
| A lot more brittle, but faster. | |||
| chromatic | I wouldn't think it makes things more brittle. | 21:27 | |
| Coke | Sure. Open a ticket. | ||
| moritz | robust is much more important than fast, in the case of parallel builds | ||
| 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' | ||
| Coke | bah, I'll just commit now. | ||
| darbelo | Coke++ | 21:29 | |
| JFDI++ | |||
| moritz | I'll complain if it breaks the build ;-) | 21:30 | |
| Coke | there, have fun. | ||
| moritz: I tested code/distro before committing. | |||
| (though I did modify the file after that. =-) | 21:31 | ||
| there. now someone else please look at that and make it pass. =-) | |||
| dalek | rrot: r42274 | coke++ | trunk (2 files): Add a tool to verify makefile deps based on C #includes. |
||
| Coke | (and then avoid skipping any includes) | ||
| (and then make it run in distro_tests) | |||
| darbelo | we have a distro_tests? | 21:32 | |
| Coke | or something, yes. | ||
| chromatic | I like that idea. | 21:33 | |
| Coke | msg bacek - you need to run tools/dev/checkdepend.pl and clean up. | ||
| purl | Message for bacek stored. | ||
| cotto_work | iwbni dependency resolution were part of the configure process | ||
| darbelo | I'm assuming it runs as part of fulltest, right? | ||
| Coke | msg bacek (unless someone beats you to it.) | ||
| purl | Message for bacek stored. | ||
| Coke | cotto_work: for now, easier to find problames after they're made; could rework it to prevent them. | ||
| cotto_work | yes | ||
| one thing at a time | 21:34 | ||
| Let's see some commits! | 21:41 | ||
| mikehh | Coke: I get - 1..312 - # Looks like you failed 271 tests of 312. | 22:00 | |
| cotto_work | yeah. there's a couple failures | 22:03 | |
| dalek | rrot: r42275 | darbelo++ | trunk (2 files): Remove all calls to the instantiate_str() VTABLE. |
22:07 | |
|
22:08
Whiteknight joined
|
|||
| dalek | rrot: r42276 | darbelo++ | trunk/src/pmc (4 files): Remove the now unused instantiate_str() VTABLE from all four PMC that implemented it. |
22:11 | |
| cotto_work | darbelo, feel free to remove that from vtable.tbl (just be sure to bump PBC_compat) | 22:13 | |
| darbelo | cotto_work: next commit ;) | 22:14 | |
| dalek | rrot: r42277 | darbelo++ | trunk (4 files): Remove mentions of the instantiate_str() VTABLE from the documentation and auxiliary scripts. |
||
| darbelo | Not this one, the next commit ;) | 22:15 | |
|
22:20
FullMetalHarlot joined
|
|||
| dalek | rrot: r42278 | fperrad++ | trunk (2 files): [library] genfile handles conditioned line with logical expression |
22:21 | |
| darbelo | cotto_work: Wait I have to bump PBC_COMPAT for VTABLE deletions? | 22:23 | |
| cotto_work | yup. it changes the bytecode format | ||
| darbelo | I though that was for ops. | ||
| Thanks for the tip. | |||
|
22:23
leto joined
|
|||
| cotto_work | I may have been wrong. | 22:24 | |
| Whiteknight | I don't think it has anythign to do with bytecode | ||
| 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 | ||
| so the parrot github repo may not get updated until later today | |||
| cotto_work | I must have been thinking of ops. | ||
|
22:25
leto joined
|
|||
| Whiteknight | leto++ | 22:26 | |
| darbelo | commit went in without the bump. | ||
| We can still do it later if it was needed. | 22:27 | ||
| chromatic | I can't think of why it might change PBC. | 22:28 | |
| cotto_work | My mistake. | 22:29 | |
| dalek | rrot: r42279 | darbelo++ | trunk/src/vtable.tbl: Remove the instantiate_str() VTABLE from vtable.tbl |
||
| 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. | ||
| cotto_work, aren't some of those deprecated anyway? | |||
| 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. | ||
| chromatic | I thought I remembered a specific list somewhere. | 22:34 | |
| Oh joy, RT #57028, PGE, pdd25cx, and the register alligator. I need a snack first. | 22:35 | ||
| cotto_work | yup. they're mentioned in docs/embed.pod | 22:36 | |
| dalek | rrot: r42280 | jonathan++ | trunk/runtime/parrot/library/P6object.pir: Addition to P6object to make sure it can handle Rakudo ng branch's metamodel requirements. |
22:45 | |
| TT #1072 closed by darbelo++: deprecate vtable function instantiate_str | 22:46 | ||
|
22:57
allison joined
|
|||
| Coke | ... config/auto/pmc.pmc is borked. | 23:17 | |
| (it's generating the PMC deps, and /it's/ missing things.) | |||
| cotto_work | That's what you get for turning over rocks. | 23:20 | |
| 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. | ||
| Coke opens a new ticket. | 23:25 | ||
|
23:32
plobsing joined
|
|||
| plobsing | hi #parrot | 23:34 | |
| Coke reconsiders the ticket. | 23:35 | ||
| darbelo | hi plobsing | ||
|
23:37
mokurai joined
|
|||
| 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? | ||
| chromatic | Not the old frame builder, no. | 23:39 | |
| cotto_work | I wonder what nuking the bitwise vtable functions will do for us. | ||
| darbelo | Sorry, that was for plobsing, I meant his libjit one. | ||
| I think he was working on updating it, last I heard. | |||
| plobsing | darbelo: yes. | ||
| unfortunately I had a brain fart yesterday and generated a 1.5M patch. | 23:40 | ||
| I have a workaround | |||
| mutch smaller patches. yay | |||
| darbelo | That's a big patch. | ||
| plobsing | exactly | ||
| my new strategy generates 3 patches, ~100K each | 23:41 | ||
| 1/5 the size | |||
| total | |||
| 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 | ||
| the problem was that pcc_reapply merge is a huge diff | |||
| dalek | tracwiki: v3 | japhb++ | NCITasklist | 23:43 | |
| tracwiki: Add link to IRC log of discussion | |||
| tracwiki: trac.parrot.org/parrot/wiki/NCITas...ction=diff | |||
| shorten | dalek's url is at xrl.us/bf2y5f | ||
| darbelo | master? You are using git, then. I can see how that can go wrong. | ||
| plobsing | master = trunk | ||
| darbelo | svn <-> git interactions are messy when branches are involved. | 23:44 | |
| plobsing | while that may contribute, if I were working in svn, I still would have made a huge diff the old way | 23:45 | |
| 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. | |||
| darbelo | That happeden on the pcc branch a few times. | ||
| Coke++ | |||
| dalek | rrot-plumage: 607e316 | japhb++ | : [META] TODO: Add repository metadata todos |
||
| shorten | dalek's url is at xrl.us/bf2y5s | ||
| Coke | that brings me down to only 53 missing deps. | 23:47 | |
| darbelo | Coke++ | ||
| dalek | rrot: r42281 | coke++ | trunk/config/auto/pmc.pm: Fix some PMC dependencies. - recent PCC changes probably added more deps on other pmcs, but these were never reflected in the makefile deps. |
23:48 | |
| 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. | ||
| darbelo looks | |||
| plobsing: looks good. Want me to create a new branch and apply thise diffs? | 23:56 | ||
| plobsing | please do | ||