Camelia, the Perl 6 bug

IRC log for #parrot, 2010-02-20

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 kthakore NotFound: that way I learn PIR too
00:00 kthakore ok caio
00:00 kthakore thanks man
00:01 NotFound kthakore: when you have a patch, create a ticket in track and attach it.
00:05 kthakore NotFound: do you guys like huge code bombs or manny small ones
00:06 darbelo kthakore: Smaller explosions are ussualy appreciated.
00:07 kthakore ok
00:07 diakopter joined #parrot
00:07 NotFound kthakore: in general, small ones, but if repairing a broken subsystem or module, one big may be fine.
00:07 diakopter NE1 around?
00:07 diakopter o good
00:08 kthakore I don't like code bomb's either
00:08 diakopter whom do I tell about a failed assertion in src/hash.c
00:08 darbelo diakopter: tell Trac ;)
00:09 diakopter poo
00:09 NotFound He's always on.
00:09 diakopter my account there was disabled
00:09 diakopter I think
00:09 darbelo diakopter: Or, in a less flippant way. Please open a ticket.
00:09 darbelo diakopter: You could easily open a new one.
00:10 diakopter the latest rakudo: {}.=() # causes OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b9596d2d173]␤/home/p6eval//p2/lib/l​ibparrot.so.2.1.0(Parrot_confess+0x87) [0x2b9596d2d2a7]␤/home/p6eva​l//p2/lib/libparrot.so.2.1.0
00:13 darbelo diakopter: You installed the parrot 2.1.0 tarball ?
00:14 diakopter dunno.  it's whatever the latest rakudo --gen-parrot got
00:14 darbelo You might want to try to reproduce with 2.1.1 with some additional bugfixes
00:14 darbelo diakopter: Oh, --gen-parrot, nevermind. that has the fixes already.
00:15 diakopter this is what runs the p6eval: bot (which happens to be on a vps I run)
00:16 diakopter ASSERT_ARGS(key_hash_STRING)
00:18 darbelo diakopter: An alternative to a Trac Ticket could be to mail to parrot-dev with the full info.
00:20 diakopter parrot-dev@parrot.org?
00:20 darbelo Yep
00:20 dalek decnum-dynpmcs: r197 | darbelo++ | trunk/src/pmc/dec (3 files):
00:20 dalek decnum-dynpmcs: Update function names to match the new pmc.c internals.
00:20 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=197
00:23 diakopter darbelo: parrot-dev@parrot.org isn't right
00:24 darbelo diakopter: Try @lists.parrot.org
00:24 darbelo I can't remember which lists need the prefix an which don't.
00:24 diakopter Is being held until the list moderator can review it for approval.
00:24 diakopter ok; thanks
00:24 diakopter left #parrot
00:25 dalek parrot: r44212 | NotFound++ | trunk/src/pmc/opcode.pmc:
00:25 dalek parrot: replace op_count method in opcode pmc with vtable elements and add get_integer_keyed_int to get argument types
00:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44212/
00:27 dalek dbm-dynpmcs: 6871d8b | darbelo++ | ports/plumage/dbm-dynpmcs.json:
00:27 dalek dbm-dynpmcs: Add plumage metadata.
00:27 dalek dbm-dynpmcs: review: http://gitorious.org/dbm-dynpmcs/dbm-dynpmcs/c​ommit/6871d8bc5496c8df34a01dbfaf93a7170536fffb
00:29 cotto_work joined #parrot
00:33 Coke seen diakopter?
00:33 purl diakopter was last seen on #parrot 9 minutes and 1 seconds ago, saying: ok; thanks
00:35 Coke darbelo: sending bug reports to parrot-dev when someone asks where they go is wrong. send them to trac. =-)
00:36 * Coke approved the email.
00:37 NotFound Coke: he said something about his trac account disabled
00:37 dalek winxed: r418 | julian.notfound++ | trunk/examples/packfile.winxed:
00:37 dalek winxed: refactor packfile example following changes in parrot r44212
00:37 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=418
00:37 darbelo Coke: I did send him to Trac, be he was having problems with his account.
00:38 darbelo git push
00:38 purl well, git push is much faster than svn ci or svk push
00:38 darbelo Ah, worng window.
00:40 redbrain i just started playing with the git mirror glad there is one :) who maintains it?
00:41 Coke dukeleto
00:41 purl dukeleto is mentoring a few peeps. can't remember everyone. sure.
00:41 darbelo dukeleto maintains *a* git mirror.
00:41 Coke NotFound: there is no trac account with "diakopter" or "wilson"
00:41 Coke darbelo: ... it's the only git mirror for parrot, yes?
00:42 NotFound Coke: Wilson wasn't a coconut?
00:42 Coke ..?
00:42 darbelo Coke: How could I know? Anyone can mirror us.
00:42 NotFound Coke: a bad joke, forget it.
00:42 Coke darbelo: dukeleto maintains /the/ git mirror of our svn repo.
00:42 darbelo NotFound: No he was a ball.
00:43 dalek parrot-plumage: 6b5e14b | darbelo++ | metadata/dbm-dynpmcs.json:
00:43 dalek parrot-plumage: Add dbm-dynpmcs metadata file.
00:43 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/6b5e14b7a65d225b7da391450b30843c9455144c
00:43 Coke -> again.
00:45 redbrain is there any nice simple thing for a new hacker to try and fix in parrot i've been trailing the code for a few days just to play with it but not really sure where to get involved
00:45 darbelo redbrain: C or PIR?
00:46 redbrain i've been playing with the idea to have some kind of project aimed to help projects output pir or pbc
00:46 redbrain the C mainly
00:46 redbrain i done some simple tests with the pir to its a nice IR
00:46 MikHel joined #parrot
00:46 Tene redbrain: there's been a desire for a long time ot be able to build PBC directly without going through imcc.
00:46 MikHel Hi!
00:47 NotFound Tene: and event better, without going through C ;)
00:47 redbrain what is imcc anyways i havent looked at it yet
00:47 NotFound redbrain: the current pir compiler
00:47 darbelo You're better off not looking at it.
00:47 * MikHel is having a problem that he already faced in 1.5. Now it's 2.1.1: The mk_language_shell.pl does not create a makefile
00:48 darbelo MikHel: mk_language_shell.pl creates a setup.pir file. It's a new build method that doesn't use makefiles.
00:48 MikHel Anybody knows how to fix this? Used to be that doing make install-dev would fix this, but it does not do it this time around.
00:48 redbrain NotFound: ah ok yeah just looking at it now i see register allocation code
00:48 MikHel Ah
00:49 MikHel darbelo: So I just need to do parrot setup.pir ?
00:49 darbelo MikHel: Yes, you can also do parrot setup.pir help to see the available options
00:49 redbrain see i have my own project its an interpreter for a language i've been designing for just over a year now and i would like to see about having a pir/pbc backend as in have some kind of shared library that accepts some kind of representation and outputs the code
00:50 MikHel darbelo: I get: Parrot revision r43154 required (currently r0)
00:50 NotFound redbrain: generating pir is the easier way right now.
00:50 darbelo Are you working from a release tarball or an svn checkout?
00:51 MikHel release tarball.
00:52 MikHel :q
00:52 darbelo Hmm. Edit your setup.pir and remove the lines arround     $P0 = open 'PARROT_REVISION', 'r'
00:52 redbrain NotFound: yeah but i also thought it might be nice to have some kind of compiler to pbc but need to think about it more, ideally i would probably like to find something i could maybe get involved in parrot to understand things a little more
00:53 darbelo It's five lines (the one above, that one, and three below)
00:53 NotFound redbrain: there is work in progress towards generating pbc using the packfile pmc, but to use that from C you need to embed parrot.
00:54 darbelo Oh, and the lines below, all the way to L1: too
00:55 darbelo Apparently the script assumes you'll be working out of a svn snapshot. I guess we'll have to teach it to deal gracefully with releases now.
00:55 darbelo But, I can't do it now. Gotta go.
00:57 redbrain NotFound: so if you were to embed parrot you could simply use it as a crazy pbc compiler + runtime lol what kind of structure do you pass to imcc to generate pbc or can you simply pass pir and thats where pir gets parsed?
00:58 * cotto ponders a runtime lol
00:59 NotFound redbrain: using imcc directly can be a nightmare, the usual way is to call parrot with the -o option and a pir file
01:00 NotFound redbrain: for other way you can take a look at examples/embed/cotorra.c
01:00 cotto redbrain, examples/embed/cotorra.c may be of interest to you
01:03 redbrain cotto: seems cool though i am thinking the idea of building a library other projects can use to output pbc which you just pass some kind of structure but i think i need to get more familar with this all first :)
01:04 NotFound redbrain: note that the pbc format is subject to change, generating it directly is a risky business.
01:04 redbrain NotFound: ah ok yeah i guess its subject to when internals change in parrot
01:05 NotFound redbrain: yes, and internal changes are still not very unusual.
01:05 redbrain NotFound: yeah but its hard not to change things like that though but parrot still rocks lol
01:07 NotFound redbrain: you may want to take a look at winxed, is a compiler written in C++ that generates pir.
01:08 redbrain does it makes sense for generating pbc to create some kind of tree-ssa form? so you could nearly take some of gcc ssa optimizations? though i have always considered ssa for more static language i guess when were being dynamic its hard to make assumptions on whats going on
01:08 Tene redbrain: pmichaud specifically has done a lot of thought about what he wants for generating PBC, last I heard.  I'd strongly recommend chatting with him.
01:09 redbrain sorry for annoying questions by the way :) nice to talk to you guys!
01:09 NotFound You're welcome
01:09 Tene not annoying at all
01:09 Tene great to have you
01:16 dukeleto 'ello
01:17 cotto 'hello
01:18 * dukeleto is working on getting parrot benchmarking stuff working on a new server
01:19 cotto shiny
01:35 * dukeleto shines 8 shiny cores
01:37 mj41 joined #parrot
01:39 davidfetter mmm...shiny
01:49 dalek parrot: r44213 | dukeleto++ | trunk (2 files):
01:49 dalek parrot: [t] Add a test file for the errorson opcode with one todo test
01:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44213/
02:06 dalek parrot: r44214 | plobsing++ | failed to fetch changeset:
02:06 dalek parrot: merge branch tt362
02:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44214/
02:10 theory joined #parrot
02:12 Essobi joined #parrot
02:23 dalek parrot: r44215 | whiteknight++ | trunk/docs/project/release_manager_guide.pod:
02:23 dalek parrot: gerd++ has the 2.5 release, upon request
02:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44215/
02:23 dalek parrot: r44216 | plobsing++ | branches/tt362:
02:23 dalek parrot: branch has been merged into trunk
02:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44216/
02:29 chromatic joined #parrot
02:31 japhb joined #parrot
02:31 kthakore hi chromatic
02:32 chromatic hello
02:32 kthakore chromatic: Is NCI still volatile?
02:32 japhb I'm baaaaaaack ...
02:33 kthakore hi japhb
02:33 Whiteknight kthakore, what do you mean "volatile"?
02:33 dalek TT #362 closed by plobsing++: optimize freeze_size
02:34 japhb kthakore: It's like talking with to the same person on two different conference calls at the same time.  ;-)
02:35 japhb plobsing, I have just managed to get one of my two broken computers back to (seemingly) working order.  Need to update parrot and see if I can build it with the new OS install ...
02:35 japhb plobsing, then I will try your opengl branch.
02:35 kthakore Whiteknight: well I was wondering what if NCI was going to change once this ticket is donehttp://trac.parrot.org/parrot/ticket/1192
02:36 plobsing japhb: too late, it's merged.
02:36 japhb whaaaa?
02:36 japhb Well, I guess I will check trunk then.  :-/
02:36 plobsing lucky I got it merged when I did too, it's becoming harder and harder these days
02:36 kthakore Whiteknight: SDL needs a good way to implement threaded callbacks
02:37 japhb plobsing, lots of core churn in the last couple weeks?
02:38 plobsing seems so. tt362 branch (fairly contained) took an hour
02:38 * japhb watches page after page of filenames scroll by in svn update
02:38 Whiteknight threads and calbacs are immature and need work
02:38 japhb I guess so ...
02:38 Whiteknight pmc_func_cleanup branch modified most .c and .pmc files
02:39 japhb kthakore, Whiteknight is understating things.  Unless things are a lot better than they were in December, threaded callbacks will be quite painful.
02:40 kthakore japhb: ol
02:40 kthakore ok
02:40 kthakore japhb: if I conitinue hacking SDL now with current NCI and no callbacks
02:40 kthakore japhb: when NCI is changed to add threaded callbacks will my code break?
02:41 kthakore or has the NCI standard been decided on ?
02:42 Whiteknight standard needs major redesign
02:42 kthakore oooh kay
02:42 Whiteknight consider it volatile
02:42 kthakore hehhe
02:42 kthakore perfect
02:42 plobsing kthakore: that stuff generally falls under deprecation policy, so you'll have a couple months notice
02:42 kthakore plobsing: that would be awesome!!
02:42 pmichaud it's not already deprecated?  ;-)
02:42 japhb I think plobsing has a more recent view on it, but I'd say that NCI is going to get overhauled in the medium term.  Near term work is valuable, though.  We need to make sure we understand the edges of our problem space so that the overhaul is designed better.
02:42 kthakore pmichaud: guess not
02:43 kthakore japhb: that makes sense
02:43 kthakore japhb: I will be rewriting SDL NCI again in modular format
02:43 kthakore japhb: guess I can just fix up stuff till NCI overhaul
02:43 kthakore then do redesign on that
02:43 japhb Oh, pmichaud: belated congrats on the rakudo ng release!
02:43 kthakore my plan is to just get all examples working
02:43 Whiteknight kthakore, raise the issue on the list and we can start the redesign process
02:44 kthakore Whiteknight: I need to give you guys some code to have weights to my issue
02:44 japhb Also, there was an NCI issues page on the wiki
02:44 japhb let's see if I can find it again ...
02:44 kthakore Whiteknight: I will work on it
02:44 pmichaud japhb: thanks!
02:44 kthakore japhb:  http://trac.parrot.org/parrot/wiki/NCITasklist
02:44 kthakore japhb: my fave page on that wiki
02:44 pmichaud japhb: I really have to credit the whole rakudo team, though -- it's been an impressive bit of work by many parties.
02:44 kthakore ;)
02:44 japhb kthakore, ah, way ahead of me.  :-)
02:44 japhb pmichaud: quite!
02:45 kthakore japhb: need to be as I am in for a ride ;)
02:45 kthakore Whiteknight: plobsing thanks that gives me some idea of how to do this
02:45 pmichaud japhb: And Parrot has been equally helpful -- we got a very quick bug fix release made yesterday to help out with Rakudo.
02:46 japhb yeah, saw that as I was catching up on my email.
02:46 japhb Was that the first time Parrot has done a point release like that?
02:49 japhb erg, I can't even successfully *clean* my parrot checkout.  Time to start with a fresh one.
02:50 chromatic That was the first point release.
03:11 myhrlin_ joined #parrot
03:15 kid51 joined #parrot
03:16 * kid51 surfaces after several hours doing CPAN stuff
03:16 * kid51 notices that it looks like every single source code file was touched in last 24 hours!
03:16 kid51 Big merge(s)??
03:18 pmichaud we added miscellaneous trailing whitespace to every file.
03:18 dukeleto chromatic: no, not the first point release. there was 0.8.1 and 0.9.1 and a few before that
03:18 kid51 Well, *that* will really help get Rakudo* out the door!
03:18 pmichaud It looks harmless, but if you hold it up to the light and reverse the bits you can see "Perl is Dead" in the shadows.
03:19 * dukeleto is getting all the historical parrots compiled for benchmarking
03:19 pmichaud dukeleto: those point releases meant something different.
03:19 kid51 pmichaud:  So, speaking of Rakudo*, are we on track?
03:19 japhb dukeleto, during that era, point releases were not ... what pmichaud said
03:19 dukeleto pmichaud: touche
03:20 pmichaud kid51: we're a couple of weeks behind where I had planned to be at this point (largely due to external factors), but we had put in a large buffer at the end of the development period for contingencies and so I think we're still on track.
03:20 japhb waddya mean, my platform doesn't support OpenGL ...?
03:20 japhb sigh,
03:20 * japhb back to the coal mines
03:20 pmichaud kid51: and this week we've seen amazing progress in the new branch.  We went from under 3000 to over 25000 passing tests in the course of a little more than a week.
03:20 chromatic I've tried to probe for OpenGL on many platforms.  I'm not sure *any* platform supports OpenGL.
03:20 kid51 pmichaud:  excellent!
03:20 * purl plays air guitar
03:21 pmichaud (and the new branch is no longer a "branch", but is now the mainline development trunk)
03:21 chromatic pmichaud, and don't forget measurable speedups.
03:21 pmichaud "measurable" is an understatement
03:21 japhb oh?  link to speedups info?
03:21 pmichaud yesterday morning it took me 32 minutes to run the spectests.  by yesterday afternoon the spectests were running in under 10 minutes.
03:21 kid51 I'm hoping there's some sort of stock announcement/presentation about Rakudo* I could do at our May Perl Seminar NY meeting
03:21 japhb chromatic, is this because of the plobsing branch merge, or was that a more general problem?
03:21 pmichaud kid51: by May there certainly will be
03:22 chromatic Rakudo also runs more spectests than it did yesterday morning.
03:22 japhb pmichaud, wow, nice
03:22 chromatic japhb, I think this was all before the merge, if you mean tt362.
03:22 pmichaud my target date for Rakudo * is April 29.
03:22 pmichaud that may fudge a few days to either side, but that's my target date.
03:22 kid51 It would be good if there some sort of "canned" slideshow that Perlmonger groups could present between release and YAPC.
03:22 chromatic 29 and not 22?
03:22 pmichaud 29.
03:22 pmichaud There's a Rakudo compiler release on April 22
03:22 pmichaud but Rakudo * is more than just the compiler.
03:22 * kthakore runs back to something he understands
03:23 chromatic Okay.
03:23 pmichaud it's really more along the lines of a distribution, and I'd like it to actually have a separate release cycle from the compiler.
03:23 pmichaud (a longer release cycle -- like 3 months to begin with)
03:23 japhb chromatic: no, I meant the refactor of call_list/misc.in.  plobsing indicated he merged his topic branch for that already?
03:24 pmichaud this even goes to having separate release managers -- one release manager will focus on making regular compiler releases, the distribution release manager will focus on packging compiler and modules together.
03:24 pmichaud and distributions are free to lag compiler releases as appropriate to meet stability goals
03:24 chromatic I think that one came after the 2.1.1 release too, japhb.
03:25 plobsing just after
03:25 jsut_ joined #parrot
03:26 japhb plobsing, is trunk expected to show OpenGL supported during config?  Or is that different now?
03:26 plobsing japhb: it should
03:26 plobsing I didn't poke the config too much
03:27 japhb hrmmm
03:27 japhb Now I need to figure out if it is parrot or my newly "working" computer that is confused ....
03:27 plobsing is that the auto or gen steps?
03:28 japhb plobsing, auto.  gen won't run if auto says no (well, that's the way it used to be, at least)
03:28 plobsing last commit to auto was r42341 (november 2009)
03:28 japhb hrmm
03:29 AndyA_ joined #parrot
03:33 japhb plobsing, ah, looks like I'd forgotten to reinstall a package.  OpenGL detected this time ... parrot still building, we'll see how that works out.
03:40 kid51 I guess pcc_reorder_results branch is still where it was 3 days ago:  http://smolder.plusthree.com/ap​p/projects/report_details/32288
03:40 kid51 trunk:  PASS for make test, make buildtools_tests, make codetest
03:41 janus joined #parrot
03:43 japhb Yay!  Parrot built with working OpenGL support.
03:44 plobsing japhb: have you actually tried the opengl examples? it doesn't get exercised much by the test suite
03:45 japhb s/much/at all/ ?
03:45 japhb Yeah, I ran triangle.pir and shapes.pir
03:45 plobsing sweet
03:45 japhb Wouldn't have considered it working without both of those at a minimum.  :-)
03:48 bacek joined #parrot
04:10 dalek rakudo/master: 71d8848 | (Solomon Foster)++ | src/core/RangeIter.pm:
04:10 dalek rakudo/master: Get RangeIter to handle the Str cases properly.
04:10 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​1d8848e431c7902b4b31e78a3bf20381bbb5ee7
04:10 dalek rakudo/master: abb98b4 | (Solomon Foster)++ | src/core/Any-list.pm:
04:10 dalek rakudo/master: Add proto for pick.
04:10 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​bb98b4f0762f8c841d95fd424cc312682ca76f2
04:25 yobert joined #parrot
04:29 yobert Hi, parrot folks.  Anyone here feel like helping me figure out why I can't get parrot's javascript compiler to work?
04:29 yobert pretty please
04:35 yobert I've tracked it down to self.'add_parent'(parentclass, 'to'=>parrotclass) getting called in P6object.pir
04:35 yobert I think that's the deprecated way to call add_parent?
04:35 yobert or something
04:35 purl something is really wrong out there :)
06:22 cotto pmichaud, ping
06:35 cotto too late, I guess
07:09 nbrown joined #parrot
07:25 nbrown joined #parrot
08:16 yobert joined #parrot
08:29 fperrad_ joined #parrot
08:29 iblechbot joined #parrot
08:46 fperrad_ joined #parrot
09:20 payload joined #parrot
09:43 lucian_ joined #parrot
09:56 dalek winxed: r419 | julian.notfound++ | trunk/examples/packfile.winxed:
09:56 dalek winxed: dump bytecode as raw opcodes and put disassembly as an option in example
09:56 dalek winxed: packfile
09:56 purl it has been said that packfile is the only external symbol left that doesn't have a safe prefix.
09:56 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=419
09:59 Austin purl, history
09:59 purl history is more of a project docs item then a book item
10:04 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32291), fulltest) at r44216 - Ubuntu 9.10 amd64 (gcc with --optimize)
10:19 fperrad ping Austin
10:19 Austin Hello, fperrad
10:20 fperrad have you play with newer(pmc,pmc) variant ?
10:20 fperrad have you play with pir_pir option ?
10:20 Austin Not yet, no. Sorry. (In fact, I wasn't aware of the newer update. When did that go in?)
10:21 fperrad r44186 + r44202
10:25 Austin 19 hours ago. Man, you're fast.
10:34 dalek lua: c91bc99 | fperrad++ | dynext/pmc/lua (11 files):
10:34 dalek lua: rename functions in PMC after the merge of branch pmc_func_cleanup
10:34 dalek lua: see http://trac.parrot.org/parrot/changeset/44190
10:34 dalek lua: review: http://github.com/fperrad/lua/commit/c9​1bc9928c16c81f9f9d9ecc67399fcd7fcb361b
10:49 dalek parrot-mysql: r14 | julian.notfound++ | trunk/src/Mysql.pir:
10:49 dalek parrot-mysql: fix deprecated signature and add one more lib name to search for
10:50 dalek parrot-mysql: review: http://code.google.com/p/par​rot-mysql/source/detail?r=14
11:05 dalek tracwiki: v13 | Austin_Hastings++ | Migrating%20to%20NQPrx
11:05 dalek tracwiki: Added note about integer indexing
11:05 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Migrati​ng%20to%20NQPrx?version=13&action=diff
11:06 Austin Grr. nqp-rx now coerces [indexes] into int register.
11:27 dalek parrot: r44217 | mikehh++ | trunk/t/codingstd/c_parens.t:
11:27 dalek parrot: remove regex test for more than one space - the test requires at LEAST one space
11:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44217/
11:27 dalek parrot: r44218 | mikehh++ | trunk/t/codingstd/c_parens.t:
11:27 dalek parrot: forgot copyright
11:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44218/
11:40 bacek joined #parrot
11:41 bacek aloha
11:41 Austin Hola, bacek
11:41 mikehh hi bacek
11:41 bacek *incoming*
11:41 * bacek hides
11:44 dalek parrot: r44219 | bacek++ | branches/sys_mem_reduce/src/string/primitives.c:
11:44 dalek parrot: Use internal allocate.
11:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44219/
11:44 dalek parrot: r44220 | bacek++ | branches/sys_mem_reduce/src/multidispatch.c:
11:44 dalek parrot: Switch to GC allocation
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44220/
11:45 dalek parrot: r44221 | bacek++ | branches/sys_mem_reduce/src/frame_builder.c:
11:45 dalek parrot: Switch to GC allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44221/
11:45 dalek parrot: r44222 | bacek++ | branches/sys_mem_reduce/config/ge​n/platform/platform_interface.h:
11:45 dalek parrot: Switch to internal allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44222/
11:45 dalek parrot: r44223 | bacek++ | branches/sys_mem_reduce/tools/build/nativecall.pl:
11:45 dalek parrot: Switch to GC allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44223/
11:45 dalek parrot: r44224 | bacek++ | branches/sys_mem_reduce (6 files):
11:45 dalek parrot: Switch HOP to GC allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44224/
11:45 dalek parrot: r44225 | bacek++ | branches/sys_mem_reduce/include/parrot/memory.h:
11:45 dalek parrot: Add mem_internal_relloc_n_zeroed_typed macro
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44225/
11:45 dalek parrot: r44226 | bacek++ | branches/sys_mem_reduce/src/pmc (14 files):
11:45 dalek parrot: Bulk update PMCs to use GC allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44226/
11:45 dalek parrot: r44227 | bacek++ | branches/sys_mem_reduce/src (12 files):
11:45 dalek parrot: Bulk update various parts to use GC allocations
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44227/
11:46 bacek Austin, last 2 commits special by your request :)
11:46 Austin Oh yeah?
11:46 Austin Go me.
11:47 bacek "Bulk" commits :)
11:48 Austin Those are on a branch, no?
11:49 mikehh bacek: ready for testing?
11:49 bacek Austin, of course on branch
11:49 bacek mikehh, not fully. But I expect a lot of codetest failures :)
11:50 bacek And mostly all  of them can be fixed in parallel
11:52 Austin Replace ::empty with .new ftw.
12:12 dalek wmlscript: 2e695ae | fperrad++ | dynext/ (7 files):
12:12 dalek wmlscript: rename functions in PMC & Ops after the merge of branch pmc_func_cleanup
12:12 dalek wmlscript: see http://trac.parrot.org/parrot/changeset/44190
12:12 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/2e695ae98c89be6883fd7a24d853214294219b90
12:17 dalek parrot: r44228 | bacek++ | branches/sys_mem_reduce/src/gc/gc_ms.c:
12:17 dalek parrot: Initialize initial "re"allocation with zeroes in GC MS to prevent epic failures due uninitialized memory.
12:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44228/
12:17 dalek parrot: r44229 | bacek++ | branches/sys_mem_reduce/src​/pmc/parrotinterpreter.pmc:
12:17 dalek parrot: Switch ParrotInterpreter PMC to GC allocations
12:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44229/
12:18 bacek mikehh, ping
12:21 jsut joined #parrot
12:23 mikehh bacek: pong
12:23 bacek mikehh, can you quick test branch on something like g++/amd64?
12:23 bacek at r44231
12:23 mikehh bacek: on it
12:23 bacek it passed make test on my box.
12:33 mikehh bacek: make corevm/make coretest, make world/make test PASS - Ubuntu 9.10 amd64 (g++ with --optimize)
12:33 bacek mikehh++ # Yay!
12:33 mikehh codetest has a few failures, manifest test PASS
12:34 dalek parrot: r44230 | bacek++ | branches/sys_mem_reduce/lib/Parrot/Ops2c/Utils.pm:
12:34 dalek parrot: Fix compiler warning
12:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44230/
12:34 dalek parrot: r44231 | bacek++ | branches/sys_mem_reduce/src/pmc/orderedhash.pmc:
12:34 dalek parrot: Switch OrderedHash to auto_attrs
12:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44231/
12:35 Whiteknight joined #parrot
12:37 mikehh bacek: you want me to fix the codetest failures or leave them for now?
12:38 bacek mikehh, if you have spare time - feel free to fix them
12:38 mikehh :-}
12:41 bacek Ah. Ignore c++ comments (if any). And src/gc/* at all
12:43 mikehh 'k
12:43 mikehh my normal test procedure starts with a make realclean, configure, make manifest_tests, make codetest, make corevm/make coretest, make world/make test then fulltest
12:46 mikehh at the moment make -j world fails the first time I run - that's after make -j corevm (ok) - I need to run more than once as it fails on ./pbc_merge (permission denied) which seems to be a dependancy problem
12:47 mikehh if I run make -j after make -j corevm it still fails the first time
12:48 joeri joined #parrot
12:48 Whiteknight good morning #parrot
12:48 mikehh of course make world without the -j is ok
12:48 mikehh hi Whiteknight
12:50 mikehh this stasrted happening after the pbc_merge landed
12:51 Austin Good morning, Whiteknight.
12:53 bacek Whiteknight, which morning are you talking about? Yesterday's?
12:57 bacek mikehh, ok. I'm switching to cleanup ItsMostCrappyCode (ever). Feel free to hack src/gc/*
13:01 payload joined #parrot
13:04 bacek Yay. Parrot/Rakudo is now officially in FreeBSD ports. (In Russian from maintainer) http://zag.ru/page/item_view/teper-Per​l6-v-FreeBSD-oficialno-.html#comments
13:07 dalek parrot: r44232 | bacek++ | branches/sys_mem_reduce/src/gc/gc_ms.c:
13:07 dalek parrot: Call mem_sys_foo functions from GC MS to preserve trunk behavior.
13:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44232/
13:07 dalek parrot: r44233 | bacek++ | branches/sys_mem_reduce/src​/pmc/fixedintegerarray.pmc:
13:07 dalek parrot: Finally switch FIA to GC allocations
13:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44233/
13:07 dalek parrot: r44234 | fperrad++ | trunk/tools/dev/mk_language_shell.pl:
13:07 dalek parrot: [languages] update PMC template after r44190
13:07 dalek parrot: s/pmc_new/Parrot_pmc_new/
13:07 dalek parrot: s/pmc_type/Parrot_get_type_str/
13:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44234/
13:07 dalek parrot: r44235 | mikehh++ | branches/sys_mem_reduce/include/parrot/memory.h:
13:07 dalek parrot: unwrapped macro argument - type
13:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44235/
13:09 NotFound And now, the magical moment you've been waiting for....
13:09 nopaste "NotFound" at 213.96.228.50 pasted "Generate a working pbc from winxed using the packfile PMC" (48 lines) at http://nopaste.snit.ch/19722
13:12 * bacek glad to see that make_hello_pbc was actually useful :)
13:13 bacek anyway, it's tomorrow already
13:13 bacek Good night, folks!
13:14 NotFound Looks like we're starting to have all pieces required for a HLL based pir compiler ready.
13:17 Whiteknight NotFound: nice
13:18 kid51 joined #parrot
13:20 Whiteknight bacek: should it be Parrot_gc_mem_allocate_n_typed?
13:20 Whiteknight is it publicly visible?
13:22 Whiteknight malloc.c and malloc_trace.c were deprecated, right?
13:23 dalek kakapo: cf6dfa9 | austin++ |  (4 files):
13:23 dalek kakapo: Added 'super' and 'super_' keywords in Syntax.nqp
13:23 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
13:23 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/cf6dfa988d644507fa2ba8a6c1781d3ba5525e7e
13:23 dalek kakapo: 2fefcdd | austin++ |  (15 files):
13:23 dalek kakapo: Added tests for Program.nqp. Added tests for new 'caller' sub in Parrot.nqp. Added 'Key' Pmc type, with 'new', '__dump'.
13:23 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/2fefcdd50f361f38de1187f29b05049d397bee50
13:23 dalek kakapo: 67295c0 | austin++ | :
13:23 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/67295c063bd7699ff70637256940317d956f9e44
13:23 dalek kakapo: 8411bac | austin++ | .gitignore:
13:23 dalek kakapo: Updated .gitignore in kakapo root.
13:23 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
13:23 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/8411bac11dbd869f8e5c701b123718f2d166807f
13:24 dalek parrot: r44236 | mikehh++ | branches/sys_mem_reduce/include/parrot/memory.h:
13:24 dalek parrot: there should be at least one space between a C keyword and any subsequent open parenthesis
13:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44236/
13:24 dalek parrot: r44237 | mikehh++ | branches/sys_mem_reduce/src/gc/api.c:
13:24 dalek parrot: correct C function docs
13:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44237/
13:40 dalek parrot: r44238 | mikehh++ | branches/sys_mem_reduce/src/gc/alloc_memory.c:
13:40 dalek parrot: fix Correctly indented preprocessor directives
13:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44238/
13:40 dalek parrot: r44239 | mikehh++ | branches/sys_mem_reduce/src/gc/api.c:
13:40 dalek parrot: fix ASSERT_ARGS
13:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44239/
13:42 payload left #parrot
13:52 mikehh bacek: just the one c++ comment left
13:55 payload joined #parrot
13:56 TiMBuS joined #parrot
13:56 dalek parrot: r44240 | mikehh++ | branches/sys_mem_reduce/src/gc/gc_ms.c:
13:56 dalek parrot: fix ASSERT_ARGS
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44240/
13:56 dalek parrot: r44241 | mikehh++ | branches/sys_mem_reduce/src/gc/gc_private.h:
13:57 dalek parrot: one space required at the moment - fixing
13:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44241/
14:07 lucian joined #parrot
14:07 Whiteknight urg, the Timer PMC is really really b0rked
14:11 ruoso joined #parrot
14:14 Whiteknight I can't even really figure out how this is supposed to work
14:19 lucian joined #parrot
14:31 JimmyZ joined #parrot
14:36 JimmyZ left #parrot
14:37 JimmyZ_ joined #parrot
14:38 JimmyZ joined #parrot
14:38 JimmyZ_ joined #parrot
14:38 lucian joined #parrot
14:39 JimmyZ_ left #parrot
14:39 JimmyZ joined #parrot
14:42 pmichaud cotto: pong
14:42 pmichaud (branch review is on my list as soon as I'm done with grant reviews :)
14:46 dalek parrot: r44242 | mikehh++ | branches/sys_mem_reduce/include/parrot/memory.h:
14:47 dalek parrot: fix unwrapped macro argument
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44242/
14:56 kthakore joined #parrot
14:56 Austin pmichaud: Is there a heredoc for nqprx?
14:58 pmichaud Austin: not yet.  one can do some fancy-ish things with quotes, however.
14:58 pmichaud my @heredoc := pir::split( "\n", q{{{
14:58 pmichaud This is a heredoc
14:58 pmichaud until
14:58 pmichaud we
14:58 pmichaud get to
14:58 pmichaud }}} );
14:58 Austin Works for me. Thanks.
14:59 Austin Is that q{{{ a single-quote or double-quote form?
14:59 pmichaud and, of course, one can do  qq  for variable interpolation in the heredoc, etc.
14:59 Austin Perfect.
14:59 purl it has been said that perfect is the enemy of good enough.
15:03 mikehh msg bacek -
15:03 purl Message for bacek stored.
15:03 mikehh sys_mem_reduce branch:
15:03 mikehh t/examples/shootout.t - Failed test 'examples/shootout/nsieve-bits.pir' - results wrong (less than required)
15:03 mikehh t/benchmark/benchmarks.t - Failed test 'examples/benchmarks/freeze.pasm' with Segmentation fault
15:03 mikehh and one c++ comment in src/pmc/fixedbooleanarray.pmc
15:03 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#32298), fulltest) at r44242 - Ubuntu 9.10 amd64 (g++ with --optimize)
15:51 Psyche^ joined #parrot
16:00 dalek rakudo/master: 8003298 | pmichaud++ | docs/spectest-progress.csv:
16:00 dalek rakudo/master: spectest-progress.csv update: 195 files, 24223 (67.8% of 35730) pass, 0 fail
16:00 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/8​00329897a86377846bb0cfe07fa614f6765e44a
16:07 kthakore hi there
16:07 kthakore I get a fail in parrot trunk of t/compilers/pge/03-optable.t
16:07 kthakore none of the tests run
16:08 kthakore how do I run it verbose?
16:14 NotFound kthakore: ./parrot t/compilers/pge/03-optable.t
16:14 kthakore ok thanks
16:14 kthakore PackFile_unpack: This Parrot cannot read bytecode files with version 5.3.
16:14 kthakore Parrot VM: Can't unpack packfile ./compilers/pge/PGE.pbc.
16:14 kthakore wth?
16:14 purl well, wth is Flavour?
16:15 kthakore clean?
16:15 purl clean is fine, just don't fucking hide every goddamn thing in sight, especially the goddamn soap.
16:15 kthakore huh?
16:15 kthakore yay!
16:15 kthakore worked
16:15 kthakore NotFound: thanks man
16:19 MikHel Is there an explanation somewhere of the new grammar created by create_language.pl ?  It is no more grammar.pg but has become Grammar.pm and though compact, it is obscure!
16:23 dalek rakudo/master: ec47f33 | (Solomon Foster)++ | docs/spectest-progress.csv:
16:23 dalek rakudo/master: Delete duplicate line for 2010-02-18.
16:23 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​c47f33ef2201e2c0ea588141f5750dc74da2b02
16:29 lucian joined #parrot
16:30 payload1 joined #parrot
16:31 payload joined #parrot
16:34 Coke pmichaud: you might want to make --gen-parrot rm the local parrot directory and do a fresh checkout.
16:34 Coke msg pmichaud: you might want to make --gen-parrot rm the local parrot directory and do a fresh checkout.
16:34 purl Message for pmichaud stored.
16:40 dalek winxed: r420 | julian.notfound++ | trunk/examples/packfile.winxed:
16:40 dalek winxed: show subs start in disassembly in packfile example
16:40 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=420
17:00 lucian joined #parrot
17:02 payload joined #parrot
17:09 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32299), fulltest) at r44242 - Ubuntu 9.10 amd64 (g++ with --optimize)
17:28 theory joined #parrot
17:40 dukeleto 'ello
17:46 kthakore dukeleto: hi
17:46 purl what's up, kthakore.
17:47 kthakore purl: go play in traffic
17:47 * purl wanders off to dent some cars.
17:52 mikehh joined #parrot
18:00 payload joined #parrot
18:02 tetragon joined #parrot
18:03 patspam joined #parrot
18:04 plobsing joined #parrot
18:08 payload1 joined #parrot
18:10 nbrown joined #parrot
18:12 * kid51 goes out to play with purl
18:37 AndyA_ joined #parrot
18:39 payload joined #parrot
18:50 chromatic joined #parrot
18:53 dalek parrot: r44243 | plobsing++ | trunk (7 files):
18:53 dalek parrot: move tools/build/nativecall.pir to tools/dev/nci_thunk_gen.pir
18:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44243/
19:10 dalek parrot: r44244 | plobsing++ | trunk/tools/dev/nci_thunk_gen.pir:
19:10 dalek parrot: convert from global variable use to :anon :immediate sub constant
19:10 purl I don't know how to convert from global variable use to :anon :immediate sub constant.
19:10 dalek parrot: avoids running data_json at every runtime
19:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44244/
19:11 Whiteknight chromatic: What's the status of TT #389?
19:11 Whiteknight branch is a month old
19:12 chromatic Only one problem remains: methods defined for core PMCs.
19:12 chromatic Only one test fails, but it's a doozy.
19:13 chromatic I think what we have to do is create a new PMCProxy for every core PMC during class_init part two and store methods there, then change all of the default PMC method lookup to look there instead of the namespace.
19:13 chromatic Every time I do that, though, KAPOW.
19:14 chromatic If you want to poke at it be my guest.
19:23 Whiteknight I dont think I have a real good understanding of the issue right now
19:27 NotFound chromatic: core pmc initialization may have race conditions. Maybe you are trying to create a proxy before the proxy pmc is initialized.
19:29 iblechbot joined #parrot
19:31 Whiteknight May I ask why we do a two-stage initialization of types?
19:32 NotFound Whiteknight: if not, they will be lots more of race conditions.
19:32 Austin Whiteknight: Because some types use other types.
19:32 Austin Internally, type A uses a hash, but hash used type B, which has an array of ...
19:33 NotFound I even thought about adding a third during the auto_attrs branch
19:33 Austin So you init them "a little", then go back and finish
19:33 Whiteknight We're talking about class_init, not VTABLE_init though
19:33 Austin Types is types.
19:34 Austin Classes keep hashes, arrays, etc.
19:35 Whiteknight meh, I'll just take your word for it.
19:35 Austin It's why I wrote Kakapo.
19:35 Austin The same problem appears at the HLL level
19:35 Austin (With the same 'meh' solution...)
19:37 chromatic NotFound, that's part of the problem.  Stage two helped.  Some.
19:40 myhrlin joined #parrot
19:41 Whiteknight is there any reason why ParrotInterpreter.pmc and ParrotThread.pmc register NCI methods manually in their class_inits?
19:41 chromatic Not sure.
19:41 Whiteknight should't those use METHOD syntax?
19:42 NotFound Whiteknight: I think METHOD initialization uses some PMCs
19:42 * Whiteknight will try a quick patch
19:43 plobsing NotFound: I was under the impression it made use of NCI pmcs in raw mode.
19:43 dalek parrot: r44245 | plobsing++ | trunk (2 files):
19:43 dalek parrot: add makefile rules to turn tools/dev/nci_thunk_gen.pir into parrot_nci_thunk_gen using pbc_to_exe
19:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44245/
19:45 NotFound plobsing: the methods themselves, but the initialization process can use more.
19:45 Whiteknight plobsing: what's the difference?
19:45 purl i think the difference is not enough to make the US the only super power.
19:46 plobsing Whiteknight: normally, methods handle their own PCC. register_nci_method uses a thunk.
19:46 Whiteknight ok
19:47 plobsing but thunks are loaded lazily, so it skirts some race condition issues
19:50 Whiteknight I'm still trying a patch now. If patch works, good. If not, I'll add docs
19:51 Austin purl, no, the difference is Epsilon, a number that gets closer to zero the longer you think about it.
19:51 purl okay, Austin.
19:56 Whiteknight so for me Epsilon is about a million, since I don't think about it at all
19:56 Austin I didn't say it got larger if you didn't think about it.
19:57 Hunger joined #parrot
19:57 plobsing purl, eps?
19:57 purl eps is probably under trunk/misc
19:58 Whiteknight okay, all tests pass if I replace those manually-defined methods with METHODs
19:58 Whiteknight so I'm cleaning up and committing that fix
19:58 * Austin raps, "Superman had come to town, to see who he could rock..."
20:00 dalek parrot: r44246 | plobsing++ | trunk/MANIFEST.SKIP:
20:00 dalek parrot: mk_manifest_and_skip
20:00 purl it has been said that mk_manifest_and_skip is the canonical mechanism for (re)generating MANIFEST
20:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44246/
20:04 silug_ joined #parrot
20:07 Whiteknight done.
20:08 Whiteknight so much code makes me so unhappy
20:10 Austin Don't be unhappy, Andrew. The sun is shining. It's not gonna snow for at least two more days. It's beautiful out.
20:11 tetragon_ joined #parrot
20:15 Austin We're somewhere in track #12, dude. http://www.amazon.com/Original-Seasons-​Devils-Sonata-Vanessa-Mae/dp/B00000I7JM
20:17 dalek parrot: r44247 | whiteknight++ | trunk/src/pmc (2 files):
20:17 dalek parrot: cleanup some EXTREMELY old syntax from ParrotInterpreter and ParrotThread to create METHODs. Use the preferred syntax for creating methods instead. all tests pass with this.
20:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44247/
20:25 Whiteknight Austin: yeah, the swamp of muddy trampled grass and melting snow outside my building is quite the scene
20:26 Whiteknight vanessa Mae did a great rendition of classical gas
20:33 dalek parrot: r44248 | plobsing++ | trunk (2 files):
20:33 dalek parrot: install parrot_nci_thunk_gen
20:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44248/
20:35 Austin Hey, whiteknight
20:35 purl hmmm... whiteknight is mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
20:35 Whiteknight ?
20:36 Austin I'm getting this error:  Parrot VM: PANIC: I is an unknown signature type.
20:36 Austin Trying (finally) to call getpid.
20:36 Whiteknight weird
20:36 Austin It follows up with "CAN_BUILD_CALL_FRAMES is disabled ..."
20:36 Whiteknight nopaste your code?
20:36 Austin Does that mean I can't call getpid at all, or I'm using the wrong signature?
20:37 Austin my &getpid := pir::dlfunc__PPSS(pir::null__P(), 'getpid', 'I');
20:38 nopaste "Austin" at 68.37.46.53 pasted "Error output (calling getpid)" (21 lines) at http://nopaste.snit.ch/19724
20:41 plobsing Austin: add a line "I\n" to src/nci/extra_thunks.nci, run tools/dev/mk_nci_thunks.pl (requires a built parrot), and then remake parrot
20:41 Whiteknight try "i"
20:42 plobsing or do what Whiteknight++ said
20:42 Austin whiteknight++
20:42 plobsing whichever you think is easier ;-)
20:42 Austin Size *does* matter!
20:42 Whiteknight plobsing: we REALLY need a dynamic frame builder, and we REALLY need to convert over to using better signature strings
20:43 plobsing Whiteknight: working on it... slowly
20:43 Austin Yeah. What's this "I" business, anyway? What's wrong with (int) ?
20:43 plobsing Austin: it's easier to parse because every type is the same length
20:43 plobsing its just a loop { switch (c) } over the string
20:43 Austin :)
20:44 bacek joined #parrot
20:44 plobsing I would prefer using structs or something similar instead of parsing strings.
20:44 Whiteknight plobsing: I would really like to try to use PCC-style strings for it
20:44 Austin Add a little "while (!isspace(*++p)); while (isspace(*++p));" and you're parsing c.
20:44 Whiteknight Capital letters are types, lowercase letters and numbers are modifiers
20:45 Austin "int int num str"
20:45 plobsing Whiteknight: that is a good idea, it is a little more complicated to work with though
20:46 plobsing Austin: "long double" <- what's that?
20:46 Austin long_double
20:46 Whiteknight "Fl"
20:47 plobsing I really don't like hand rolling parsers in C. If you want to change the syntax, go ahead and write it.
20:47 Austin :)
20:48 plobsing bonus points: you can skirt the dep policy if you make your signatures distinguishable from old-style signatures
20:48 plobsing eg by adding a '#' at the front or something like that
20:49 Austin laugh
20:49 Austin The deprecation policy.
20:49 purl i heard the deprecation policy was a major pain in the kiester.
20:49 NotFound Austin: I said you 'i' when talked about that.
20:49 Austin NotFound: And clearly I didn't listen.
20:49 Whiteknight I seriously dislike the deprecation policy
20:50 Austin I was probably tainted by the NQP signature mechanism.
20:50 NotFound Austin: hard to distinguish in the middle of discussion.
20:51 Austin Hey, do we have a file-handle pmc type that will store into a string?
20:51 plobsing Austin: I beleive StringHandle does that
20:51 NotFound Are you talking about dlfunc parameter syntax?
20:52 Austin plobsing++
20:52 Austin NotFound: Yes, but not for the filehandle pmc
20:53 NotFound A simple idea is to write a parser for whatever syntax you like that generates what current NCI understand, and diagnose problems.
20:54 plobsing NotFound: one of the problems with the current NCI signatures is that we're out of meaningful characters.
20:54 plobsing and we want to add more types
20:54 NotFound Then use that parser indepently, or insert into the program.
20:54 NotFound plobsing: yes, but that way allows easy experimentation.
20:55 Whiteknight plobsing: all the more reason to use the types+modifers synax
20:57 fperrad msg darbelo since r44204, distutils supports non group pmc, so you could write :  $P2['gdbmhash'] = 'src/pmc/gdbmhash.pmc'
20:57 purl Message for darbelo stored.
20:58 Whiteknight we can't just parse the pure-C defs from the .h files, since people will use typedefs and macros and shit there
20:58 Whiteknight hell, parrot does it
20:58 Whiteknight and if we have to write signatures out manually, we may as well use something shorter than a pseudo-C
20:59 NotFound Whiteknight: we can use a pseudo-c, and a tool that write the sigantures for us.
21:00 Whiteknight NotFound: but thats a lot of effort for little gain
21:00 Whiteknight we can treat all pointers as opaque, so we only need one character to represent them all
21:00 NotFound Whiteknight: I prrefer to write that code than losing hours checking if the docs are to date.
21:01 Whiteknight then we really only need 8-, 16-, 32-, 64-bit integers, 32-, 64-, and 128-bit floating points
21:01 Whiteknight NotFound: The upper-levels don't matter. What I care about are the signature strings used internally
21:02 Whiteknight any tools you use to make life easier do not matter for the internal implementation
21:03 plobsing Whiteknight: I've added a "what needs to happen" section to NCITaskList under the signature change section.
21:03 plobsing s/happen/be done/
21:03 NotFound Whiteknight: but the availability of tools put less pressure in make the internals human-readable.
21:04 Whiteknight purl msg chromatic howabout a Hash* in the VTABLE structure to hold methods. That way we can store them in the second initialization pass as soon as they are created. Copyin/merging the hashes can facilitate inheritance. This way we don't need to create PMCProxies too early.
21:04 purl Message for chromatic stored.
21:04 Whiteknight NotFound: I'm not arguing against it, but I'm not going to spend any of my time writing it
21:05 NotFound Whiteknight: we can treat pointers as opque to make a call, but to prepare the argments and cook the return values we need more information.
21:06 Whiteknight NotFound: Not sure what you mean by that. All pointers can be gotten from PMCs using get_pointer. Most will use ManagedStruct or UnmanagedStruct
21:06 dalek parrot: r44249 | fperrad++ | trunk/include/parrot/pmc.h:
21:06 dalek parrot: allows compatibility between before/after r44190
21:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44249/
21:06 NotFound Whiteknight: C strings, mainly.
21:06 dalek tracwiki: v3 | Austin_Hastings++ | Parrot%20Dictionary
21:06 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Parro​t%20Dictionary?version=3&amp;action=diff
21:06 dalek tracwiki: v7 | plobsing++ | NCITasklist
21:06 dalek tracwiki: http://trac.parrot.org/parrot/wiki/N​CITasklist?version=7&amp;action=diff
21:07 Whiteknight NotFound: C strings can be gotten from STRINGs easily
21:07 NotFound Whiteknight: yes, if you have that info.
21:07 fperrad msg darbelo I'm the initial author of digest dynpmcs, a Lua library uses them (http://github.com/fperrad/lua-batter​ies/blob/master/lua/library/md5.pir), and today I create http://github.com/fperrad/digest-dynpmcs. So I think your http://gitorious.org/digest-dynpmcs/digest-dynpmcs becomes useless.
21:07 purl Message for darbelo stored.
21:08 Whiteknight fperrad: darbelo was planning a rewrite and feature expansion, so it might be a nice fork
21:08 plobsing Whiteknight: there's also the cases of pass by ref types, with which it makes sense to use boxed Floats/Ints
21:09 plobsing Whiteknight: and that could be extended to allow for wider arguments than NUMVAL or INTVALS using bignums
21:09 NotFound And there is a point that current NCI doesn't address: who owns the memory.
21:10 Whiteknight plobsing: again, all get_pointer access. We would just need to make sure Float and Integer provide the correct VTABLEs
21:10 plobsing NotFound: although we're not very explicit about it, it looks like NCI expects *parrot* to own the memory.
21:11 Whiteknight For other cases, there is UnmanagedStruct
21:11 NotFound plobsing: or just doesn't care to free it in some cases.
21:12 plobsing NotFound: where is it not freeing?
21:12 NotFound plobsing: call a function that returns a c string that you are supposed to free.
21:13 NotFound If you are couragoues eough, look a Xlib reference X-)
21:15 plobsing NotFound: free() is a pointer operation. If you are expected to free something, it should be treated as a pointer.
21:15 plobsing So maybe return it as a "p" type, copy to STRING * yourself and then free it.
21:15 NotFound plobsing: tell that to the authrs of lots of packages.
21:16 NotFound plobsing: surely there are ways, but the information about what to do in each cases must be passed to nci.
21:16 bacek Morning
21:17 NotFound In some cases, the function to use to free must be also NCI'ed
21:17 plobsing NotFound: of course. The N in NCI doesn't stand for nostradamus
21:18 NotFound plobsing: then we cant treat all pointers as opaque, qed.
21:23 NotFound An interesting problem: How can I set a pobj private flag from pir?
21:23 dalek parrot: r44250 | plobsing++ | trunk/config/gen/makefiles/root.in:
21:23 dalek parrot: use parrot_nci_thunk_gen fakecutable in stead of tools/dev/nci_thunk_gen.pir to generate opengl thunks
21:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44250/
21:23 NotFound I need that to set the :main flag in a sub.
21:24 Austin I'd love to know the answer to that, NotFound.
21:24 Austin Of course, I work around it by compiling on the fly.
21:26 bacek NotFound, check make_hello_pbc. You can provide "comp_flags" for newly created Sub.
21:27 NotFound bacek: that was my idea, but after tests and looking at parrot source the conclusion is that :main doesn't live here.
21:27 bacek NotFound, it is afaik.
21:28 bacek Problem is PBC_FOO flags aren't exposed to PIR.
21:28 bacek include/parrot/packfile.h, line 349
21:29 bacek nope
21:29 bacek include/parrot/sub.h
21:30 NotFound bacek: those are the fixup actions
21:30 bacek sub_flags_enum
21:33 NotFound bacek: yes, the enum is clear, but his usage is not.
21:34 NotFound bacek: src/packfile.c 932
21:35 NotFound The comp_flags are masked, and some other values are checked in the pobj private flags
21:36 bacek bah... SUB_COMP_FLAG_MASK is evil...
21:37 bacek 404 -> 110010100b
21:37 NotFound The simpler solution will be to stop using the pobj private flags, and put all in the comp_flags
21:38 bacek which is TAILCALL | PF_IMMIDIATE | flag_9 | flag_10
21:39 bacek I think only PF_IMMIDIATE make sense...
21:40 bacek Or may be I wrong and we have to delete this hairy SUB_COMP_FLAGs
21:41 NotFound There are not enough private flags for all needs, I think.
21:41 bacek Indeed
21:41 bacek OTOH, if you want to implement HLL PIR compiler you don't have to use SUB_COMP_FLAGS
21:41 bacek you need just sub_flags_enum for generated Sub
21:43 NotFound bacek: I don't cheked all I may need, I'm just trying to be able to mark main for a now.
21:43 bacek .oO( How many branches in last couple of weeks were merged back??? )
21:43 bacek NotFound, :main is SUB_FLAG_PF_MAIN
21:43 bacek which is in sub_flags_enum
21:44 bacek Just expose it into PIR and try :)
21:44 NotFound bacek: yes, I just need the way to set that in the private flags.
21:45 NotFound I can put a method in the packfile constant table PMC, but I prefer to avoid too much blackmagic.
21:47 NotFound Well, let's do it that way and mark as experimental.
22:01 NotFound bacek: it works :)
22:02 bacek NotFound, of course! :)
22:02 lucian joined #parrot
22:02 NotFound Well, I don't like it very much, but is worse being unable to do it ;)
22:03 NotFound bacek: And I can blame you if someone gets upset }:)
22:04 bacek NotFound, no way! I just created Packfile PMCs. Everything else is not my fault.
22:04 bacek :)
22:05 NotFound You tempted me to do it!
22:06 bacek <NotFound> I need that to set the :main flag in a sub.
22:06 bacek You asked for it! :)
22:06 NotFound I suppose that TT #451 is enough, and I don't need to put that method explicitly in DEPRECATED.pod
22:07 NotFound bacek: we'll discuss it in court ;)
22:09 theory joined #parrot
22:09 bacek NotFound, in theory :)
22:11 joeri joined #parrot
22:12 dalek parrot: r44251 | fperrad++ | trunk/runtime/parrot/libra​ry/Configure/genfile.pir:
22:12 dalek parrot: [genfile] add a verbose option
22:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44251/
22:28 dalek parrot: r44252 | bacek++ | branches/sys_mem_reduce (236 files):
22:28 dalek parrot: Bring branch up-to-date with trunk.
22:28 dalek parrot: Conflicts:
22:28 dalek parrot: config/gen/crypto/digest_pmc.in
22:28 dalek parrot: src/pmc/orderedhash.pmc
22:29 dalek parrot: src/runcore/profiling.c
22:29 dalek parrot: tools/build/nativecall.pl
22:29 purl tools/build/nativecall.pl is probably supposed to be run manually, right?
22:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44252/
22:29 dalek parrot: r44253 | NotFound++ | trunk/src/pmc/packfileconstanttable.pmc:
22:29 dalek parrot: [pmc] experimental method set_main in PackfileConstantTable
22:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44253/
22:51 ttbot Parrot trunk/ r44253 cygwin-thread-multi-64int make error http://tt.ro.vutbr.cz/file/cmdout/206153.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
22:58 bacek NotFound, you broke the build!
22:58 NotFound It's your... eh... not yet
23:01 NotFound Looks completely unrelated to my chnage :?
23:01 mikehh bacek: i thought tools/build/nativecall.pl was replaced by .pir
23:02 dalek parrot: r44254 | mikehh++ | trunk/src/pmc/parrotinterpreter.pmc:
23:02 bacek mikehh, yes.
23:02 bacek NotFound, no way! It's your fingerprints in TapTinder! :)
23:03 dalek parrot: fix pod syntax
23:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44254/
23:03 dalek parrot: r44255 | bacek++ | branches/sys_mem_reduce (3 files):
23:03 dalek parrot: Fix param guards.
23:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44255/
23:03 dalek parrot: r44256 | bacek++ | branches/sys_mem_reduce/src/pbc_merge.c:
23:03 dalek parrot: One more GC allocation
23:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44256/
23:03 dalek parrot: r44257 | bacek++ | branches/sys_mem_reduce (3 files):
23:03 dalek parrot: Rerun headerizer
23:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44257/
23:03 dalek parrot: r44258 | bacek++ | branches/sys_mem_reduce/compilers/imcc (16 files):
23:03 dalek parrot: Switch IMCC to GC allocations
23:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44258/
23:04 bacek mikehh, ok. Branch is ready for testing.
23:05 bacek Few more polishing touches, but no big changes
23:05 mikehh bacek: will give it a go as soon as I have finished testing trunk
23:06 bacek mikehh, ok, thanks
23:13 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32302), fulltest) at r44254 - Ubuntu 9.10 amd64 (gcc with --optimize)
23:16 bacek mikehh,
23:16 purl rumour has it mikehh, is that patch associated with a ticket
23:16 bacek #   Failed test 'src/pbc_merge.c has correct dependencies (Makefile: line 1491).'
23:16 bacek #   at tools/dev/checkdepend.pl line 270.
23:16 bacek # +---+-----------------------------------​--+---+-------------------------------+
23:16 bacek # | Ln|Got                                  | Ln|Expected                       |
23:16 bacek # +---+-----------------------------------​--+---+-------------------------------+
23:16 bacek # | 57|include/parrot/vtables.h             | 57|include/parrot/vtables.h       |
23:16 bacek # | 58|include/parrot/warnings.h            | 58|include/parrot/warnings.h      |
23:16 bacek # | 59|include/pmc/pmc_callcontext.h        | 59|include/pmc/pmc_callcontext.h  |
23:16 bacek # * 60|include/pmc/pmc_parrotinterpreter.h  *   |                               |
23:16 bacek # | 61|include/pmc/pmc_sub.h                | 60|include/pmc/pmc_sub.h          |
23:16 bacek # +---+-----------------------------------​--+---+-------------------------------+
23:16 bacek not ok 119 - src/platform.c has correct dependencies (Makefile: line 1270).
23:16 bacek this is probably why parallel build failing
23:17 mikehh bacek: that sounds right
23:17 mikehh or views :-}
23:20 dalek parrot: r44259 | mikehh++ | branches/sys_mem_reduce/MANIFEST.SKIP:
23:20 dalek parrot: regenerate MANIFEST.SKIP
23:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44259/
23:22 ttbot Parrot trunk/ r44254 cygwin-thread-multi-64int make error http://tt.ro.vutbr.cz/file/cmdout/206221.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:29 dalek winxed: r421 | julian.notfound++ | trunk/examples/wpack.winxed:
23:29 dalek winxed: example of pbc generation using packfile PMCs
23:29 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=421
23:33 bacek mikehh, pod_syntax failure already fixed in trunk (parrotinterpeter.pmc). I'll just sync with trunk again.
23:36 dalek parrot: r44260 | bacek++ | branches/sys_mem_reduce/src​/pmc/fixedbooleanarray.pmc:
23:36 mikehh bacek: I'll fix it again
23:36 dalek parrot: Remove FIXME comment.
23:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44260/
23:36 dalek parrot: r44261 | mikehh++ | branches/sys_mem_reduce (14 files):
23:36 dalek parrot: set svn properties
23:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44261/
23:36 bacek mikehh, ok.
23:51 mikehh bacek: looks good - running smoke and fulltest now
23:52 bacek mikehh, ok!
23:53 dalek parrot: r44262 | mikehh++ | branches/sys_mem_reduce/src​/pmc/parrotinterpreter.pmc:
23:53 dalek parrot: fix pod syntax
23:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44262/
23:56 lucian joined #parrot

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

Parrot | source cross referenced