Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot Developer Summit, Sat May 14 2100 UTC #parrotsketch
Set by moderator on 14 May 2011.
cotto dukeleto, don't forget about the first 8 00:00
dukeleto cotto: indeed. that code needs some tests
cotto: those are *stored* in registers, but I guess I don't quite think of them as registers 00:01
cotto: but that code still needs to grok them :)
cotto yes 00:02
pmichaud cotto: ping 00:15
00:16 lucian left
dalek rrot/m0-prototype: f8ae291 | dukeleto++ | src/m0/m0_assembler.pl:
Teach the M0 assembler about the special register symbols like INTERP, PC and friends
00:18
rrot/m0-prototype: 87237a3 | dukeleto++ | src/m0/m0_assembler.pl:
Add in EX, which was forgotten
dukeleto cotto: we need to decide more about how the metadata and directory segments work. there are still a bunch of TODO's in the spec 00:19
pmichaud cotto: when you're available, I have a strong suggestion re: 't' 00:22
(might actually be a bit of a performance win for Parrot overall, too) 00:23
whiteknight pmichaud: sure, what do you have in mind? 00:24
pmichaud how hard/undesirable would it be to have each STRING keep track of its own cstring value/memory allocation?
I'm thinking it's an extra pointer, and maybe a flag. 00:25
whiteknight that seems like a lot to add for the few cases of 't' NCI signatures
pmichaud I think it's much bigger than that
(more)
whiteknight What if there was a custom PMC decorator type that did STRING->cstring conversion?
pmichaud I think that's much more work for much less benefit 00:26
let me explain a bit long
whiteknight okay
pmichaud right now, quite a few Parrot internal functions wrap STRING handling in Parrot_string_to_cstring() and Parrot_string_free_cstr() pairs to be able to pass things to C functions
this was very necessary when STRING was mutable, because we couldn't just pass the STRING buffer (because it might change) 00:27
but STRING is no longer mutable
so, as a first step, we can have Parrot_string_to_cstring() allocate a cstring buffer and store the value there
and we never have to touch it again until the STRING disappears 00:28
(when it can clean it up as part of its normal allocation)
this is a huge win for many functions -- e.g., Parrot_io_*printf* that expects and uses STRING as arguments
but internall converts to cstring buffers and frees
whiteknight I have a number of concerns about that approach
pmichaud let me add two more items and then I'll hear your concerns, okay? 00:29
whiteknight if I pass a cstring to a library and the library caches it, then the STRING gets collected, the library is dealing with a freed pointer
or any of other similar situations
pmichaud that's already a problem with the proposed workaround for 't'
this neither improves nor worsens that situation 00:30
cotto and back
cotto needed to go outside for a bit to clear his head after the pds 00:31
pmichaud beyond that, I'd propose that we have two forms of "get a cstring from STRING" - one where you know the cstring is treated as constant and won't be cached, and another where it's not constant and must be freed
internall, Parrot can used the "constant" version
whiteknight I disaree, with the proposed workarounds, the lifetime of the C string is not tied to the lifetime of the STRING
pmichaud I think that's kind of a plus
whiteknight the function to free the cstring doesn't require a reference to the original STRING 00:32
pmichaud I'm not saying we eliminate the ability to get a standalone C string from a STRING
whiteknight pmichaud: the suggestion to have two mechanisms for getting a cstring from a STRING is a worthy one to consider
pmichaud I'm saying let's give STRINGs the ability to provide a cstring pointer without having to have a separate allocation for it
and then 't' can use that
actually, --amend 00:33
whiteknight what do you mean "without habing to have a separate allocation"? We can't reuse the existing buffer
pmichaud let's give STRINGs the abilty to provide a simple managed cstring buffer without the caller having to provide one
s/provide one/provide the freeing step/
if you call a C function that caches the pointer, you need to get your own cstring 00:34
if you call a C function that expects to mutate the cstring, you need to get your own cstring
otherwise, just ask a STRING for a cstring, it'll give you one and retain it for the life time of the string 00:35
of the STRING
this can be a huge help in the case of constant strings, I think -- such as strings that are frequently passed to things like printf and the like
dalek TT #2112 created by whiteknight++: Improved documentation about NCI
TT #2112: trac.parrot.org/parrot/ticket/2112
pmichaud and many times, the STRING might be able to provide the managed cstring without actually having to point to a separate allocation -- i.e., it may be able to simply return str_start or whatever directly 00:36
whiteknight Okay, I get what you are saying. I'm not quite warmed up to the idea
but I can be convinced
pmichaud again, I'm not saying it solves all cases, nor that it eliminates the need for having other cstring manipulations. But for the common case of "I need to pass this string value to a C function", it would work (and provides Parrot with some good internal optimization possibilities through a clean API) 00:37
whiteknight I don't think we are going to get any changes of that magnitude in place before 3.4
pmichaud agreed, not likely before tuesday
whiteknight and at the moment, I'm very concerned with getting some kind of solution in place by 3.4
even if it's a crap hack 00:38
pmichaud Rakudo might be willing to live with one (compiler, not star) release where zavolaj doesn't work.
OTOH, I've been thinking that there might be a 2011.05 Star release since we're likely to have some significant performance improvements in place by then. 00:39
in which case we'd need zavolaj to work.
whiteknight do you still have that link to the codefile with the broken 't' usage?
I can go hunt for it otherwise
pmichaud I'm also not entirely opposed to a hacky solution just to get zavolaj to work for a release, but as a long term solution I think the "oh, just make extra calls to Parrot C functions" is a really poor and unsafe design 00:40
sure, I can get it
just a sec
github.com/jnthn/zavolaj/blob/mast...veCall.pm6 # this one?
whiteknight no, I'm fully expecting a temporary hack solution for 3.4, but a better long-term one
pmichaud Line 63 is the one that results in problems, because zavolaj expects to be able to use a 't' to pass a (constant) string to the C library 00:41
whiteknight right
I want to run some valgrind, see how much converting we are doing between STRING and cstring 00:42
pmichaud that's an excellent idea
whiteknight caching a cstring pointer in STRING very well might be a performance win
of course, it will most certainly be a memory usage fail, so we need to weigh the trade-offs 00:43
pmichaud I'm not so sure it will
assuming that the STRING already contains its own cstring equivalent, it doesn't have to allocate anything
whiteknight last time we cut a single pointer out of the PMC structure, it was a huge win for Parrot
pmichaud ah, that's possible, yes.
whiteknight and since STRINGs are immutable now, the churn for STRING headers is much higher
pmichaud as a potential test case, I might suggest valgrind on pbc_to_exe 00:46
pbc_to_exe does a variety of I/O and string manipulation thingies
of course, doing it on an nqp program (e.g. ops2c) is likely to also produce interesting results 00:47
er, opsc, or whatever it is now. :-)
anyway, this was just a brainstorm; maybe something good will come of it. 00:48
time for dinner here -- bbl, and thanks for listening
cotto I find it interesting where this discussion is going.
dukeleto, pong 00:49
dukeleto, what are your concerns about M0 metadata?
01:00 contingencyplan joined 01:18 ShaneC joined 01:23 autark_ left 01:27 jsut_ joined 01:32 jsut left
cotto dukeleto, lmk whenever you're back 01:33
01:37 autark joined 01:50 Coke left 01:51 Coke joined 01:58 Coke left, Coke joined 02:03 Coke left, Coke__ joined 02:05 contingencyplan left 02:14 kid51 joined 02:17 Coke__ left, Coke joined
kid51 I just got a CPAN testers failure report for a CPAN distro I haven't touched in 7 years! 02:21
Has anyone used MirBSD?
cotto s/used/heard of/ !~ 1 02:26
Those BSD guys really like their forks.
kid51, why? 02:27
that's where your failure is?
kid51 This module contains list of strings which are recognized by Perl as Unix-ish OSes. I had never heard of 'mirbsd' when I wrote this module. 02:28
cotto wikipedia says it's a thing
and they have a website
kid51 Yes, I went to their website. Fork of OpenBSD. 02:29
cotto is at 43% battery life and 4 hours remaining. <3
kid51 My feeling: Too many forks reduce a project's mindshare. 02:30
cotto I'm glad they exercise their freedom to fork, but yeah. 02:31
whiteknight that implies that the *BSD folks had any mindshare to reduce </unnecessary snark> 02:32
02:32 ShaneC left
whiteknight no, I jest in good fun. My only complaint with *BSD is that I can't run any of them as VMs 02:33
kid51 Does anyone remember enough Subversion to answer: If I'm in a checkout directory, how do I locate the path to its repository? 02:38
cotto svn info
I think that's what you're asking. 02:39
kid51 Yes.
thx
cotto kid51, do you know where I'd get what I'd need to get a ppc darwin VM going 02:45
dalek sella/memoize_cleanup: 3389a90 | Whiteknight++ | VERSION:
Path is beta. functionality is there. I need to start adding more tests and documentat
02:46
sella/memoize_cleanup: 4d005de | Whiteknight++ | src/path/Path.winxed:
docs for path
sella/memoize_cleanup: e5aaff1 | Whiteknight++ | src/ (2 files):
Add a function to Rosella.Memoize to automatically create a proxy-based memoizer. Add two prototype functions for installing a memoizer into a class in place of an existing method (untested)
sella/memoize_cleanup: 07171f3 | Whiteknight++ | src/memoize/Memoize.winxed:
add functions to allow get/set on the proxy target function and cache
sella/memoize_cleanup: 1690e7c | Whiteknight++ | src/memoize/Memoize.winxed:
+docs
sella/memoize_cleanup: 559ce64 | Whiteknight++ | src/memoize/ (5 files):
+docs throughout the memoize library
sella/memoize_cleanup: 720a52c | Whiteknight++ | src/memoize/cache/ (2 files):
update some stragglers to use new constructors
sella/memoize_cleanup: 8cf5375 | Whiteknight++ | src/memoize/Memoize.winxed:
fix small typo so we build
sella/memoize_cleanup: 077ec4f | Whiteknight++ | t/memoize/ (4 files):
Add in a lot of stub tests that we are going to want to fill in before this library becomes stable
sella/memoize_cleanup: 18aeae4 | Whiteknight++ | / (5 files):
fix a bug in creating a string cache. Add memoize tests to the harness (and make the two we have pass)
sella/memoize_cleanup: 3c5c214 | Whiteknight++ | / (3 files):
Add a test for memoize_proxy, and fix a bug found by that test
sella/memoize_cleanup: c95ed6f | Whiteknight++ | t/memoize/Memoize.t:
implement a few important tests
whiteknight I wish the threshold for dalek to not flood the channel was much lower
dalek sella: 3389a90 | Whiteknight++ | VERSION:
Path is beta. functionality is there. I need to start adding more tests and documentat
02:51
sella: 4d005de | Whiteknight++ | src/path/Path.winxed:
docs for path
sella: c5139b2 | Whiteknight++ | src/string/Tokenizer.winxed:
add in a file I missed
02:52
sella/gh-pages: e396f17 | Whiteknight++ | libraries/memoize.md:
add a stub doc file for memoize
02:59
kid51 cotto: no, I don't. I know little about that kind of VM.
... and less about this kind :-) 03:00
cotto shame. lots of dead links that way
kid51 Just did my first CPAN upload of that module in 6-1/2 years! 03:01
And first time I've used Subversion in about a year and a half.
cotto delightful 03:03
03:06 soh_cah_toa left 03:13 whiteknight left
cotto I'm shocked at how easy the debian ppc qemu image I found is to play with. 03:26
I was expecting to have to fiddle with networking, but it just worked. 03:31
Let's see how this thing flies. 03:32
03:33 Andy joined
cotto "slowly" 03:35
03:46 bubaflub left 03:49 kid51 left 03:53 particle1 joined 03:57 particle left 04:05 bubaflub joined
cotto Emulating a ppc machine with qemu is great. I can get a 60 second build on my main machine and a 90 minute build in the emulator. 04:17
dukeleto, ping 04:45
dalek rrot: 05b9835 | petdance++ | frontend/pbc_merge/main.c:
Remove unused ct argument
rrot/shims: 63df102 | bacek++ | src/gc/gc_gms.c:
Get back some performance of is_(pmc|string)_ptr. This invariant should always hold
rrot/shims: 2a4dbe2 | petdance++ | / (18 files):
Merge branch 'master' of github.com:parrot/parrot into shims
04:46
Andy ARGH
04:47 redicaps joined 05:14 bubaflub left 05:23 Andy left 05:33 redicaps left
dalek rrot: 0f7d5c8 | petdance++ | src/debug.c:
consting args and localizing vars
05:44
rrot: b86721f | cotto++ | tools/build/gen_version.pl:
caching was deleted; no need to override it
05:47
05:49 fperrad joined
dalek rrot/shims: 05b9835 | petdance++ | frontend/pbc_merge/main.c:
Remove unused ct argument
05:50
rrot/shims: 0f7d5c8 | petdance++ | src/debug.c:
consting args and localizing vars
rrot/shims: f3babdb | petdance++ | / (59 files):
We no longer put SHIMs in the function declarations
rrot/shims: 1e3a4b4 | petdance++ | / (4 files):
fix shim arguments
rrot/shims: cfd694d | petdance++ | / (5 files):
fixing function annotations
rrot/shims: 76a525f | petdance++ | /:
Merge branch 'shims' of github.com:parrot/parrot into shims
cotto alester, what's that branch? 05:54
05:56 redicaps joined, utsl left, utsl joined
moderator Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today 06:09
06:14 redicaps left 06:29 redicaps joined 06:52 fperrad_ joined 06:54 fperrad left, fperrad_ is now known as fperrad 07:09 jsut joined 07:10 baest_ joined 07:11 dodathome joined, baest_ left 07:14 jsut_ left, baest left 07:45 fperrad_ joined 07:47 fperrad left, fperrad_ is now known as fperrad 07:48 particle1 left 07:49 rurban_ joined, particle joined 07:51 rurban left, rurban_ is now known as rurban 07:52 redicaps left 07:58 redicaps joined 08:14 redicaps left 08:21 redicaps joined 08:28 mj41 joined 08:53 ShaneC joined 08:54 ShaneC left 08:57 redicaps left 09:00 M_o_C joined 09:04 redicaps joined 09:33 mj41 left
dalek rrot: b09b1b2 | fperrad++ | MANIFEST.generated:
MANIFEST.generated:444: Duplicate entry tools/dev/ncidef2pir.pl
09:34
10:12 jsut_ joined 10:17 contingencyplan joined, jsut left 10:48 redicaps left
bacek ~~ 10:56
seen pmichaud
aloha pmichaud was last seen in #parrot 10 hours 7 mins ago saying "time for dinner here -- bbl, and thanks for listening".
bacek msg pmichaud How hard is to add different parrot's branch to rakbench?
aloha OK. I'll deliver the message.
11:02 Psyche^ joined 11:07 Patterner left, Psyche^ is now known as Patterner 11:15 woosley joined 11:16 woosley left
dalek rrot: e9222e7 | bacek++ | src/gc/gc_gms.c:
Remove unused functions
11:22
11:36 whiteknight joined
whiteknight good morning, #parrot 11:40
11:42 mj41 joined
tadzik good morning whiteknight 11:43
mikehh hi whiteknight
whiteknight hello tadzik, mikehh. How are you two doing today? 11:44
mikehh whiteknight: pretty good, lost .parrot.git.describe though, which I used in my testin reports :-{ 11:45
tadzik and I'm good :) Done some GSoC work yesterday, glad about it 11:48
whiteknight mikehh: oh, that stinks. 11:50
bacek mikehh, just use "git describe --tags" :) 11:52
mikehh bacek: thanks - that works :-} 11:54
12:02 woosley joined 12:13 M_o_C left
mikehh git status gives Untracked files: runtime/parrot/include/parrot_version.pir 12:15
and it is not removed by make realclean 12:16
12:26 ambs joined 12:37 contingencyplan left
dalek rdinal: 4ea63c3 | (Daehyub Kim)++ | / (3 files):
Integer#chr
13:04
rdinal: a6751a2 | (Daehyub Kim)++ | / (3 files):
Integer#ord
rdinal: c4f6029 | (Daehyub Kim)++ | / (11 files):
modify src/parser/actions.pm to return CardinalFloat instead Float:

