|
Parrot 1.6.0 "half-pie" released! | Test CallSignature PMC | pcc_reapply branch still needs your love! trac.parrot.org/parrot/wiki/Callin...nsOverview Set by moderator on 12 October 2009. |
|||
|
00:06
patspam joined
|
|||
| dalek | rrot: r41893 | jkeenan++ | branches/auto_libjit/config/auto/frames.pm: Applying 3rd patch submitted by plobsing in trac.parrot.org/parrot/ticket/1105. This may not be the ultimate solution -- it causes t/steps/auto/frames-01.t to fail -- but it builds and passes all tests in 'make test'. |
00:13 | |
|
00:16
bacek joined
|
|||
| darbelo | ls -a | 00:16 | |
| Sorry, wrong window. | |||
|
00:52
darbelo left
01:22
hercynium joined
|
|||
| Whiteknight | darbelo: pong | 01:23 | |
|
01:54
TiMBuS joined
02:01
plobsing joined
|
|||
| plobsing | hi | 02:04 | |
| purl | hello, plobsing. | ||
| plobsing | I see the auto_libjit branch is passing on x86 linux. Any chance we could get x86 linux with libjit installed to test? | 02:05 | |
| Whiteknight | hello plobsing | 02:06 | |
| pmichaud | fair warning: dalek flood imminent | 02:07 | |
| Whiteknight | i dont have an x86/linux machine myself. Although I can try on x64 | ||
| dalek | p-rx: f44ecaf | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get PAST::Node.node update. |
02:08 | |
| shorten | dalek's url is at xrl.us/bfss7t | ||
| dalek | p-rx: 4c7671c | pmichaud++ | src/Regex/P6Regex/Actions.pm: Add methodop arguments to named assertions. |
||
| shorten | dalek's url is at xrl.us/bfss7v | ||
| dalek | p-rx: 88773ed | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get PAST::Node.node bugfix. |
||
| shorten | dalek's url is at xrl.us/bfss7x | ||
| dalek | p-rx: e335cf9 | pmichaud++ | (2 files): Refactor HLLCompiler overload into a cheat file. |
||
| shorten | dalek's url is at xrl.us/bfss7z | ||
| dalek | p-rx: 88f1d40 | pmichaud++ | src/ (2 files): Switch P6Regex to use protoobjects for parsegrammar and parseactions. it right now). |
||
| p-rx: 6bccdbe | pmichaud++ | src/Regex/P6Grammar.pir: Switch P6Grammar to use protoobjects for parsegrammar and parseactions . |
|||
| shorten | dalek's url is at xrl.us/bfss73 | ||
| dalek's url is at xrl.us/bfss75 | |||
| dalek | p-rx: 2f2704b | pmichaud++ | src/Regex/P6Grammar.pir: Switch P6Grammar to use HLL::Compiler. |
||
| shorten | dalek's url is at xrl.us/bfss77 | ||
| dalek | p-rx: 6c418a8 | pmichaud++ | src/ (3 files): More bootstrap refactoring. |
||
| shorten | dalek's url is at xrl.us/bfss79 | ||
| dalek | p-rx: 2c73bfa | pmichaud++ | src/Regex/P6Regex/Actions.pm: Handle capnames of subcaptures properly. |
||
| shorten | dalek's url is at xrl.us/bfss8b | ||
| dalek | p-rx: 1239272 | pmichaud++ | src/Regex/P6 (2 files): Some whitespace handling issues. |
||
| shorten | dalek's url is at xrl.us/bfss8d | ||
| plobsing | Whiteknight: it should pass on x64 without libjit. | 02:09 | |
| Whiteknight: I still need to figure out how to make it work without alloca before it'll work on x64 with libjit | 02:10 | ||
| Whiteknight | ok | ||
| I'm headed to bed now, I'll look at it in the morning | 02:12 | ||
| goodnight | |||
| mikehh | msg kid51: No - how do you change it back | 02:33 | |
| purl | Message for kid51 stored. | ||
|
02:35
janus joined
|
|||
| TiMBuS | plobsing, did you manage to make a non-jit nci for x64? | 03:07 | |
| kid51 | mikehh: edit the Description | 03:09 | |
| dalek | rrot: r41894 | jkeenan++ | branches/auto_libjit (2 files): t/steps/auto/frames-01.t: Conform to new code in internal method config/auto/frames.pm: Delete 3 statements no longer needed. |
03:14 | |
|
03:16
mikehh joined
|
|||
| mikehh | messages | 03:16 | |
| kid51 | mikehh: You can edit a TT's Description. It's much like making a post. | 03:17 | |
| The layout of the Trac page during editing is a bit clumsy. More than once, I have edited a ticket's Description when I was trying to make a new post -- and v.v. | 03:18 | ||
| mikehh | kid51: ok will do | ||
| kid51 must sleep | 03:21 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| plobsing | Timbus, no. What I meant was that the branch should be no different from trunk on all platforms when there is no JIT present | 03:28 | |
| TiMBuS | oh | 03:29 | |
| thats a pity, i wanted to see a working non-jit nci implementation. i tried to make one but ended up getting annoyed at it | 03:30 | ||
| plobsing | my asm-fu is too weak for that | 03:33 | |
| TiMBuS | i was told that there would need to be a non-jit style nci for people using SELinux, as it prevents executable memory being allocated. apparently libffi gets around this though | 03:42 | |
| on that note it looks like libffi does exactly what we want it to and now im wondering why parrot isnt using it | 03:43 | ||
| plobsing reads up on libffi... | |||
| yeah, AFAICT, libffi provides what parrot needs. | 03:51 | ||
| although if you have JIT engine, it would seem kind of silly to depend on libffi for nci | 03:52 | ||
| TiMBuS | it would be a nice fallback though | 03:53 | |
| plobsing | yes very much so. I'm on x86_64 so I feel the pain of not having complete nci without JIT | 03:55 | |
|
03:57
rhr joined
04:08
rhr joined
|
|||
| cotto | libffi seems like a good highly portable fallback | 04:14 | |
|
04:25
theory joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke (#29116), fulltest) at r41894 - Ubuntu 9.04 amd64 | 04:52 | |
|
06:10
chromatic joined
06:44
desertm4x joined
06:55
jsut joined
|
|||
| chromatic | Aha. | 06:55 | |
| CallSignature doesn't currently use get_pointer/set_pointer. | 06:56 | ||
| We can hijack those vtable entries to pass it the returns information. | 06:57 | ||
| We'll need to tell it somehow whether it's pulling the pointers from a context or from varargs, but that's easy enough. | |||
| Tene | sounds reasonable | 06:59 | |
| chromatic | We might not even have to walk the arrays until we do the assignments. | 07:00 | |
| Do the return values get set anywhere besides fill_results, Tene? | 07:02 | ||
| Tene | No. | ||
| chromatic | Great! | 07:05 | |
| The only remaining question is the interface we want for setting returns. | 07:06 | ||
| VTABLE entries on the CallSignature | |||
| ? | |||
| Iterating over get_pointer in a loop? | |||
| A separate data structure? | |||
| Grab it out of CallSig with a macro? | 07:07 | ||
| I'm going to ponder this for a bit. | |||
| I'll backlog if you have feedback. | |||
|
07:08
fperrad joined
07:38
iblechbot joined
08:08
Ron joined
08:23
Ron_ joined
09:16
mokurai left
09:17
Khisanth joined
09:18
masak joined
|
|||
| dalek | p-rx: 9e137f5 | pmichaud++ | build/ (4 files): A few final bootstrap pieces. |
09:22 | |
| shorten | dalek's url is at xrl.us/bfst3b | ||
| dalek | p-rx: 8439afd | pmichaud++ | (8 files): Complete parse bootstrapping of P6Regex library -- PGE is no |
||
| shorten | dalek's url is at xrl.us/bfst3d | ||
| dalek | p-rx: d561f7f | pmichaud++ | (4 files): More build cleanups -- remove references to PGE libraries and code. |
||
| shorten | dalek's url is at xrl.us/bfst3f | ||
| dalek | p-rx: ddf1fa8 | pmichaud++ | src/stage0/P6 (2 files): Update the stage0 compiler files. |
||
| shorten | dalek's url is at xrl.us/bfst3h | ||
| dalek | p-rx: 1e495f8 | pmichaud++ | src/cheats/PGE.pir: Remove no-longer-needed cheats for PGE. |
||
| shorten | dalek's url is at xrl.us/bfst3j | ||
|
10:00
HG` joined
10:20
desertm4x_ joined
10:37
joeri joined
11:31
Whiteknight joined
|
|||
| Whiteknight | good morning parrot | 11:37 | |
| Infinoid | good morning Whiteknight | 12:14 | |
| Whiteknight | hello Infinoid | 12:16 | |
|
12:26
bacek joined
12:39
kid51 joined
|
|||
| dalek | rrot: r41895 | whiteknight++ | branches/pcc_reapply (3 files): [pcc] start fixing tailcalls. This resolves 1 subtest failure in t/op/calling.t and has the potential to fix others with some tweaks. Tailcalls should share information about expected returns with the parent call frame. |
12:40 | |
| Whiteknight | down to 8 failing coretests | 12:48 | |
| t/op/calling_59.pir seems to be having a problem with .get_results on a continuation | 12:53 | ||
|
12:58
bacek joined
|
|||
| Whiteknight | same with t/op/calling_61.pir. Not getting results from a continuation | 12:58 | |
| bacek | Whiteknight: I fixed it :) | 13:22 | |
| bacek@icering:~/src/parrot$ prove t/op/calling.t | 13:23 | ||
| t/op/calling....ok | |||
| All tests successful. | |||
| Files=1, Tests=95, 4 wallclock secs ( 0.07 usr 0.01 sys + 2.11 cusr 1.01 csys = 3.20 CPU) | |||
| Result: PASS | |||
| purl | Time to write more tests! | ||
| bacek | botsnack | ||
| purl | thanks bacek :) | ||
| Whiteknight | how did you fix it? | ||
| bacek | r41896 | 13:25 | |
| dalek | rrot: r41896 | bacek++ | branches/pcc_reapply/src/pmc/continuation.pmc: Build result signature in Continuation.invoke. |
13:26 | |
| bacek | hm... I did expect that lexicals.t was fixed as well... | 13:27 | |
| dalek | rrot: r41897 | jonathan++ | trunk (2 files): [core] Rakudo needs to be able to control lexical/closure semantics from within its binder, meaning we need to be able to call Parrot_capture_lex. Make this possible, since it seems there's no other way to get at this functionality that's in the existing API. |
13:29 | |
| Whiteknight | 6 coretest failures! Awesome | 13:32 | |
| dalek | rrot: r41898 | bacek++ | branches/pcc_reapply/src/call/args.c: [cage] Fix few compiler warnings. |
||
| bacek | Whiteknight: actually more if you'll count coroutine failures as 5. | 13:33 | |
| Whiteknight | I haven't been looking at the failures in t/library/* | 13:34 | |
| but yes, we're down | |||
| dalek | rrot: r41899 | jkeenan++ | branches/auto_libjit (5 files): src/frame_builder_libjit.c and src/frame_builder_libjit.h are generated files trac.parrot.org/parrot/ticket/1105. |
13:36 | |
| Whiteknight | I think I might have the failure in codestring.t figured out | 13:39 | |
| bacek | Whiteknight: it passing on my box | ||
| Whiteknight | bacek: you on x86, or x64? | ||
| bacek | x86 | ||
| Whiteknight | the problem is a number not sign extending correctly | ||
| so -1 turns into 0xFFFFFFFF on my box, when it should be 0xFFFFFFFFFFFFFFFF | 13:40 | ||
| but I can fix that with a simple cast | 13:49 | ||
| 5 coretest failures | 13:57 | ||
| bacek | I found problem with threads. | ||
| '@' in signature. | |||
| Whiteknight | I already fixed that I thought | ||
| bacek | Fix coming | ||
| dalek | rrot: r41900 | whiteknight++ | branches/pcc_reapply/lib/Parrot/Pmc2c/PCCMETHOD.pm: [pcc] for some reason values are not being properly sign-extended on x64 without a cast. So, add in explicit casts on returns from variadic arg lists to make sure things are right |
||
| Whiteknight | maybe I didn't fix al of it | 13:58 | |
| bacek | src/pmc/parrotthread.pmc, init | ||
| Whiteknight | ah shoot, I do see that now | 13:59 | |
| I fixed "@" in the CI thunk builder | 14:00 | ||
| bacek | yeah | 14:01 | |
|
14:01
cconstantine joined
|
|||
| bacek | Whiteknight: are you sure that '@' is equivalent to 'Ps'? Shouldn't it be ":optional"? | 14:03 | |
| Whiteknight | yes, @ is slurpy array | ||
|
14:05
fperrad joined
|
|||
| bacek | looks like thread treat is as "optional slurpy array" | 14:06 | |
| or handling of slurpy arrays in branch is slightly different. | |||
| Whiteknight | slurpys are by definition optional | 14:07 | |
| so :optional :slurpy does not make sense | |||
|
14:07
Psyche^ joined
|
|||
| bacek | looks like a bug in fill_params. | 14:07 | |
| bacek@icering:~/src/parrot$ ./parrot t/pmc/threads_4.pir | 14:08 | ||
| ok 1 | |||
| too few positional arguments: 3 passed, 4 (or more) expected | |||
| current instr.: 'main' pc 27 (t/pmc/threads_4.pir:12) | |||
| Whiteknight: can you try to replace '@' with 'Ps' in parrotthread.pmc? | 14:10 | ||
| Whiteknight | I am doing it right now | ||
| actually, already done it, testing now | |||
| that causes more failures | 14:11 | ||
| masak | should I report when I get failed assertions in Parrot_gc_mark_PMC_alive_fun? | 14:12 | |
| because I just did. | |||
| Whiteknight | masak: yes | 14:13 | |
| you should report on any failed assertions | |||
| masak | ok. I have now gotten three in a row. the seem fairly consistent. | 14:14 | |
| s/the/they. | |||
| jonathan | *sigh* Well done folks. Rakudo doesn't build against latest Parrot. | 14:17 | |
| Just what I need when I'm trying to get something done. | |||
| I'll investigate after lunch. | |||
| Whiteknight | who is even making changes to trunk anymore? | 14:18 | |
| I haven't touched trunk in almost a month | |||
| jonathan | Whiteknight: I'm really not sure... | ||
| Whiteknight: Hopefully that means there won't be too many revisions to hunt through. | 14:19 | ||
| Whiteknight | hopefully | ||
| jonathan | Well, if my fix is "just revert it", at least you know it won't be you that's offended. ;-) | ||
| I'll try and patch it up first if it looks straightforward though. | |||
| Anyway, lunch first... | 14:20 | ||
| Whiteknight | bacek: I think the @ stays there. NCI signatures are handled a little differently | ||
| we haven't unified them yet | |||
| nopaste | "kid51" at 70.85.31.226 pasted "Jonathan: recent trunk activity" (951 lines) at nopaste.snit.ch/18361 | 14:21 | |
| jonathan | Hmm. | 14:22 | |
| kid51: thanks | 14:23 | ||
| Bumped from 41796 and latest is 41897 | |||
| So about 100 commits. | |||
| kid51 | So, you last successfully built Rakudo at 41796? | 14:24 | |
| jonathan | kid51: That's the revision Rakudo has been building against, yes. | 14:25 | |
| kid51: And I think the last Parrot revision I also built against. | |||
| kid51 | Suggest seeing if you can build at 41833 | ||
| jonathan | kid51: It was a revision in which I fixed a segv. | 14:26 | |
| Whiteknight | how does rakudo build fail? | 14:36 | |
| jonathan | Hmm. pm did various nqp patches. I wonder if one of those might be to blame, given we die in NQP-related code | 14:37 | |
| Whiteknight: Null PMC access in find_method() | |||
| current instr.: 'perl6;Perl6;Grammar;Actions;_block13' | |||
| Whiteknight | urg | ||
| jonathan | Whiteknight: My first thought was "eww, something really nasty", but now I notice the NQP and PAST patches (hadn't spotted them before) it's just possible they are the issue. | 14:38 | |
| Whiteknight | ok | ||
| jonathan | Oh, we die *really* early on. | 14:40 | |
| get_hll_global $P15, "P6metaclass" | |||
| $P15."new_class"("Perl6::Grammar::Actions") | |||
| That first line, it appears, hands back a Null | 14:41 | ||
| jonathan glances the revisions list | |||
|
14:46
fperrad_ joined
|
|||
| jonathan | pmichaud has tracked the issue down - thanks for input, everyone. | 14:55 | |
| dalek | rrot: r41901 | pmichaud++ | trunk/compilers/nqp/src/Grammar/Actions.pir: [nqp]: Fix root_hll fetch problem introduced by pmichaud-- in r41871. |
15:12 | |
| mikehh | kid51: as a matter of interest how did you generate the list in nopaste.snit.ch/18361 | ||
| kid51 | mikehh: svn log . --limit=200 > file | 15:13 | |
| mikehh | kid51: ok thanks | 15:14 | |
|
15:18
davidfetter joined,
theory joined
|
|||
| Whiteknight | t/op/lexicals_28.pir is really too convoluted to do any real debugging | 15:19 | |
| at any given breakpoint, I really don't know what is supposed to be happening | 15:20 | ||
| mikehh | pcc_reapply branch - make smoke #29124 at r41900 - 10,756 ok, 9 failed, 262 todo, 560 skipped and 0 unexpectedly succeeded | 15:23 | |
| that's 5 failed plus 4 missed in t/library/coroutine.t | |||
| on Ubuntu 9.04 amd64 | 15:24 | ||
| got to reboot - bbiab | 15:25 | ||
| dalek | kudo: 24ebf39 | masak++ | src/parser/signature.pm: [src/parser/signature.pm] fixed class collision perl6_s1.pbc... <jnthn> masak: Ah, ouch <jnthn> masak: in src/parser/signature.pm, try this: <jnthn> -class Perl6::Compiler::Signature; <jnthn> +module Perl6::Compiler::Signature; <jnthn> (evil but seems to work) <masak> jnthn: aye, works. <jnthn> \\o/ <jnthn> masak: Feel free to push. <masak> will do. |
15:32 | |
| shorten | dalek's url is at xrl.us/bfsuoy | ||
| masak | sorry about the commit spamming. | ||
| it seemed like a good idea at the time... :/ | 15:33 | ||
|
15:47
mikehh joined
|
|||
| nopaste | "kid51" at 68.237.7.57 pasted "Page 10 of Parrot Developer's Guide: PIR suggests that this should work -- but it doesn't" (9 lines) at nopaste.snit.ch/18362 | 15:47 | |
| Whiteknight | that should definitely not work, at least not without predeclaring $P0 | 15:53 | |
| kid51 | But page 9 says that 'P' (PMC) is a register variable and "You need not predeclare register variables" | 15:54 | |
| purl | Sorry, I don't know 9's email address. | ||
| kid51 | purl page purl | 15:55 | |
| purl | kid51: excuse me? | ||
| kid51 | page kid51 | ||
| purl page kid51 | |||
| purl | kid51: sorry... | ||
| kid51 | But page kid51 | ||
| jonathan | But page 9 | 15:56 | |
| ...odness | |||
|
16:02
theory joined
|
|||
| Whiteknight | not predeclare the register, you need to create an array type in that register | 16:02 | |
| kid51 | can you illustrate? | ||
| kid51 is trying to work his way through the book | 16:03 | ||
| Whiteknight | $P0 = new 'ResizablePMCArray' | 16:04 | |
|
16:04
rdice joined
|
|||
| Whiteknight | $P0[5] = "foo" | 16:04 | |
| $S1 = $P0[5] | 16:05 | ||
| kid51 | But isn't that what I have in my paste? | 16:07 | |
| sorry | 16:08 | ||
| pmichaud | you haven't initialized $P0 to anything. | ||
|
16:09
rblasch__ joined
|
|||
| kid51 | Yeah, I had overlooked WN's antepenultimate post | 16:09 | |
| nopaste | "kid51" at 68.237.7.57 pasted "PMC corrected" (6 lines) at nopaste.snit.ch/18363 | 16:10 | |
| Whiteknight | antepenultimate: good word! | 16:21 | |
| purl | good word is "absurd" | ||
|
16:33
mberends joined
16:42
davidfetter joined
17:00
whoppix joined
17:01
Austin joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke (#29129), fulltest) at r41901 - Ubuntu 9.10 (beta) amd64 | 17:01 | |
|
17:06
Whiteknight joined
|
|||
| Whiteknight | the thread function appears to be getting the correct arguments in t/pmc/threads_4.pir, but the thread function is never getting run | 17:15 | |
| but I don't have any more time to debug this for now. Maybe somebody else can make better sense of this then I can | |||
|
17:23
theory joined
|
|||
| mikehh | rakudo (24ebf39) builds on parrot r41910 - make test PASS / make spectest_smolder (up to r28807 -> #29130) FAIL - Ubuntu 9.10 (beta) amd64 | 17:23 | |
| rakudo - t/spec/S06-signature/optional.rakudo - Failed test: 12 | |||
| bah - parrot r41901 | 17:24 | ||
| rakudo - 35,259 ok, 1 failed, 519 todo, 6,880 skipped and 0 unexpectedly succeeded | 17:26 | ||
| wow that's 27859 passing tests - 79%+ | 17:30 | ||
|
17:31
davidfetter joined
|
|||
| jonathan | Ah, that failed test may well be one that was incorrect and that I corrected, but Rakudo doesn't handle in its corrected form. | 17:32 | |
|
17:32
Austin joined
|
|||
| mikehh | posted to #rakudo too | 17:36 | |
| well #perl6 | 17:37 | ||
| the spectest_smolder run took 12 minutes 15 sec | 17:40 | ||
| jonathan | mikehh: For Rakudo? | 17:41 | |
| mikehh: I'm guessing running tests in parallel? | |||
| mikehh | jonathan: well the entire run - from git pull, config, build test and spectest_smolder took 17 min 20 sec | 17:43 | |
| and i presume so | 17:44 | ||
| of course that's not including building and testing parrot and sudo make install-dev | 17:46 | ||
|
17:47
chromatic joined
|
|||
| mikehh | jonathan: looking at the spectest_smolder report it reports a failure BUT that test has got a TODO on it - it didn't seem to pick that up | 17:58 | |
|
17:59
theory joined
18:10
payload joined
18:18
theory joined
|
|||
| Whiteknight | got it | 18:22 | |
| dalek | rrot: r41902 | whiteknight++ | branches/pcc_reapply/t/pmc/threads.t: [pcc] t/pmc/threads.t test was incorrect. It was calling set_string_native on the incoming args array (FPA) which is undefined. Threw unhandled exception which terminated the thread. Using a new local variable instead of the .param resolves this problem. One subtest fixed |
18:23 | |
| Whiteknight | down to 4 failing code tests | 18:25 | |
| that's less then half of what it was when I woke up today | |||
| and threads_6.pir is easy to understand (though hard to fix) | 18:28 | ||
| dukeleto | 'ello | 18:29 | |
| Whiteknight | when we call a thread, we pack all arguments up into a slurpy array PMC. However, we never unpack that slurpy back into individual arguments | ||
| chromatic | Maybe we shouldn't slurpy pack. | 18:30 | |
| Whiteknight | my thoughts exactly | ||
| ParrotThread.run_clone() should create a CallSignature from it's arguments | |||
| and pass that, which can be unpacked inside the thread | |||
| instead of passing the slurpy array around in raw form | 18:31 | ||
| chromatic | That sounds much easier to do now than before this branch. | 18:32 | |
| Whiteknight | much much easier | 18:33 | |
| what we don't have is a routine to build a CallSignature from an RPA | |||
| although I could make one when I get home tonight | |||
| all outstanding failures WILL be gone this weekend, one way or another | |||
| then chromatic and his wrecking ball crew are free to optimize like mammajammas | |||
|
18:34
davidfetter joined
18:35
ash_ joined
|
|||
| Whiteknight | in their pajamas | 18:39 | |
| chromatic | That only rhymes on the east coast. | ||
| Whiteknight | you mean the "best" coast | 18:40 | |
| simple spelling mistake | 18:41 | ||
| chromatic | "beast" and "east" rhyme. I can understand your confusion. | 18:42 | |
| Whiteknight | ...and on that note, I need to go to a wedding. Later | ||
| Austin sings, "Life ain't easy for a boy named 'Sue'." | 18:46 | ||
| whoppix | ... Do you see banana man, hopping over the white hot sand, here he come with some for me, freshly taken from banana tree... | 18:48 | |
| ... do you want a banana? peel it down and go mm-mm-mm! do you want a banana? Dis bana for you. | |||
| treed | I see. | 18:49 | |
|
18:49
theory joined
|
|||
| Austin sings "Banana man, me want a tan. Give me double and a bonus one!" | 18:50 | ||
| Austin sings "Work all night, and I drink a rum! Stack banana 'til de morning come. Come mister tally man and tally me banana!" | 18:53 | ||
| Now I've got bananas in me head... :( | |||
| whoppix | Well its nine o'clock and its getting dark, and the sun is falling from the sky. I've never left so early and you may wonder why... | 18:54 | |
| *whistle* | |||
| tomorrow morning, on de plane, no banana make you go insane! flying back to busy town, no banana make you want to frown! | 18:55 | ||
| Austin, here, something to distract your mind from bananas: www.youtube.com/watch?v=37vqyQ8CIgU | 19:09 | ||
| Austin | :) Man, what is it with you and vegetation? | 19:11 | |
| Bananas, tumbleweeds. | |||
| whoppix | well, they're both pretty rad. | 19:12 | |
| Austin | www.youtube.com/watch?v=LEo8poVlQrM | 19:13 | |
| whoppix | The coronation of millions of years of evolution, so to speak. | ||
| Austin | There you go. | ||
| The ultimate country song. | |||
| whoppix | I thought that was "country roads". | 19:14 | |
|
19:14
nopaste joined
|
|||
| whoppix | I'm more into the blues, though. | 19:14 | |
| Austin | "Baby I got the greens ... I got the greens, so bad!" | 19:15 | |
| (Gary Larson, The Far Side) | |||
| kthakore | chromatic++ rakudo passes!!! | 19:18 | |
| what is the goal for Rakudo* ? | |||
| mikehh | pcc_reapply branch - make smoke #29134 at r41902 - 10,757 ok, 8 failed, 262 todo, 560 skipped and 0 unexpectedly succeeded - Ubuntu 9.10 (beta) amd64 | 19:19 | |
| chromatic | A useful subset of Perl 6. | ||
| mikehh | that includes 4 missed tests - t/library/coroutine.t - Parse errors: Bad plan. You planned 6 tests but ran 2. | ||
| kthakore | chromatic: no I mean test pass percentage | 19:20 | |
| chromatic: is it 80? | |||
| mikehh | I make it about 79%+ at the moment | ||
|
19:21
Piper joined
|
|||
| Piper | Hi there. I am Piper. I am now publicly logging this channel. If you don't want to be logged, please leave now. | 19:21 | |
| chromatic | The number of tests in the suite increases too, kthakore -- so it's hard to gauge the target percentage. | 19:22 | |
|
19:22
mokurai joined
|
|||
| kthakore | chromatic: ah ok | 19:23 | |
| chromatic: well congrats to you guys nonetheless | 19:24 | ||
| chromatic | Thanks. | 19:25 | |
| jonathan | kthakore: I gave a talk on Rakudo * recently, you may be interested to see the slides: www.jnthn.net/papers/2009-yapc-asia-rakudo.pdf | ||
| kthakore | jonathan: thanks | ||
| jonathan | kthakore: (slides are in both English and Japanese, so you only need to read half the text ;-)) | ||
| kthakore | jonathan: How do you know I can not read Japanese? | 19:26 | |
| treed | He said only "need". | ||
| not only "can" | |||
| jonathan | kthakore: If you can, and you prefer to read that instead of the English, you can read that instead. ;-) | 19:27 | |
| kthakore | treed: a joke ... a lame one at that ... my apologies | ||
| jonathan | kthakore: Of course, you can read both just for fun. ;-) | ||
| ;-) | |||
| kthakore | jonathan: ok ... arigato senpai | ||
| jonathan | kthakore: I should clarify at this point that I don't speak Japanese, the slides were translated by one of the cool Japanese folks organizing YAPC::Asia. :-) | ||
| OK, my food is ready! :-D | 19:28 | ||
| kthakore | nice | ||
|
19:28
kid51 joined
|
|||
| kthakore | jonathan: oh ... when you get back I have questions! | 19:28 | |
| hi kid51 | |||
| kid51 | hello kthakore | 19:29 | |
| Did you do that lightning talk at TPM? | |||
| kthakore | kid51: indeed I did | ||
| kid51 | and how did it go? | ||
| kthakore | kid51: I did it playing Tetris as I had no slides! | ||
| kid51: it was hard ... and I think they liked it | 19:30 | ||
| github.com/kthakore/TetrisPL that was what I was playing | |||
| kid51 | Well, in my own user group, when people ask, "How many slides should I prepare?", I answer, "the fewer the better" :-) | ||
| kthakore | I had none and a game so do I win!! | 19:31 | |
| ? | |||
| kid51 | Yes! | ||
| kthakore | yay! | ||
| kid51: take a crack at it its on cpan now | |||
| kid51: perl -MCPAN -e "install SDL::Tutorial::Tetris" | |||
| kid51 | I'll make a note of it | 19:32 | |
| kthakore | and perl Tetris.pl | ||
| kid51: I keep getting this awesome warm buzz when I talk about CPAN | |||
| *CPAN* is the *SHIT* ya know | |||
| man love it | 19:33 | ||
| dukeleto | whoa, we have tests in t/op/arithmetics.t that assert exactly string equality on floating point numbers. That is never a good idea. | 19:37 | |
| cotto | there's no way that could ever cause problems or test something other than intended. | 19:40 | |
|
19:41
mikehh joined
|
|||
| kthakore | what am I doing wrong here? | 19:43 | |
| ./perl6 -e "\\$dice_roll = 2; if \\$dice_roll == 2|4|6 { say \\"even\\" }" | |||
| it says $dice_roll not previous declared | |||
| Austin | Failing to declare $dice_roll? | 19:44 | |
| kid51 | In Perl 6 command-line, is 'use strict' on by default? | 19:45 | |
| kthakore | oh there is a different way of declaring in Perl6 | ||
| guess I should go learn Perl6 | |||
| kid51 | so should I | 19:46 | |
| dukeleto | kthakore: a 'my $dice_roll = 2' would work | ||
| kthakore | oh ok | 19:49 | |
| yay!! my first perl6 code | |||
| now to do NCI in with Rakudo :P | 19:50 | ||
| heh | |||
| dukeleto | kthakore: there is Link::C | ||
| kthakore | dukeleto: will it work with Perl5 too? | 19:51 | |
| dukeleto | kthakore: no. rakudo-specifc | ||
| kthakore: what are you trying to do? | |||
| kthakore | I am trying to do Parrot and Perl5 | ||
| ah ok | |||
| dukeleto: Perl5 NCI + Parrot NCI to same shared libs of SDL Perl | |||
| Perl5 is in XS now | 19:52 | ||
| dukeleto | kthakore: have you ever heard of SWIG? | ||
| kthakore | I am hoping in 2011 I can get Parrot and Perl5 both using NCI libs for SDL | ||
| dukeleto: no .. | |||
| SWIG works for both Perl 5 and Parrot? | |||
| SWIG.org doesn't list Parrot as an exit | 19:53 | ||
| dukeleto | kthakore: you may want to take a look at SWIG, it helps automate writing XS (and other glue languages). I use it to build bindings to the GSL C library in Math::GSL | ||
| kthakore: yes, swig does not know about parrot, yet. good project for the interested reader... | 19:54 | ||
| kthakore | well isn't that what NCI will do? | ||
| Perl5NCI chromatic's lib is suppose to make XS for a shared lib | 19:55 | ||
| jonathan back | |||
| kthakore | jonathan: questions! | ||
| purl | i heard questions was - how? | ||
| kthakore | jonathan: you say in Slides you want to make Perl5 work in Perl6 | ||
| jonathan: how will this handle XS intense Perl5 modules | |||
| like POGL (Perl OpenGL) and SDL Perl (shameless plug) | 19:56 | ||
| or WxWidgets | |||
| purl | hmmm... WxWidgets is the new name for wxWindows, an open-source cross-platform native UI framework | ||
| jonathan | kthakore: Depends exactly what they do. I mean, my approach is "embed Perl 5, then build bridges" | 19:57 | |
| kthakore | jonathan: these are all C bindings to Perl5 | ||
|
19:58
payload joined
|
|||
| jonathan | If the point of the XS library is bindings to a C library, then I think it'll work out fine. It'll be less efficient than having bindings based on Parrot NCI of course, but at least should make Perl 5 modules accessible from Perl 6 and other Parrot languages. | 19:58 | |
| kthakore | jonathan: dukeleto: I guess what I am looking for is a good direction to do SWIG (like thing) that works for Perl5, and Perl6/Parrot | ||
| jonathan | If the point is stuff that mucks around with internals, then it's more likely to be an issue. | 19:59 | |
| kthakore | jonathan: no internals | ||
| jonathan: bindings only | |||
| jonathan: a unified way to do bindings for Perl5 and Parrot is what I want | |||
| jonathan | My aim is to have things like DBI usable, for example. | ||
| kthakore | jonathan: that would be usefull indeed | 20:00 | |
| dukeleto | kthakore: asking the swig folks about generating PIR would be pretty interesting. i might do it myself | ||
| jonathan | Aye. It's also a migration thing, to help people start using Perl 6 without having to wave goodbye to all of their Perl 5. | ||
| kid51 | jonathan: Loved the slide show. Plan to steal it for Perl Seminar NY viewing! | ||
| jonathan | kid51: I'll be giving it at the Italian Perl Workshop on Friday, btw. | 20:01 | |
| dukeleto | kthakore: you could just target Parrot only and then help us hack on Blizkost (Perl 5 on Parrot) ;) | ||
| kthakore | jonathan: that too. But I *REALLY* want to do Perl6 + SDL without having to Redo all my work in Perl5 SDL | ||
| dukeleto: I would have no clue where to begin in that | |||
| kid51 must book | |||
| jonathan | kid51: Those ones will just have English on, so you may find them better for showing in US. | ||
| kthakore: I'm not sure there's a good tool for making your life really easy if you want "native"-ish bindings for Perl 5 and Parrot. | 20:02 | ||
| kthakore: Other than what dukeleto is proposing, which would be cool, about from not existing yet. ;-) | |||
| kthakore | jonathan: but Blizkost will mean XS -> Perl5 -> BlizKost -> Perl6 | 20:03 | |
| layerfull binding is layerfull | |||
| dukeleto: jonathan I am asking is this possible C -> INTFace -> Perl5/Perl6(XS/NCI) | 20:04 | ||
| dukeleto | kthakore: XS -> Perl5 -> BlizKost -> PIR -> Perl6 | ||
| kthakore | s/INTFace/interface | ||
| dukeleto: :) still layer full | |||
| jonathan | dukeleto: Well, you don't really need the PIR layer in there much. | 20:05 | |
| kthakore | dukeleto: seems like to much effort and I wonder how many thinks will be lost between each layer | ||
| dukeleto | kthakore: not that I know of. the closest thing I can think of is target Parrot and help us improve it to do everything you need :) | ||
| jonathan | kthakore: Well, mostly performance things. ;-) | 20:06 | |
| kthakore | jonathan: and games need performance .... | ||
| jonathan: so is this possible C -> INTFace -> Perl5/Perl6(XS/NCI) | |||
| s/INTFace/interface | |||
| jonathan: or if it doesn't exist how can I make one | |||
| jonathan | kthakore: It sounds like you want some tool that can spit out bindings that are both Parrot NCI and Perl 5 XS from the same set of things. | ||
| kthakore | jonathan: yes! | ||
| jonathan | I don't think anything like that exists yet. | 20:07 | |
| kthakore | jonathan: how do I make one | ||
| jonathan: ( I am rubber duck so treat me like one) :) | |||
| chromatic | We have languages/c99 in some degree of completion. | ||
| dukeleto | kthakore: SWIG already talks XS. if we teach it NCI, it would do that :) | ||
| kthakore | dukeleto: yay!! | ||
| jonathan | I think dukeleto was suggesting that SWIG can currently make bindings for XS, so...yes, that ;_) | ||
| kthakore | dukeleto: oh crap I just realized | 20:08 | |
| my Perl5 nicities will be gone if I do Swig | |||
| dukeleto | I will be sharing a hotel room with the SWIG guy in GSOC, so I will definitely chew his ear off with respect to this | ||
| kthakore: what do you mean? | 20:09 | ||
| kthakore | dukeleto: yay!!! | ||
| well pure XS C is not perly at all | |||
| so we make a layer SDL::Game::* | |||
| which is Perl5 and Object XS | |||
| jonathan | kthakore: No, but you can build an thin idiomatic interface around it I guess. | ||
| dukeleto | kthakore: take a look at the way Math::GSL works. it is the middle path | ||
| kthakore | jonathan: right | ||
| ok | |||
| I will thanks guys | |||
| dukeleto: let me know about any SWIG initiative to do this stuff | 20:10 | ||
| dukeleto | kthakore: i use SWIG to generate bindings to the C library, then I include another, more Perl-ish, layer on top of the raw SWIG-generated perl interface | ||
| kthakore | I can help some, blog a lot and get lots of interest in it! | ||
| dukeleto | kthakore: sure, blog it up! | ||
| kthakore | dukeleto: I will as soon as our current SDL is redesigned ! | 20:11 | |
| github.com/kthakore/SDL_perl/tree/redesign | 20:12 | ||
| acme++ for that! | |||
| dukeleto: we want a good modular design before we head in SWIGy directions | |||
| dukeleto: the last XS bindings we well ... crufty (sorry chromatic ) | 20:13 | ||
| s/we/were | |||
| chromatic | I didn't write them, so no harm here. | ||
| kthakore | jonathan: dukeleto Thanks so much ... at least I have a clue now where to go! | 20:14 | |
| chromatic: ok :) | |||
| chromatic: I try not to say bad things about code but | |||
| jeez ... some design can't hurt | |||
| chromatic | My work with the build system was to try to make it possible to use several XS files. | ||
| kthakore | chromatic: we need help making it better too :) | 20:15 | |
| chromatic: I know who to hunt down now yay! | |||
| chromatic fixed the namespace-old test.... | 20:25 | ||
| dukeleto | chromatic: sweet! | 20:28 | |
| chromatic | It's the forehead-slapper. | ||
| dalek | rrot: r41903 | chromatic++ | branches/pcc_reapply/src/pmc/object.pmc: [PMC] Fixed Object PMC's find_method VTABLE op to return PMCNULL when running Parrot_pcc_invoke_sub_from_c_args() does not eventually initialize the passed-in pointers like the previous version did. We'll have to fix that or scrub the code for uninitialized values. |
20:31 | |
|
20:41
FullMetalHarlot joined,
Ron_ joined
20:47
Ron joined
|
|||
| dalek | rrot: r41904 | chromatic++ | branches/pcc_reapply/src/pmc/class.pmc: [PMC] Removed another unnecessary gc_unregister_pmc() call with the |
20:47 | |
| rrot: r41905 | chromatic++ | branches/pcc_reapply/src/pmc/object.pmc: [PMC] Fixed more Parrot_pcc_invoke_* calls with uninitialized return values. |
|||
| rrot: r41906 | dukeleto++ | trunk (6 files): [t][TT #1114] Convert t/op/string.t, t/op/arithmetics_pmc.t, t/op/arithmetics.t, t/op/arithmetics to PIR, mgrimes++ |
|||
| rrot: r41907 | chromatic++ | branches/pcc_reapply/src/pmc (2 files): [PMC] Explicitly initialized return values before PCC calls in Exception and |
|||
| rrot: r41908 | chromatic++ | branches/pcc_reapply/src (2 files): [src] Explicitly initialized potential PCC return values before PCC calls. |
|||
| chromatic | No other easy reclamations there, but at least it's progress. | 20:49 | |
| lib/Parrot/Pmc2c/PCCMETHOD.pm should probably initialize outvars appropriately. | 20:52 | ||
| I don't know if that'll fix anything either, but it's a correctness. | |||
| dukeleto | chromatic: i like correctness | 20:55 | |
| chromatic: did you see the fib.pir benchmark that I did? nopaste.snit.ch/18355 | 20:56 | ||
| chromatic | I did. | 20:57 | |
| I wonder why it's getting slower in trunk. | 20:58 | ||
| dukeleto | chromatic: is there any other files that I can benchmark that you would like to see? perhaps they can give us an inkling to what is going on | ||
| chromatic: also, I need to fight demons to get kcachegrind installed on my laptop | 20:59 | ||
|
20:59
Ron_ joined
|
|||
| chromatic | examples/benchmarks/primes.pasm is pretty good for register access, dispatch, and numericals. | 21:00 | |
| oofib.pir is good for objects. | |||
| I haven't done much with array_access.pir because it can be spendy, but it has some good PMC benchmarking. | |||
| dalek | rrot: r41909 | pmichaud++ | trunk/compilers/pct/src/PAST/Node.pir: [pct]: Add some resolution to subid generation, in case multiple a better uuid generator here, but this works for now.) |
21:17 | |
|
21:17
davidfetter joined
|
|||
| jonathan | chromatic: Did you ever try running the PIR profiler on Rakudo yet? | 21:18 | |
| I'm considering trying it out in the next week or so, and was curious about past experiences. :-) | 21:19 | ||
| chromatic | It was fairly slow and generated a lot of output. | ||
| We need to optimize 1) annotation lookups in PBC 2) the output format of the profiler and 3) the post-processor. | 21:20 | ||
| jonathan | Output that could be loaded into kcachegrind and make pretty diagrams? ;-) | ||
| chromatic | It looked reasonably accurate though. | ||
| Yes, we can produce pretty diagrams. | |||
| jonathan | \\o/ | ||
| OK, I guess I need to figure out a way to run kcachegrind. | |||
| davidfetter | \\<>/ | ||
| chromatic | cotto and I should make optimization a priority for 1.9 or 2.0. | ||
| pmichaud | I expect to be doing some profiling with nqp-rx in the next few weeks. | 21:23 | |
| nqp-rx will exercise a lot of common compiler features, without being quite as "heavy" as Rakudo. | 21:24 | ||
| time for a short break here. | |||
| cotto | ohai | 21:25 | |
| btw, slimvocado != avocado | |||
| and yes, profiler optimization is definitely called for | 21:26 | ||
| I'm not sure if anything will save this trainwreck of a smoothie. | 21:31 | ||
| is there any reason not to rename gc_register_pmc to gc_register_pobj (after deprecation)? | 21:48 | ||
| chromatic | I can't think of one. | 21:49 | |
| cotto is glad that he can finally find the tuits to break stuff again. | |||
| chromatic, there was another similar function that took a PObj* that was recently rewritten into a _pmc and a _str variant. Do you remember what it was? | 21:51 | ||
| chromatic | Parrot_gc_mark_pobj_alive. | 21:53 | |
| cotto | That's the one. I'll just do the same thing with gc_register_pmc. | 21:55 | |
| thanks | |||
|
22:02
bacek joined
22:04
nopaste joined
22:23
mikehh joined
|
|||
| mikehh | pcc_reapply branch - make smoke # at r41909 - 10,757 ok, 8 failed, 262 todo, 560 skipped and 0 unexpectedly succeeded | 22:47 | |
| including 4 tests missed by t/library/coroutine.t - Parse errors: Bad plan. You planned 6 tests but ran 2 | 22:48 | ||
|
22:51
TiMBuS joined
22:52
TonyC joined
|
|||
| bacek | mikehh: how many failed tests in t/pmc/threads.t? | 22:55 | |
| chromatic | 3 | 22:56 | |
| bacek | ok, I down to 2. | 22:57 | |
| By implementing flattening args in build_sig_from_c | |||
| nopaste | "bacek" at 114.73.59.63 pasted "proposed patch" (97 lines) at nopaste.snit.ch/18365 | 22:58 | |
| bacek | chromatic: any objections for nopasted patch? | ||
| chromatic | I'd rather preallocate the STRING buffer to the right size. | 23:00 | |
| mikehh | bacek: Failed tests: 6, 8, 13 | ||
| chromatic | Otherwise it looks fine. | ||
| bacek | mikehh: Failed tests: 6, 13 | ||
| chromatic: ":flat". We don't know final string_sig... | |||
| chromatic | Good point. | 23:01 | |
| bacek | I go ahead and commit it. | ||
| chromatic | It reclaims a test. That's good enough for me. | ||
| mikehh | gotta take a break - bbl | 23:02 | |
| dalek | rrot: r41910 | bacek++ | branches/pcc_reapply/src/pmc/parrotinterpreter.pmc: [cage] Unblock blocked GC mark in clone_interpreter, not GC sweep. |
23:04 | |
| rrot: r41911 | bacek++ | branches/pcc_reapply/src/call/args.c: [pcc] Implement flattening of argument in build_sig_object_from_varargs. |
|||
| rrot: r41912 | bacek++ | branches/pcc_reapply/src/thread.c: Flat sub argument in thread_func. |
|||
| bacek | oookey. I fixed one more bug. | 23:26 | |
| threads.t, test 13 is last one. | |||
| chromatic | Nice. | ||
| dalek | rrot: r41913 | bacek++ | branches/pcc_reapply/src/call/args.c: Fix handling flags in parse_signature_string |
23:27 | |
| bacek | ok. I don't understand test 13 in threads.t... | 23:36 | |
| dalek | ose: r181 | Austin++ | trunk/ (50 files): NOT WORKING: Snapshot commit for backup purposes. |
23:53 | |