add new classes:
   CardinalNumeric
   CardinalFloat
add new methods:
   Integer#chr
   Integer#even
   Integer#odd
   Float#to_f
   Float#zero
fixme:
   Cardinal#round
   round does not return C<self>
   see ruby-1.9.2-p180/numeric.c:3188
   also src/classes/Integer.pir:326
rdinal: d7a30e6 | (Daehyub Kim)++ | src/classes/Integer.pir:
recover misfixed stuff
rdinal: 5ae2128 | (Daehyub Kim)++ | setup.pir:
add CardinalNumeric to build
rdinal: 6dc91ec | tadzik++ | / (13 files):
Merge pull request #7 from lateau/lib191

Lib191
whiteknight ...nice 13:07
13:08 jsut joined 13:13 jsut_ left, mj41 left
pmichaud whiteknight: ping 13:16
whiteknight pmichaud: pong
pmichaud I have an idea re: 't' hack for Tuesday 13:17
whiteknight okay
pmichaud clone the STRING being passed as an argument, pass that STRING's str_start as the char* pointer to the called library function, let normal GC take care of reclaiming the (cloned) STRING and its buffer 13:18
whiteknight we can't just clone. STRING buffers aren't null-terminated 13:20
so we would need to concat str + "\\0"
ad pass that result to the lib
pmichaud okay, then clone t..... right
whiteknight We have to figure out where to implement that logic. I'm not entirely familiar with the new NCI architecture yet 13:21
pmichaud me either
isn't the C function still wrapped by some sort of thunk?
if so, that's the place to do it
anyway, pass that along to whoever ends up working on the issue 13:22
bacek: it's not hard at all 13:23
bacek: (to set up multiple branches of rakudo and/or parrot for rakbench to test)
13:26 kid51 joined 13:49 benabik left 13:52 bluescreen left
dalek sella/memoize_cleanup: 223c7c2 | Whiteknight++ | / (2 files):
Fix memoize_method and unmemoize_method, and test simple use of both
13:53
sella/memoize_cleanup: de263f3 | Whiteknight++ | t/memoize/Memoize.t:
fill out all tests I had for memoize.t, but add two new stubs that I will fill in later once I add functionality to the libary
sella/memoize_cleanup: 0afc191 | Whiteknight++ | / (2 files):
+tests for Memoize.Cache.SimpleString
13:54
sella/memoize_cleanup: 1916dce | Whiteknight++ | t/memoize/cache/Item.t:
+tests for Memoize.Cache.Item
13:54 benabik joined
dalek rrot: df3de71 | cotto++ | / (2 files):
install parrot_version.pir, add to .gitignore
14:23
cotto fperrad++ for noticing that I forgot those 14:28
dalek rrot: c279c36 | cotto++ | config/gen/makefiles/root.in:
also remove parrot_version.pir during make clean; mikehh++ for noticing
14:35
TT #2106 closed by cotto++: git_describe configuration value not correct 14:37
TT #2106: trac.parrot.org/parrot/ticket/2106
cotto goes back to sleep
14:43 jsut_ joined 14:48 jsut left
dalek TT #2104 closed by jkeenan++: recent parrot changes broke rakudo 14:52
TT #2104: trac.parrot.org/parrot/ticket/2104
15:08 whiteknight left
pmichaud should I go ahead an post my PDS pre-meeting notes to parrot-dev? I didn't get a chance to do that before the meeting yesterday 15:08
*and
I'll ask via email. 15:10
kid51 I just posted a summary to parrot-dev ... 15:11
... however, the list is still having the same problems we observed yesterday ... 15:12
... i.e., it's receiving and archiving messages, but not mailing them.
pmichaud well, the gist I used yesterday isn't likely to be a permanent place for what I wrote, so I'm wondering if it's good to have it in the email archive also.
kid51 Then please post it to parrot-dev 15:13
pmichaud will do. you can ignore the email I just sent :)
(asking the same question :-)
(re: mailing list) in the past when I've had difficulty with Mailman archiving but not delivering messages, I've tended to resolve it by either (1) stop mailman, remove all of the locks in mailman/locks, restart mailman, or (2) restart mail server 15:15
if some people are receiving the emails but not others, that indicates a mailserver issue
if nobody is receiving the emails, it's a mailman issue
15:36 bubaflub joined
tadzik is there a Cardinal hackathon somewhere I don't know about>? 15:39
dalek rdinal: cfabfeb | (Hongwe Qiu)++ | src/classes/ (3 files):
Initializes Range!from_exclusive and Range!to_exclusive as FalseClass instead of CardinalInteger.

So now, that the failed tests of t/array/assign.t, t/array/values_at.t, t/continuation.t and t/range/infix-exclusive.t all pass.
15:42
rdinal: 371cd44 | tadzik++ | src/classes/ (3 files):
Merge pull request #8 from qiuhw/master

This commit was meant to get all of the tests under t/array pass
bubaflub tadzik: haha. just commented on that. 15:43
tadzik bubaflub: yeah, I saw that :)
looks like we're missing some fun today, everyone's fixing cardinal
bubaflub tadzik: i'll be back in 2 hours or so if ya wanna continue the hacking in #cardinal 15:45
15:45 woosley left
bubaflub also, it looks like make with -j is broken, possibly on parrot_version.pir 15:46
tadzik dunno, I always use setup.pir 15:47
bubaflub tadzik: sorry, not cardinal but parrot itself
tadzik but I feel like migrating that to setup.nqp or setup.winxed for greater justice
bubaflub parrot HEAD with make -j makes parrot with multiple jobs
i think a dependency is missing somewhere 15:48
it's not a big deal though
tadzik oh, I see
15:49 rurban_ joined
bubaflub afk 15:50
tadzik never did that though
15:51 rurban left, rurban_ is now known as rurban 16:09 davidfetter left 16:33 lucian joined 16:34 theory joined 16:48 davidfetter joined 16:52 SHODAN joined
kid51 darwin/PPC: master: commit c279c364257: make test PASS 17:02
17:21 zby_home joined
dukeleto ~~ 17:59
it is nice to see patches flowing in the direction of cardinal 18:08
18:10 jsut joined
tadzik aye 18:12
18:15 jsut_ left 18:39 sjn joined
cotto ~~ 18:43
Is parrot-dev back? 18:44
kid51 I have no reason to think so. 18:45
When we experience problems like this on the weekend, we generally don't get a fix until Monday.
cotto I got a message from parrot-tickets. 18:46
kid51 OTOH, parrot-tickets appears to be working -- but that's not fed by humans
dalek TT #64 closed by cotto++: Parrot needs a source of entropy
TT #64: trac.parrot.org/parrot/ticket/64
cotto hopes that was the last of our two-digit tickets 18:47
not even close 18:48
19:03 mj41 joined
dalek rrot: dec8a43 | mikehh++ | MANIFEST.SKIP:
re-generate MANIFEST.SKIP
19:05
dukeleto anybody in here can ask people in #osuosl on freenode to help us (i.e. with parrot-dev). I won't always have time to do it. 19:14
send an email to support@osuosl.org and it will automatically create a ticket
cotto Has nobody already done that? 19:15
dukeleto that should be in our docs somewhere
cotto: not in reference to parrot-dev. go for it :)
cotto: also, ask when they do to fix it, so we can do it next time
mikehh cotto: make: *** No rule to make target `runtime/parrot/include/parrot_version.pir', needed by `runtime/parrot/include/parrotlib.pbc'. Stop. 19:16
cotto mikehh, I can't win. 19:17
mikehh cotto: you can but try :-}
dukeleto cotto: did you do a "make realclean; make" on your branches before merging them? That will catch stuff like that.
sometimes, anyway 19:18
KaeseEs the name 'realclean' gives me shivers from memories of mysql (unfounded, i know) 19:19
mikehh I usually run manifest_tests and codetest after config, before corevm/coretest 19:20
cotto fixing now
mikehh we probably need a target for codetest without perlcritic (unless perl type files changed) 19:21
dalek rrot: 7eaaf85 | cotto++ | config/gen/makefiles/root.in:
add dependency for parrot_version.pir, mikehh++ for noticing
19:22
bubaflub just got my parrot-dev mail 19:49
mikehh just got a bunch of mail from parrot
how;s that for snap :-} 19:50
moritz too
cotto Cool. I didn't even do anything.
kid51 mikehh: make nocritic_codetest 19:52
19:52 kid51 left
cotto nice to have those back 19:54
20:04 SHODAN left
dalek rrot: de47670 | mikehh++ | config/gen/makefiles/root.in:
remove trailing space and line up a bit
20:24
rrot: 2c653b7 | mikehh++ | MANIFEST.generated:
fix MANIFEST.generated
20:26 dodathome left 20:27 perlite_ joined 20:31 perlite left, perlite_ is now known as perlite
ttbot Parrot 7eaaf85e MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/7350 20:32
Parrot 2c653b7f MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/7373 20:39
mikehh ./parrot_nci_thunk_gen has 3 Ignored signature messages in make world (has for a week or so now) 20:45
did not on May 5th, did on May 8th 20:46
20:51 contingencyplan joined
cotto allison, ping 20:52
20:53 zby_home left
mikehh and cotto, taptinder don't seem to like that change 20:55
at least on MSWin32-x68 20:56
86
20:57 ambs left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_3_0-268-g2c653b7 21:00
Ubuntu 11.04 i386 (g++ --optimize)
cotto reparrot.blogspot.com/2011/05/thoug...n-pds.html 21:04
mikehh, how odd 21:05
plobsing ~~ 21:08
mikehh plobsing: hi 21:09
plobsing I've been thinking about the NCI 't' issue. Would it be a reasonable resolution if Parrot were to provide a wrapper functionality in the NCI::Utils library? 21:10
mikehh plobsing: ./parrot_nci_thunk_gen has 3 Ignored signature messages in make world (has for a week or so now) - any idea what it means? 21:11
plobsing mikehh: do you have a build log that shows that? 21:12
I can rebuild and see if I see it
cotto just a sec 21:13
nopaste "cotto" at 192.168.1.3 pasted ""ignored signature" message from thunk builder" (13 lines) at nopaste.snit.ch/45839
mikehh yup - I got the same 21:14
plobsing those are warnings about duplicate signatures
the opengl thunk signature generator is outputing dups. I suspect the template contains some hardcoded signatures which are also auto-generated from the headers. 21:16
it is mostly harmless
it would be nice if those signatures were pretty printed. 21:17
[28, 29, 4, 7, 7] is void (ptr, PMC, int, int) 21:19
[28, 5] is void (char)
21:27 lucian left
mikehh winxed (r1001) builds on parrot 3_3_0-268-g2c653b7, make test/test1/test2 PASS - examples/opengl.winxed ok, examples/fly.winxed - empty display - Ubuntu 11.04 i386 (g++ --optimize) 21:29
plobsing fly.winxed doesn't work? It worked for NotFound++ and myself last week. 21:30
NotFound ~~
It worked all times I checked after last fix 21:31
The opengl fix, I mean. 21:32
mikehh probably missed loading some dependency - I re-installed 11.04 i386 a couple of days ago 21:33
but opengl.winxed works for me
NotFound Updating and checking... 21:34
mikehh I probably need to check the ATI drivers, I only have the open source ones installed, not the propriety ones 21:35
NotFound You're right, something fails. 21:36
Looks like a parrot fault, it fails with several releases of winxed. 21:40
glutCreateWindow does not set the window title 21:46
plobsing is it being called with the correct signature? 21:47
NotFound plobsing: define "correct" 21:48
plobsing however your systems headers define it 21:49
21:50 lucian joined
plobsing but not setting the window title is much different from "empty display" 21:51
NotFound plobsing: that also depends on how you define empty. Only blue sky.
examples/glcube.winxed also fails. It shows squares sometines, back most of the time. 21:52
glcubes 21:53
The title issue happens with all winxed opengl examples 21:54
plobsing yeah. that's a string translation problem I missed.
I'm working to fix that now 21:55
but the other failures are more troubling 21:56
NotFound opengl.winxed uses plain functions. fly uses closures and glcubes objects that override vtable invoke. 21:57
For the opengl callbacks, I mean. 21:58
21:58 mj41 left
NotFound opengl.winxed is the only that displays the objects expected. 21:58
plobsing but these are multiple failures. I'm interested in isolating single failures. 22:00
what is going wrong with fly.winxed to make it so that the display is blank/blue?
NotFound Don't know, callbacks are called. 22:01
plobsing yeah. fly.winxed is blue for me too. 22:02
bisecting... 22:03
NotFound The reshape callback receives correct values. 22:08
22:10 ShaneC joined
plobsing wtf. this was working. 22:10
need to reboot... nvidia driver update
22:10 plobsing left 22:12 plobsing joined
mikehh rakudo (be887ad) - builds on parrot (3_3_0-268-g2c653b7) - make test, make stresstest [roast (ef5b438)] PASS 22:14
Ubuntu 11.04 i386 (g++ --optimize)
opbots, names 22:18
cotto dukeleto, you around?
22:25 ShaneC left
pmichaud draft proposal for Rakudo/Parrot relationship managers: pmichaud.com/sandbox/relman-draft.txt 22:34
comments and suggestions welcomed
(should I send the draft to parrot-dev also, or wait until it's no longer draft?) 22:35
cotto looks 22:36
NotFound I nominate myself for the position of Winxed/Parrot relationship manager ;)
22:37 bluescreen joined
plobsing fly.winxed works as of RELEASE_3_3_0-216-gdbfe940 22:38
NotFound: you'll need for parrot developpers to start committing things to break winxed first ;) 22:39
dukeleto cotto: occasionally 22:40
cotto dukeleto, good time for M0? 22:41
pmichaud, I like it. How about iterating on parrot-dev?
pmichaud okay. I need some iterations on #perl6, also, if only to determine the identities of <person1> and <person2>.
cotto dukeleto, and if not, when will be? 22:45
pmichaud link to draft sent to parrot-dev (and p6c) 22:51
23:04 fperrad left
plobsing NotFound: 17a997ebea6cbe2101f728d94fc773366342206b was the commit that broke fly.winxed 23:06
not sure why...
pmichaud added: "A relationship manager is free to answer cross-project lobbying 23:09
requests with "Raise this issue with your project's relationship
managers."
cotto What does having mmapped bytecod imply? 23:17
(in terms of bytecode format) 23:18
*bytecode
dalek rrot: 2dfc4b7 | plobsing++ | tools/dev/nci_thunk_gen.pir:
fix double/longdouble brain-o
sorear on-disk bytecode the same as in-memory bytecode layout
plobsing NotFound: fly.winxed fixed (I was accidentally generating long double thunks for doubles)
cotto so native endianness and type sizes 23:19
plobsing not sure why the tests didn't pick this up. we have nci doubles tests IIRC
sorear if our runcores want each "bytecode" to be an 8-byte little endian integer on Platform X, then we need bytecodes in that format
we could do away with the native sizes requirement by changing opcode_t to be uint16_t
possibly uint32_t; fullword reads are faster on most CPUs but maybe not enough to offset the cache hit 23:20
plobsing sorear: that is a good idea, but would require some work rewriting parrot internals that expect opcode_t == UINTVAL
cotto I'm thinking about M0.
There's no way I'm letting that assumption leak into M0. 23:21
sorear likewise it would be possible to do away with native endian by using uint8_t opcode_t; M0 could pull that off
plobsing I'm not sure M0's ideas about bytecode compression are compatible with mmapping
sorear current-Parrot could use uint8_t[2] opcodes, with explicitly coded reassembly
cotto plobsing, do tell 23:22
plobsing well, the point of mmapping the bytecode is that you share the memory with all other processes working with the same bytecode (and that this memory is seen as hot by the OS)
cotto sure 23:23
plobsing if you have to perform transformations of any kind on this bytecode to make it executable (for example performing decompression), then you've lost all advantage
cotto byte-centric bytecode has some charm 23:26
ttbot Parrot 2dfc4b7e MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/7463
plobsing I don't see why we'd want to have M0 portable between architectures. It isn't the kind of thing you'd want to be flinging around the network. 23:27
anyone know what "nen¡ n zvem vnitýn¡ho ani vnØjç¡ho pý¡kazu, spustiteln‚ho programu nebo d vkov‚ho souboru." means? 23:30
cotto Part of it is that I want to avoid the mess we have with pbc where we need to test a bunch of permutations of endianness, word size, etc
I want it to be the case that (1) there's only one M0 binary format and any compliant interpreter can read it or (2) M0 bytecode is only guaranteed to work on the same architecture it was generated on. 23:34
sorear We *do* want to be flinging M0 bytecode around the network 23:35
plobsing I'm of the opinion that (2) is easier and (1) is not worth the effort
sorear Suppose computer X does not have Parrot installed, and we want to fix that
Suppose further that IMCC is bootstrapped and is only available in source and M0 form
cotto s/IMCC/PIRATE/, but that's an expected future reality 23:36
also, s/IMCC/fire/
plobsing couldn't you compile that M0 down to C?
isn't that one of the design goals?
cotto it is
plobsing I would expect IMCC and other core components to be distributed as generated C. 23:37
cotto me too
sorear ok
cotto I need to take off, but thanks for some good things to think about. 23:38
23:49 rurban_ joined 23:51 rurban left, rurban_ is now known as rurban
dukeleto cotto: i am here for a few mins 23:52
23:53 PacoLinux left
dukeleto blarg 23:53
23:56 whiteknight joined