www.parrot.org | Parrot 1.6.0 "half-pie" released: PCC branch hackathon all $localtime Saturday | Testing priorities: pcc_reapply branch
Set by moderator on 30 September 2009.
bacek allison: should PCC do auto-casting from PMC to STRING? 00:02
allison Tene: just added a comment about the multi sub failure to the wiki
bacek: yes, it should and does
bacek allison: not in branch... 00:03
t/pmc/string.........................1/171 Unable to set PMC value, the pointer is not a PMC
dalek tracwiki: v8 | allison++ | CallingConventionsOverview
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqb6f
bacek t/pmc/resizablestringarray...........1/261 Unable to set PMC value, the pointer is not a PMC
current instr.: 'method_pop_string' pc 6072 (t/pmc/resizablestringarray.t:1529)
called from Sub 'main' pc 362 (t/pmc/resizablestringarray.t:77)
allison Tene: I'm working my way through the tests to triage the failures
bacek this one
purl it has been said that this one is bugged too now
Tene allison: that information would be very nice to have on the wiki 00:04
allison bacek: the code does auto box/unbox, so these are different than the general case
kid51 r 41653 cleared up 26 tests; 652 to go! 00:08
dalek tracwiki: v9 | allison++ | CallingConventionsOverview 00:09
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff 00:10
shorten dalek's url is at xrl.us/bfqb6y
allison bacek: those failures might be in the return handling code rather than the calling code, it is more primitive
Tene Oh, I was working on return arg processing the last time I looked at PCC... I think I was trying to figure out a way to generalize the processing between the different functions to avoid code duplication. 00:11
kid51 93 tests more passing by r41658; 559 to go
smolder at r41658: smolder.plusthree.com/app/public_pr...ails/28498 00:12
shorten kid51's url is at xrl.us/bfqb64
bacek kid51: can you Configure parrot with --buildframes=0? 00:14
kurahaupo Build failure for i386 trunk r41658: When making PGE/builtins_gen.pir segfaults on ../../parrot -o PGE.pbc --output-pbc PGE.pir
../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pir --output=PGE/builtins_gen.pir PGE/builtins.pg
bacek kurahaupo: r41658 isn't trunk...
kurahaupo (That's just my output from "svn up") 00:15
bacek: shall we just say "svn HEAD as of 30 seconds ago" 00:16
bacek kurahaupo: you sure that your svn checkout is trunk, not pcc_reapply branch? 00:17
kid51 I am seeing this message in several failing test files: src/call/pcc.c:722: failed assertion '(st->dest.sig & PARROT_ARG_TYPE_MASK) == PARROT_ARG_PMC' 00:18
kurahaupo bacek: When making PGE/builtins_gen.pir it dies on the second step ../../parrot -o PGE.pbc --output-pbc PGE.pir
kid51 t/pmc/nci.t; t/pmc/float.t; t/pmc/bigint.t
kurahaupo bacek: sorry, cut-and-paste error
bacek: svn info . says URL: svn.parrot.org/parrot/trunk 00:19
kid51 kurahaupo: In pcc_reapply branch, we're only currently concerned with 'make corevm' and 'make coretest'
bacek kurahaupo: strange... Last commit was in trunk 7 hours ago. And it's pretty stable... 00:20
Tene Yeah, the first PGE failure looks like a return_args issue, iirc
kid51 t/pmc/objects.t also has that 722 src/call/pcc.c error
kurahaupo AFAIK svn will report the highest revision in any branch
00:21 Wolong_ joined
kid51 t/pmc/packfileconstanttable.t also 00:21
kurahaupo Is there anything stronger than "make realclean" ? Short of deleting my entire working copy (which I'd rather not do while I have pending changes)
dalek tracwiki: v10 | allison++ | CallingConventionsOverview 00:22
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqb77
kid51 t/pmc/threads.t also 00:23
allison kid51: anytime you see a reference to 'st->' anything, it means some piece of code is still calling the old functions
kid51 kurahaupo: No, make realclean is as strong as it gets
purl okay, kid51.
Tene allison: would you rather have me work on the mmd issues, or set_returns? 00:25
kid51 allison: 'st->': Are you referring to .t files? .pmc? .c? 00:26
Another frequently observed error message in the TAP is: Unable to set PMC value, the pointer is not a PMC 00:27
kurahaupo crawls under a rock... build problem has vanished 00:31
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply: '.c' files still holding 'st->'" (25 lines) at nopaste.snit.ch/18196 00:32
allison Tene: whichever you'd rather work on 00:37
Tene: I've put a full triage of all remaining failing tests up on the wiki trac.parrot.org/parrot/wiki/Callin...nsOverview 00:38
shorten allison's url is at xrl.us/bfqb9p
Whiteknight backlogs
dalek tracwiki: v11 | allison++ | CallingConventionsOverview 00:39
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqb9r
dalek tracwiki: v12 | jkeenan++ | CallingConventionsOverview
tracwiki: minor spelling correction
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqb9t
allison kid51: yikes, that's a lot of scatter. I'm hoping a lot of those are some other struct named st, and not poking directly into the old calling convention's call state struct
kid51 Let me see if I can refine the grep 00:40
Your suspicions are correct.
allison okay, bigint.c is actually "bi_dest->"
00:41 quek left, payload joined
Whiteknight a lot of action in this branch today! That's what I wanted to see! 00:41
allison kid51: src/frame_builder.c is likely an accurate hit
dalek tracwiki: v13 | jkeenan++ | CallingConventionsOverview 00:42
tracwiki: Turn text into subhead
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqb97
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply: Look for 'st->' in src/call/pcc.c and src/frame_builder.c" (209 lines) at nopaste.snit.ch/18197 00:45
"bacek" at 110.175.160.228 pasted "Improve CPointer." (24 lines) at nopaste.snit.ch/18198 00:46
kid51 paste 18197 should provide better guidance re st-> 00:47
bacek allison: can you check no paste? I added auto-casting in CPointer.set_pmc. I would like to add similar casting to all set/get methods
allison bacek: that's a good place to put the casting code 00:49
bacek: though, the translation isn't as obvious for string to int/num or int/num to string
bacek: we promise auto boxing/unboxing to pmc type, but not auto translations for all types 00:50
bacek allison: why don't just cast them?
allison bacek: you can't cast a string to a number 00:51
bacek: it translates to garbage
bacek allison: I mean Parrot_str_to_num
not "plain C cast"
allison bacek: yes, that's fine 00:52
bacek Ok. I'll go ahead and then simplify fill_returns functions 00:53
allison bacek: to see exactly what the old system did (which we want to duplicate) take a look at the convert_arg_from_* static functions in src/call/pcc.c in trunk
bacek allison: ok
allison bacek: putting the boxing/unboxing inside CPointer, you should be able to simplify the logic of the two fill_returns functions, because you won't have to check the item_sig on the return signature item 00:56
bacek allison: this is exactly what I mean by "and then simplify fill_returns functions" :)
allison bacek: you can just set it based on the return_flag type and let CPointer handle the rest 00:57
bacek: aye
Tene: do you have enough bits to work on from the wiki?
Tene: it's 2am here, so I'm headed off for some sleep
dalek tracwiki: v14 | whiteknight++ | CallingConventionsOverview 00:58
tracwiki: post outlines for argument processing algorithms, for reference.
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqccu
kurahaupo g'nite allison
Tene allison: goodnight 00:59
Whiteknight in that case, we should probably rename CPointer to something like ArgPointer
allison Whiteknight: it's still appropriate, CPointer was always intended to be a "drop in" variable that transparently pretends to be whatever is needed 01:00
allison sleeps 01:01
Whiteknight thats fine then, but if it's only being used to ferry arguments around, I see no reason not to call a spade a spade 01:02
but that's neither here nor there 01:03
01:03 TiMBuS joined
jrtayloriv Whiteknight, Did you notice that Peter Lobsinger was on earlier asking about his libJIT work? 01:04
01:04 rhr joined
jrtayloriv (Just making sure that he doesn't feel completely warnocked) 01:05
he popped in for a moment saying: 16:53 <plobsing> i am interested in adding the libjit nci changes I have at github.com/plobsing/parrot-libjit 01:06
And then no-one responded.
(because everyone was very busy at the time with the hack frenzy, they just might not have noticed) 01:07
dalek rrot: r41659 | mikehh++ | branches/pcc_reapply/src/extend.c:
codetest failure - trailing spaces
01:09
kid51 jrtayloriv: Is there any way you could paste a patch of the important stuff in his work?
rrot: r41660 | bacek++ | branches/pcc_reapply/src/pmc/cpointer.pmc:
Revamp CPointer casting to DTRT.
TiMBuS i could probably write those NCI routines in C/asm whiteknight was talking about, if nobody ended up doing that..
jrtayloriv kid51_at_dinner, , I don't have any idea how it works -- I just noticed that nobody responded when he came in, and thought that perhaps someone that does understand it should message him (i.e. ask him to make a patch) 01:11
mikehh bacek: is it going to mess you up if I remove C++ style comments from src/frame_builder.c? (done but not commited) 01:16
Tene s/remove/change to C90/ oslt right?
mikehh Tene: yes if you like 01:17
aparently MS C don't like
Tene nodnod 01:18
mikehh altho' why any reasonably modern C compiler doesn't accept C++ style comments is beyond me 01:19
I mean C99 is 10 years ago 01:20
and c90 is nearly 20 01:21
may as well use K&R
Tene srsly 01:22
bacek mikehh: "C++ comments" are markers where I cut corners.
mikehh: and VS doesn't accept C++ comments in C code... 01:23
mikehh bacek: I thought that might be the case - will leave for the moment
bacek mikehh: you can replace comments but put some other easy-to-find marker.
mikehh ok will do - how about /*++ or /*-- any preferences? 01:25
bacek "/* XXX FIXME" :) 01:27
01:27 patspam joined
dalek rrot: r41661 | bacek++ | branches/pcc_reapply/src/call/args.c:
Simplify fill_returns functions values handling. CPointer will cast values by it self.
01:28
mikehh and again how VS doesn't accept them is really beyond my understanding - as I remarked previously C99 is not new (1999 ha we are at 2009)
ok you will get it 01:29
nopaste "kurahaupo" at 118.92.107.41 pasted "rewrite tests for resizableintegerarray as PIR, plus add new tests, plus patch to make sure zero-fill always applies to new elements" (1073 lines) at nopaste.snit.ch/18199
dalek rrot: r41662 | bacek++ | branches/pcc_reapply/src/call/args.c:
Fix handling of null CallSignature and "returns"
01:38
rrot: r41663 | mikehh++ | branches/pcc_reapply/src/frame_builder.c:
replace C++ style comments with /* XXX FIXME ... */
01:41
TT #1089 created by kurahaupo++: rewrite tests for resizableintegerarray as PIR, plus add new tests
01:44 kurahaupo joined
kid51_at_dinner Between 41558 and 41660 we cleaned up another 79 tests 01:45
01:45 mokurai joined
kid51 seen plobsing? 01:47
purl plobsing was last seen on #parrot 4 hours, 56 minutes and 7 seconds ago, saying: i am interested in adding the libjit nci changes I have at github.com/plobsing/parrot-libjit
kid51 msg plobsing Re libjit nci changes: Can you prepare patch and open up a Trac ticket? 01:48
purl Message for plobsing stored.
bacek kid51: how many failing tests to you have?
kid51 There were 480 in branch at r41660 -- but I am re-testing with svn up now 01:49
r41660: smolder.plusthree.com/app/public_pr...ails/28500
shorten kid51's url is at xrl.us/bfqci2
kid51 r41663: still at 480 to go 01:51
smolder.plusthree.com/app/public_pr...ails/28501 01:52
shorten kid51's url is at xrl.us/bfqcje
bacek kid51: is it with --buildframes=0? 01:53
kid51 No. 01:55
Why should I add that? (Am trying to test exactly as I do in trunk)
dalek rrot: r41664 | mikehh++ | branches/pcc_reapply/src/call/args.c:
fix svn properties
01:57
bacek kid51: framebuilder is badly broken. It's leftover from JIT... 01:59
dalek rrot: r41665 | mikehh++ | branches/pcc_reapply/src/pmc/cpointer.pmc:
codetest failure - trailing spaces
02:04
Tene mmd isn't working out so well for me. Working on return args instead. 02:06
kid51 bacek: You are correct. with --buildframes=0 the number of failing tests falls to 160: smolder.plusthree.com/app/public_pr...ails/28503 02:07
shorten kid51's url is at xrl.us/bfqckw
bacek kid51: of course I am. I broke it :) 02:08
hmm... I can't connect to smolder...
dalek rrot: r41666 | bacek++ | branches/pcc_reapply/src/pmc/continuation.pmc:
Comment-out old-style param passing in Continuation.
02:10
rrot: r41667 | bacek++ | branches/pcc_reapply/src/frame_builder.c:
Remove more old param passing stuff from frame_builder.
rrot: r41668 | bacek++ | branches/pcc_reapply/src/exceptions.c:
Remove unused pass_exception_ars function
rrot: r41669 | bacek++ | branches/pcc_reapply (2 files):
Rerun headerizer
rrot: r41670 | bacek++ | branches/pcc_reapply (2 files):
Old PCC is dead-dead-dead. Remove last functions.
bacek ok. 02:13
afk # have to make lunch for kids
02:27 quek joined
mikehh make world in pcc_reapply now fails at make: *** [src/glut_callbacks.o] Error 1 - 29x - error: ā€˜Parrot_runops_fromc_args_event’ was not declared in this scope 02:27
kid51 mikehh: Given that in pcc_reapply branch we are not (yet) bothering with 'make', why would you expect to get anything out of 'make world'? 02:29
mikehh codetest - 1 error remaining - 1 unused assert macros found in total.
kid51: just checking and reportin' at the moment 02:30
kid51 ok
I was trying 'make' in this branch but only getting build failures. allison explained we can't test the libraries, PCT, etc yet 02:31
So now I'm doing 'make smolder_coretest'
mikehh kid51: sure - but I check every so often to see where we are - previously we got past src/glut_callbacks.c 02:32
kid51 t/pmc/threads.t is mostly failing with SIGNAL 11: SIGSEGV 11 Core Invalid memory reference (on linux) 02:35
mikehh for example at r41643 we got as far as PGE but at r41658 we started getting the above failure in src/glut/callbacks.c
and we still get it at r41670 - those were the last 3 make world runs I did (and logged) 02:36
kid51 So, although you were trying 'make world', it failed in the 'make' stage -- correct?
mikehh sure - it gets past the corevm stage and I see how much further it goes 02:38
kid51 k. (I was focusing too much on the 'world')
mikehh as part of my normal testing I run something like -> make world 2>&1 | tee make_world.41670.g++.amd64.log 02:39
dropping the g++ if I use gcc and of course i386 if I am on that platform
kid51 is not very familiar with 'make world' 02:41
02:41 cognominal joined
mikehh it does a normal make and adds the tools build 02:41
world: 'all' and 'parrot_utils'." 02:43
-> world : all parrot_utils -> parrot_utils : $(PDUMP) $(DIS) $(PDB) $(PBCMERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) 02:45
02:48 janus joined
mikehh come to think of it I haven't tested trunk recently I think we have had 1 commit there - let me check 02:55
kid51 Well, in pcc_reapply branch, I am still not getting all the way through 'make'. 02:57
nopaste "kid51" at 70.85.31.226 pasted "Excerpt from 'make' failure in pcc_reapply branch" (31 lines) at nopaste.snit.ch/18201 02:59
kid51 must sleep 03:01
purl $kid51->sleep(8 * 3600);
dalek rrot: r41671 | bacek++ | branches/pcc_reapply/config/gen/opengl.pm:
Replace runops..._event with invoke_sub in glut callbacks.
03:03
tracwiki: v15 | bacek++ | CallingConventionsOverview 03:07
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqcqv
mikehh The following applies to trunk 03:20
All tests PASS (pre/post-config, smoke (#28505), fulltest) at r41670 - Ubuntu 9.04 amd64
03:25 plobsing_ joined 03:31 plobsing joined
mikehh partcl r775 builds on parrot r41670 - make test PASS (smolder #28506) - ubuntu 9.04 amd64 03:32
rakudo (e976f23) builds on parrot r41670 - make test PASS / make spectest_smolder (up to r28584 -> #28507) FAIL - Ubuntu 9.04 amd64 03:43
rakudo - t/spec/S11-modules/nested.t - Parse errors: Bad plan. You planned 6 tests but ran 5
rakudo - t/spec/S32-num/rat.t - Parse errors: No plan found in TAP output
ok - one last run on the pcc_reapply branch 03:50
in pcc_reapply branch make gets past the previous src/glut_callbacks.c failure and now fails at make[1]: *** [PGE.pbc] Error 1 again 03:58
codetest ->
# unused assert macros found: 03:59
# /home/mhh/pcc_reapply/src/call/ops.c: runops_args
# 1 unused assert macros found in total.
passes the rest of codetest
mikehh seriously needs a nap or something 04:00
bbl
04:40 cconstantine joined
dalek rrot: r41672 | bacek++ | branches/pcc_reapply/src/call/args.c:
Generalise Parrot_pcc_fill_params functions:

   va_list
  - Create generic fill_params function.
  - Switch _from_op and _from_c_args functions to use generic one.
04:47
bacek msg allison Please review r41672. I'm going to change other functions in the same way to reduce code size. 04:48
purl Message for allison stored.
05:20 kurahaupo joined 05:34 szabgab joined
japhb Tene: pushed another set of Plumage commits. I just left a stub of merge_tree_structures() there, and wrote the surrounding code that needs it. If you beat me to it, great, otherwise I'll hack it in myself in a day or two. 05:37
Tene japhb: great 06:15
06:29 bacek joined
Tene purl: msg bacek That's exactly what I planned to do with fill_params. Nice to see you got to it first. I'll build on that to get fill_returns using the same strategy. :) 06:34
purl Message for bacek stored.
06:46 Zak joined 07:02 allison joined
dalek TT #1090 created by kurahaupo++: Convert t/pmc/exporter.t to PIR 07:08
Tene allison: Hi. :)
allison: Check out the latest commit to pcc_reapply, by bacek. It's pretty good work. I'm just starting to look at doing the same thing to fill_returns. 07:09
Looks like it has some problems... causes a failure in t/oo/composition.t 07:19
allison Tene: hi 07:22
dukeleto hola
purl salut, dukeleto.
allison looking
dukeleto what can I do to help the pcc_reapply effort ? 07:23
allison dukeleto: failing tests are grouped by cause of failure on trac.parrot.org/parrot/wiki/Callin...nsOverview 07:24
shorten allison's url is at xrl.us/bfqb9p
allison dukeleto: looks like we've picked off the really obvious ones 07:25
Tene dukeleto: there are a couple of easy fixes... some error messages have updated and there are tests which check for that literal text... the tests need to be updated to match the new error text. 07:28
iirc 07:29
dukeleto ok, i will check out the tests 07:30
Tene There are a couple of things wrong with bacek's new fill_params... I can see a few tests failing in ways that they shouldn't. i can't quite tell why, though. 07:31
allison Tene: was trying to avoid function pointers, but we'll see if this makes it more maintainable 07:33
Tene allison: if I can figure out where this bug is, I should be able to get that same function used for fill_returns too.
allison Tene: will dig in and see if I can track down the failures
Tene and that should help a lot.
I'm seeing it demonstrated in t/oo/composition.t 07:34
allison yes
though, you'll have to use a different set of function pointers
nopaste "tene" at 24.10.252.130 pasted "minimal pir to reproduce problem for allison++" (10 lines) at nopaste.snit.ch/18202 07:38
dukeleto hmmm, miniparrot does not compile for me 07:42
Tene dukeleto: what failure?
purl failure is probably not an option
nopaste "dukeleto" at 69.64.235.54 pasted "miniparrot compile error" (7 lines) at nopaste.snit.ch/18203 07:43
dukeleto why does the miniparrot compilation have an -lparrot flag? 07:44
allison Tene: what failure are you getting?
Tene named parameters must follow all positional parameters
allison I was just going to paste that :) 07:45
ok
so, it's a logic problem, not a mysterious segfault, that's nice :)
Tene allison: specifically, it's the *second* named params must follow..., on line 848
Yeah, it shouldn't be too bad, I'm just... not all here right now. 07:47
Long weird day.
allison: looks like param_name is empty. 07:54
oh, nevermind.
That was a lie.
It happens when processing the second named optional. The first named optional goes through fine.
allison Tene: makes sense, I'm soaking in the new code at the moment 07:55
Tene Ah, okay, here we go. 07:56
When processing the second named optional that isn't present, it tries to fall back to positional.
07:56 kjeldahl joined
Tene So it just falls out of the 'else if' block that runs 807-843 and straight into the 'named must follow all positional' check. 07:57
allison Tene: it doesn't check when there are no more parameters 07:59
Tene: that is, it works just fine if you pass a 'doom' argument 08:00
Tene allison: that's right. it only fails when there's no argument to the named. 08:01
Ah, I know... 08:02
nopaste "tene" at 24.10.252.130 pasted "fixes the problem for allison++" (22 lines) at nopaste.snit.ch/18204 08:03
Tene lemme run a coretest, just to check...
dalek rrot: r41673 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Clean up some names in the new function pointers to make the code easier
08:04
Tene Much nicer. :) 08:05
dalek rrot: r41674 | tene++ | branches/pcc_reapply/src/call/args.c:
[pcc] Fix small logic bug in fill_params
08:07
Tene allison: curious about why you wanted to avoid function pointers. 08:09
allison Tene: because they're a bear to maintain 08:11
Tene Huh, okay. I've never done much work with function pointers in C.
allison Tene: with that revised logic, it will only check for positional parameters in the middle of named parameters if param_name is not set
have you tested that it still catches an actual positional argument in the middle of named arguments? 08:12
Tene allison: allison that's already tested, and I've tested myself. param_name is set iff we're trying to fetch a named parameter. 08:13
so, yes, it works properly. Thank you for confirming, though. 08:14
allison Tene: Parrot traditionally used function pointers extensively, and it produced some of the nastiest and most difficult to debug code we've ever ripped out
Tene Ah. That's unfortunate.
Parrot is the only C codebase I've done any amount of work with.
I did some C back in school in like 2000 or so, and then not much until I came to Parrot. 08:15
allison Tene: but, that does leave me unfairly prejudiced 08:16
Tene: function pointers used with a limited and clear scope can be beneficial 08:17
dalek rrot: r41675 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] More naming cleanup for maintenance sanity.
Tene It would be *great* if we can get a single sane code path for params and returns filling. I'll trust your judgement on whatever I come up with, though. 08:19
allison Tene: eventually they'll be the same codepath 08:20
Tene: but at the moment, they're two different paths
Tene: because unfortunately, at some point someone reversed the order of the opcode calls
so, you call set_args then get_params 08:21
Tene ah
allison but on returns you call get_results then set_returns
instead of set_returns and then get_results 08:22
dukeleto oy vey
allison so, the logic is backwards
you're fetching before you've set
Tene Well, let me go see if it's possible to get set_returns using fill_params with a different set of function pointers, or if it would need changes to fill_params. 08:23
allison and have to do all these nutty games with CPointers
Tene when is it we're planning on changing that?
allison Tene: it looks like the function pointers are only accessing the register or vararg values, so you should be able to use them 08:24
dalek rrot: r41676 | dukeleto++ | trunk/t/pmc (2 files):
[t] Convert some exception tests to PIR
08:24 iblechbot joined
allison Tene: it changes interface, so needs a deprecation cycle 08:24
Tene allison: right... I was asking which deprecation cycle it's scheduled to happen in. After 2.0? 08:25
allison Tene: yes, as soon as possible
Tene: we might be able to use the function pointers in build_sig_object too 08:26
08:29 quek joined
dukeleto it seems that miniparrot requires an installed parrot on the pcc_reapply branch. how can I fix that? 08:30
are we creating TT's for pcc_reapply bugs?
allison dukeleto: no, they're in a branch 08:33
dukeleto: just add any reports to the wiki page
dukeleto allison: gotcha
allison Tene: ooh, here's the deeper problem, src/call/args.c:842 08:34
Tene allison: that's a problem?
allison Tene: when it doesn't find the coresponding named argument for the named parameter, it just drops through to positional handling
Tene: that's wrong
purl allison is channeling thoth!
Tene allison: it's not supposed to do that? 08:35
allison: I thought that "named arguments will fetch from extra positionals" was explicitly supposed to be part of how the calling conventions worked. 08:36
allison Named parameters can take positional arguments as a default
Tene "as a default"?
allison but only if no other named arguments have been used
Tene Ah... I never knew that part. 08:37
allison :named first checks for a named argument, and if it doesn't find one, tries to fill with a positional argument
Tene But if it's already filled one named param with a named arg, it should fail instead?
allison yes 08:38
going back to check the PDD to make sure we get the logic straight
dalek tracwiki: v16 | dukeleto++ | CallingConventionsOverview
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqddj
Tene if (named_count == 0) { param_name = NULL; continue; } else { Parrot_ex_throw_from_c_args(...) }
is what you want in that case. 08:39
Wait, hmm, no...
You also need to look at whether the named param was optional or not. 08:40
if it's not optional, die with the right message
Well, I'll wait for judgement from the PDD 08:41
allison Tene: the PDD is non-specific, will have to check current behavior and duplicate that
Tene dukeleto: does the miniparrot compile if you just copy/paste the command it's trying, but omit -lparrot ?
allison dukeleto: and does it compile if you run realclean and re-run Configure.pl?
Tene allison: if you determine it, please add a test for it.
allison Tene: Named targets can be filled with either positional or named values. 08:43
However, if a named target was already filled by a positional value, and
then a named value is also given, this is an overflow error.
Tene: (quote from the PDD)
Tene: so this says "try to fill it with a positional first, then try to fill it with a named" 08:44
Tene That sounds a little sketchy to me, but maybe I'm biased by reading the current impl. 08:45
allison Tene: while :lookahead would be "try to fill it with a named first, then try to fill it with a positional"
Tene: yes, it would require using the logic Whiteknight and I drafted last night instead of the current logic
Tene Ah, I missed that.
Oh, no, I saw it on the wiki. 08:46
allison: fill_params and fill_returns should have different error messages, too. 08:47
allison: advice on how you'd like that handled? "param" vs "return" passed in as a string argument, maybe? 08:48
allison Tene: for now, it means you'll need separate functions for fill_params and fill_returns 08:50
Tene: but you can use the same accessor function pointers inside each
Tene: (you'll need separate functions anyway, because the logic is entirely different)
Tene allison: fill_returns uses VTABLE_set_*_native, where fill_params has the accessors return a pointer, which fill_params assigns to. Should I modify the accessors to do the assignment directly? 08:52
dalek rrot: r41677 | dukeleto++ | branches/pcc_reapply/t/op/calling.t:
[pcc_reapply][t] Fix some tests in t/op/calling.t that now throw slightly different error messages
08:53
allison Tene: that's what I mean about the logic being reversed, fill_returns only needs to fetch values from the accessors, while fill_params has to set values on the accessors
Tene: I wouldn't modify the accessors, though, just use them in their "getter" behavior instead of their "setter" behavior 08:54
Tene allison: if I make them setters, I can use the same logic, it seems.
allison: <sarcasm> Oh, I know! We just pass an additional function pointer encapsulating the relevant logic!</sarcasm> 08:55
allison Tene: they're already tetters and setters
getters
Tene: essentially, everywhere you see 'VTABLE_set_integer_native(interp, result_item, CTX_REG_INT(ctx, raw_index))'
Tene Vsin(i,r,accessor->integer(...)) 08:56
allison that changes to 'VTABLE_set_integer_native(interp, result_item, *accessor->intval(interp, arg_info, param_index))
Tene yeah
allison Tene: that way we don't need a custom set of function pointers for fill_returns 08:57
Tene: better to use the same ones
Tene: I see some macros coming on here
Tene allison: &REG_INT is the same thing as CTX_REG_INT ? 08:58
allison PCC_SET_INTVAL, or something like that
Tene: yes, one is a macro, the other is a pointer
Tene Ah.
Ah, they're the identical, except the version that only takes an interp fetches the ctx from the interp. 09:00
and the version that only takes a context just assumes the interp is named 'interp'
Okay, I get it now.
My other suggestion is a bit more serious, then. If we add one more function pointer, I think we can get away with only one function. I'll try it your way first, though. 09:02
allison Tene: aye, get it working first, then we can refactor it down 09:03
Tene Ew, I feel dirty, copying and pasting a huge function.
;) 09:04
allison Tene: fair warning that the logic in fill_params is currently wrong, so copying it may not be the best place to start 09:07
Tene: but, you can fix it as you go 09:08
Tene allison: in the way that we just talked about?
allison Tene: yes
I'm about to flip the logic of fill_params to iterate over arguments, as on the wiki page
Tene allison: it will keep the same API? 09:09
allison Tene: but, here's the kicker, if you do a direct copy of fill_params to fill_returns, it's already using the "iterate over arguments" logic
(because the logic is reversed in the two)
Tene: yes, I'll keep the same arguments to fill_params 09:10
Tene allison: returns is supposed to use 'iterate over arguments' ?
allison Tene: return arguments
Tene right
allison Tene: that is, what's passed in from 'set_returns' 09:11
Tene I've been using arg:param::return:result
allison Tene: that's what the code currently uses too
(will likely continue using) 09:12
but, when we finally merge the two, args and returns are the same, and params and results are the same 09:13
basically, filler and filled
09:22 bacek joined
dukeleto a patch status on trac of "review" would be pretty useful 09:32
allison dukeleto: it's been suggested 09:34
09:34 kurahaupo joined
dalek tracwiki: v17 | allison++ | CallingConventionsOverview 09:34
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqdf2
Tene allison: looks like I'm going to sleep now. You say that fill_returns *should* use the current fill_params algorithm, even though you're changing the fill_params algorithm? 09:35
allison dukeleto: the semantic difference between 'new' and 'review' was pretty thin
Tene: yes, at least as a starting point
Tene allison: Okay. I'll finish it in the morning. Goodnight.
allison Tene: though you'll have to make changes to it 09:36
Tene: night
dukeleto allison: perhaps "qa" ? i just want something to denote "the current patch has been looked at and is being reworked". none of the current categories seem to convey that
Tene allison: Sure. If there are any changes that you don't think will be obvious, feel free to mention them, otherwise I'll just diagnose from test failures.
allison Tene: I'll leave the fill_returns parts for you and work on the fill_params parts
Tene allison: great
allison Tene: thanks for the help! 09:37
dukeleto: so, something shy of 'rejected'
dukeleto: that's not really 'review', it's more of 'changes requested'
dukeleto: mmmm... a good single word for that 09:38
dukeleto: it really seems like 'rejected', then reset to 'new' when the new patch is attached 09:39
dukeleto: maybe 'revision' 09:41
dukeleto: or 'updated'
09:42 spankme joined
kurahaupo allison: "abeyant"? 09:45
09:45 janus joined
allison kurahaupo: points for aptness, minus on "obvious to the casual ticket wrangler" 09:46
kurahaupo :-)
"Stuck" >-)
bacek o hai 09:47
allison held_for_changes
bacek allison: what is current status of branch? 09:50
allison bacek: 186 failing tests last I checked 09:52
bacek: I'm reworking fill_params for the "iterate by argument" algorithm Whiteknight and I worked out
bacek: good work on the function pointers, it simplifies a lot of code
bacek allison: good-good. Any chances to merge fill_params and fill_returns?
allison bacek: not at this point, no, the logic is reversed 09:53
bacek sigh
allison bacek: but they can both use the accessor function pointers
bacek Can we adjust imcc to produce ops in proper order?
allison bacek: actually, the build_sig_object code can use the accessor function pointers too
bacek: yes, we will after 2.0
bacek: but it's a substantial interface change, so requires a deprecation cycle 09:54
bacek allison: yeah. I've made accessors very generic to use across all specific functions.
allison: why it's "interface changes"?
allison because it changes the order the ops have to be called in
some ops are hidden behind syntactic sugar, but all ops are part of the public interface 09:55
bacek ok.
ok. I'm going to generalise build_sig_object. Any objections? 10:00
allison bacek: go ahead
bacek: but keep in mind that the varargs version gets calls and returns all in one call
bacek: while the _from_op version gets them in two calls 10:01
bacek: (one from set_args and one from get_returns)
get_results
10:03 kj joined
allison bacek: they can't really be collapsed at the moment, but they can be changed to use the function pointers 10:04
dalek rrot: r41678 | kjs++ | trunk/compilers/pirc/src (3 files):
[pirc] create STRINGs for labels and identifiers, store them in the temp. lexer->sval field, so the parser can them access them
10:05
10:06 fperrad joined 10:10 masak joined
bacek allison: There is a string in build_sig_object_returns _from_op - string_sig = Parrot_str_append(interp, string_sig, CONST_STRING(interp, "->")); 10:11
allison bacek: yes
bacek allison: isn't it other way around? append("->", string_sig)?
allison bacek: the signature string goes args->returns 10:12
so P->S is one PMC argument and one string return
bacek that's why I'm asking
allison bacek: so that's appending an arrow onto the end of the string_sig 10:13
bacek but it's build_RETURNS...
allison yes, so it appends an arrow on to the end before it appends the return sigs 10:14
bacek ah, ok
kurahaupo General question: What is the usual process for someone to be granted svn-commit privileges? (I realise I'm new as a contributor, so I don't expect full access right now; I just want to know what to expect...) 10:18
10:19 quek joined
bacek kurahaupo: few good patches, 2+ votes on #ps to grant commit access, 1+ person to mentor, submit CLA. 10:22
kurahaupo Bacek: thanks. Preferred method of submitting patches in the meantime? Email? Trac ticket? Attached file? Inline? 10:24
bacek kurahaupo: trac ticket with attached patch for big ones. Just nopaste for small one (in case when channel is "alive")
kurahaupo worries that his suggested patch to exception.t may have broken the scoping semantics, since it reduces twelve compilation units to one. 10:26
bacek kurahaupo: did you mean "exporter.t"? 10:27
kurahaupo Yes
(It's 23:30 here; I should get some sleep.)
bacek kurahaupo: just attach your patch to ticket. Current variant is almost unreadable. And go to sleep than :) 10:29
mikehh kurahaupo: see docs/project/roles_responsibilities.pod
kurahaupo mikehh: thanks, will read it in the morning. 10:30
Goodnight all.
dalek rrot: r41679 | bacek++ | branches/pcc_reapply/src/call/context.c:
[cage] Init Context.current_sub to avoid dereferencing garbage pointer.
11:03
rrot: r41680 | bacek++ | branches/pcc_reapply/src/pmc/callsignature.pmc:
Mark all attributes of CallSignature.
11:06
tracwiki: v18 | bacek++ | CallingConventionsOverview
tracwiki: Claim few more passing tests
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqdjw
11:08 payload joined
dalek rrot: r41681 | kjs++ | trunk/compilers/pirc/src (4 files):
[pirc] add STRING * variants to all data structures that currently use C strings (char *) as preparation of making PIRC STRING-aware
11:09
11:14 silug joined
dalek tracwiki: v19 | bacek++ | CallingConventionsOverview 11:45
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqdms
dalek rrot: r41682 | mikehh++ | branches/pcc_reapply/src/pmc/callsignature.pmc:
codetest failure - trailing spaces
11:48
11:49 joeri joined
mikehh bacek: I am getting quite a few codetest failures with src/call/args.c - c_arg_assert.t and c_function_docs.t and also c_parens.t 11:53
11:53 kid51 joined
mikehh I tried a make headerizer and it gave some 40 warnings on src/call/args.c but no svn diff 11:54
I tried to fix the parens error but it don't make no sense to me 11:55
messages 11:59
dalek kudo: 809ca9b | masak++ | src/classes/Signature.pir:
[Signature.pir] fixed typo
12:04
shorten dalek's url is at xrl.us/bfqdoh
kid51 pcc_reapply branch with --buildframes=0: latest Smolder: smolder.plusthree.com/app/public_pr...ails/28521 12:05
shorten kid51's url is at xrl.us/bfqdoj
kid51 132 failing tests (sans buildframes) 12:06
12:10 iblechbot joined 12:13 bacek joined
kid51 allison ping 12:16
mikehh: I've figured out the c_parens.t problem.
It's a weird one.
dalek rrot: r41683 | jkeenan++ | branches/pcc_reapply/src/call/args.c:
Temporarily fix failure of file to pass c_parens coding standard.
12:17
12:19 Whiteknight joined
kid51 msg allison src/call/args.c lines 36-37: typedefs INTVAL and FLOATVAL: INTVAL and FLOATVAL are reserved words in t/codingstd/c_parens.t; may only be followed by a single space. Have applied bandaid to make codingstd pass. But we should either use different names for these typedefs or change the coding standard. 12:20
purl Message for allison stored.
bacek kid51: we can't use different name. They are return types from functions. 12:25
bacek vote for changing coding standard to s+ 12:26
allison kid51: those lines are the return signature of the typedef 12:32
Whiteknight how is pcc_reapply doing this morning? Any bugs get fixed?
allison Whiteknight: I'm nearly done overhauling fill_params for argument iteration
Whiteknight oh wow 12:33
I'm sorry I couldn't have done more of it yesterday
allison Whiteknight: bacek did a good job converting register and vararg access to function pointers and unifying the _from_op and _from_c_args versions of fill_params
Whiteknight yeah, I'm looking at that right now 12:34
bacek++
allison Whiteknight: he's currently working on converting the build_sig_object functions to use the same function pointers
bacek allison: not quite true actually.
allison kid51: that is, the typedef is the function pointer 12:35
bacek: well, last I heard that's what you were working on
bacek: what are you working on?
bacek allison: I can't figure out how to make this functions generic.
allison bacek: you can't
bacek I'm trying to fix other bugs atm.
allison but, you can use the function pointers
bacek: to clarify, you can't make them generic now, but will be able to after we fixing the ordering of get_results 12:36
bacek allison: but what the point?
purl i guess the point is that tom_g would prefer to have consistent coredumps than unpredictable ones :)
allison bacek: to make the ultimate merge easier
dalek rrot: r41684 | jkeenan++ | branches/pcc_reapply (2 files):
Better solution: Modify codingstd to allow more flexibility in lines
allison bacek: and to cut down on duplicated code
kid51 mikehh: I don't know how to fix the c_args_assert failures because the errors are occurring in zones that are marked "Don't make changes here; all your changes will be lost." 12:38
Whiteknight kid51: which zones?
allison bacek: and you can make them somewhat generic, it's just that the varargs version has to call both "build_sig_args" and "build_sig_returns" 12:40
bacek allison: yes. But I have figure out out best way to do it. And it's about midnight here, so I don't trust myself. 12:41
side question, why Parrot_find_pad iterate over Context.outer_ctx, not Sub.outer? 12:42
allison bacek: sensible
purl sensible is usually inappropriate, yes :)
allison bacek: i believe it's because the outer context may be set at runtime to something other than the sub was compiled to 12:43
bacek: but would need to look at the code
bacek allison: it can. But it uses Sub.set_outer which set... erm... Sub.outer as well 12:44
more generic question: why LexPad in Context at all? 12:45
should it be in Sub only?
kid51 Whiteknight: see lines 26-46 of src/call/ops.c
mikehh: As for the c_functions codingstd errors -- the non-TODOed ones are all found in src/call/args.c. 12:46
mikehh kid51: yes I know - I passed that on to bacek to look at :-} 12:47
kid51 src/call/args.c is also reporting "17 unused assert macros" when run through t/codingstd/c_args_assert.t
allison bacek: Context stores all the information unique to a particular execution of a Sub
Whiteknight kid51: I don't see anyting out of place there, what's the codestd error there?
allison bacek: Sub is the same for all executions
bacek mikehh: just add PARROT_ASSERT_ARGS and POD docs :)
Whiteknight Context is like a stack frame in C, only better 12:48
and Sub is like the executable machine code
allison bacek: so, if you run the same sub twice, each time will have its own unique LexPad
mikehh kid51: the stuff between the HEADERIZER tags should be fixed by make headerizer - but it does not seem to work properly in the branch
bacek allison: hm... I have to sleep on it to understand fully.
kid51 Whiteknight: Try: perl t/codingstd/c_arg_assert.t src/call/ops.c 12:49
mikehh: Verified. 12:50
Whiteknight Oh, I can fix that. one second
done 12:52
allison Whiteknight: there's a problem in the second half of our pseudocode, in that it assumes that named parameters and named args will come in the same order 12:55
dalek rrot: r41685 | whiteknight++ | branches/pcc_reapply/src/call/ops.c:
[pcc] fix headerizer problem. This file doesn't have any static functions anymore so no need to have a static forward declaration section
12:56
rrot: r41686 | whiteknight++ | branches/pcc_reapply/src/call/args.c:
[pcc] small aesthetic fixes
allison Whiteknight: so have to iterate over parameters, then iterate over the hash to make sure we caught all of the arguments
12:57 einstein joined
kid51 Uh oh. I just got a build failure -- even with --buildframes=0 12:57
12:58 wknight8111 joined
kid51 Let me try that again. 12:59
wknight8111 stupid router is stupid 13:00
kid51 Now Whiteknight has multiple identities
wknight8111 tell me about it 13:01
purl rumour has it it is sad I recognize Jon's laptop/keyboard combo
dalek rrot: r41687 | bacek++ | branches/pcc_reapply/src/pmc/sub.pmc:
[core] Fix strange shortcut in setting Sub.outer_ctx with normal loop.
13:04
rrot: r41688 | bacek++ | branches/pcc_reapply/src/pmc/sub.pmc:
[cage] Remove unused variable in Sub.set_outer
wknight8111 allison: I was figuring a two-way lookup: Get the name of the argumet from the iterator and then use that to look up the appropriate parameter slot 13:05
allison Whiteknight: has to go the other way around, because the parameters *are* ordered
Whiteknight: but, yes, essentially 13:06
wknight8111 urg, the test results still aren't looking much better 13:22
kid51 With --buildframes=0, we have 131 tests still failing
smolder.plusthree.com/app/public_pr...ails/28526 13:23
shorten kid51's url is at xrl.us/bfqdt7
wknight8111 is that in the pcc_reapply branch? 13:24
actually, the list is shorter then the last time i looked
13:25 PacoLinux joined
allison wknight8111: yesterday it went down from 414 to 200-something 13:25
kid51 Yes. Note the 'branch' and "Configure_args' lines in the test report's header
allison today it's down below 200
wknight8111 yay! hackathon++
kid51 Note that totals are much different without --buildframes=0 13:26
I'll have those totals in a few minutes
wknight8111 t/pmc/sub.t test 37 looks strange to me 13:30
it expects an :immediate :postcomp sub to be called twice
is that the case?
bacek there is some shenanigans with :slurpy :named. t/oo/metamodel failing because args aren't filled. 13:38
kid51 Hmm, without --buildframes=0 t/op/gc.t hangs
Yesterday, we were getting thru 'make test' with buildframes, albeit with > 400 errors. 13:39
but now, I'm hanging on test 118 in that file 13:40
wknight8111 bacek: yeah, :slurpy :named is a problm 13:41
I don't see any :named :slurpy parameters in t/oo/metamodel.t 13:44
dalek rrot: r41689 | rblasch++ | trunk/docs/book/pir (4 files):
[book] Fixed typos.
13:55
14:03 bacek joined
bacek hi again 14:03
purl oh, you're back!
bacek wknight8111: check Class.new.
it uses "bare" :named :slurpy and receives empty hash instead of params 14:04
kid51 pcc_reapply branch without --buildframes=0: t/op/gc.t hangs indefinitely before it gets to test at line 235 14:06
dalek rrot: r41690 | jkeenan++ | branches/pcc_reapply/t/op/gc.t:
Add a test description to help debugging.
14:08
bacek kid51: all tests successful in t/op/gc.t on my box...
wknight8111 t/pmc/coroutine.t:8 is failing because of lack of :optional and :opt_flag on returns
dalek rrot: r41691 | rblasch++ | trunk/docs/book/pir (4 files):
[book] Reverted r41689, committed too much.
14:12
bacek ok. we definitely need smarter fill_returns... 14:13
mikehh++ # really good fix for codetest failures 14:14
dalek rrot: r41692 | mikehh++ | branches/pcc_reapply/src/call/args.c:
attempt to fix codetest problems with src/call/args.c - codetest passes
14:15
rrot: r41693 | rblasch++ | trunk/docs/book/pir/ch09_exceptions.pod:
[book] Fixed typos.
rrot: r41694 | jkeenan++ | branches/pcc_reapply/t/op/gc.t:
Add more test descriptions.
14:21
14:22 Psyche^ joined 14:33 cognominal joined 14:36 cognominal joined 14:38 AndyA joined
mikehh well codetest and manifest_tests PASS in pcc_reapply branch 14:44
kid51 Building without --buildframes=0, t/op/gc.t hangs during 'make coretest' for me. It's been hung 20 minutes! 14:59
When I run it with prove, it stops after 117 tests -- but at least I can get the test summary report. 15:01
15:03 theory joined 15:06 Maddingue joined
kid51 With --buildframes=0, t/op/gc.t just sails right through -- no failures at all. 15:07
bacek kid51: it's "expected"... 15:11
mikehh it completes for me - waiting to send to smolder 15:14
dalek rrot: r41695 | bacek++ | branches/pcc_reapply/tools/build/nativecall.pl:
Fix handling /B/ in nci nativecall builder. Claim one more passing test.
15:16
rrot: r41696 | bacek++ | branches/pcc_reapply/src/nci_test.c:
Trade last test from t/pmc/nci.t into compiler warning.
bacek holy sh... 15:17
clock?
purl bacek: LAX: Sun 8:17am PDT / CHI: Sun 10:17am CDT / NYC: Sun 11:17am EDT / LON: Sun 4:17pm BST / BER: Sun 5:17pm CEST / IND: Sun 8:47pm IST / TOK: Mon 12:17am JST / SYD: Mon 2:17am EST /
bacek must sleep
purl $bacek->sleep(8 * 3600);
mikehh still waiting - doesn't seem to want to connect 15:19
15:30 jan joined 15:45 iblechbot joined
mikehh managed to get it smolder on the second attempt - smolder.plusthree.com/app/public_pr...ails/28535 15:46
shorten mikehh's url is at xrl.us/bfqd7t
16:05 particle joined
allison bacek: ping 16:13
ah, bacek sleep, unping 16:14
16:20 nopaste joined
dalek rrot: r41697 | pmichaud++ | branches/pct-rx/t/compilers/pct/regex/06-p6regex.t:
[pct-rx]: Move p6regex test a bit later in sequence.
16:27
allison Whiteknight: ping 16:28
mikehh bacek's last commit's cause a build failure 16:29
allison mikehh: yes, that's what I was pinging him about, we can revert for now
mikehh: I'm not sure if it's just the last commit or the last two commits 16:30
mikehh: svn update -r41694 works
mikehh: haven't tried -r41695 16:31
mikehh: -r41696 is definitely broken
mikehh alison: yes at r41694 amd64 I get 6,434 ok, 125 failed, 100 todo, 162 skipped and 1 unexpectedly succeeded 16:32
I updated to r41696 and got a failure with src/nci_test.c 16:34
allison mikehh: that looks right, how about -r414695?
mikehh: that looks right, how about -r41695?
mikehh let's see
r41695 builds 16:35
I did svn update -r41695, make corevm (didn't clean or anything) 16:36
allison does it fail a lot of tests? 16:38
mikehh: (I ask because bacek's comment on r41696 implies that it was fixing test failures) 16:39
mikehh I am running smolder_codetest at the moment - will see 16:42
it will probably indicate r41696 because that is where I configured 16:43
but I reverted to r41695 16:44
it just reverted the test
src/nci_test.c
smolder.plusthree.com/app/public_pr...ails/28540 16:45
shorten mikehh's url is at xrl.us/bfqedg
allison mikehh: great, thanks!
mikehh looks the same as #28535 16:48
wknight8111 allison: pong
mikehh bear in mind that it is actually at r41695 nor r41696 as indicated 16:49
not
allison whiteknight: I've got a diff for code review 16:56
Whiteknight: or I can check it in
whiteknight check it in
we can roll it back if it stinks (unlikely) or build on it to make it better in place 16:57
allison whiteknight: committed 16:58
whiteknight w00t 16:59
build is broken
whiteknight backlogs
allison whiteknight: at the moment I'm tracking down a failure in t/oo/composition.t
whiteknight okay, I'll track down the build failure
allison whiteknight: mikehh said he reverted the build failure 17:00
dalek rrot: r41698 | allison++ | branches/pcc_reapply/src (2 files):
[pcc] Reworking fill_params as an iterator over arguments rather than
purl parameters are definitely in the scope of the callee
whiteknight oh. realclean, rebuilding
allison whiteknight: nope, looks like mikehh didn't commit 17:01
whiteknight gotcha 17:03
17:03 szabgab joined
allison whiteknight: commited revert 17:05
whiteknight awesome
allison whiteknight: was at 165 test failures after adding my patch 17:06
dalek rrot: r41699 | allison++ | branches/pcc_reapply/src/nci_test.c:
[pcc] Reverting r41696 as it caused a build failure.
whiteknight great! The number is getting very low 17:07
and many, I'm certain, are just the result of not handing options on return arguments and not properly handling them on parameters 17:08
both of which can be tracked down and fixed
allison whiteknight: aye 17:09
I'm gettin "too few named arguments: no argument for required parameter 'exclude_method'" 17:10
but the parameter is marked :optional
whiteknight urg. I was seeing problems with :named :optional the other day
allison (stranger still, the version of the method on that class doesn't even have that parameter at all)
whiteknight what test is this?
purl tested ok
allison t/oo/composition.t 17:11
17:11 masak joined
moritz re 17:11
mikehh alison: sorry - I aqm having a few problems with my internet connection - I commited but it did not connect properly to the server - apologies - I was checking something else 17:12
allison mikehh: no worries, I figured I had misread your IRC comment
mikehh: (that you had just reverted it locally for the smoke test run, or something like that)
dalek kudo: a796cf1 | moritz++ | src/setting/Operators.pm:
add another &infix:<...> multi to handle the case 3 ... $+2, $max
17:13
shorten dalek's url is at xrl.us/bfqei2
dalek kudo: db7c668 | moritz++ | src/setting/Complex.pm:
Complex.ACCEPTS
shorten dalek's url is at xrl.us/bfqei4
mikehh I did but then when everything was ok I did an svn commit but as I said it did not connect properly to the server 17:14
allison mikehh: oh well
mikehh: hopefully it didn't get completely confused at merging my commit into your uncommitted change 17:15
mikehh I was also doing some tests on trunk and only looked at it a couple of minutes ago
whiteknight allison: I dont see anywhere that you set un-passed opt_flags to false 17:16
oh wait, I found it
allison yeah, it's the next 'else' 17:17
mikehh All tests PASS (pre/post-config, smoke (#28541), fulltest) at r41696 - Ubuntu 9.04 amd64 17:18
dalek rrot: r41700 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Don't declare variable until limited scope where it's used.
17:23
17:33 ilbot2 joined
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: PCC branch hackathon all $localtime Saturday | Testing priorities: pcc_reapply branch
mikehh What's with CONST_STRING - it breaks the compiler if THE STATEMENT with it in is split across lines 17:34
whiteknight if I add printf statements into the named arguments loop for debugging, Parrot fails an assertion inside do_thaw 17:37
mikehh: yeah, it's stupid 17:42
17:42 kid51 joined
dalek rrot: r41701 | whiteknight++ | branches/pcc_reapply/src/call/args.c:
[pcc] fix CONST_STRING spread across multiple lines
17:42
tracwiki: v104 | jkeenan++ | WikiStart 17:43
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
shorten dalek's url is at xrl.us/bfqeoe
17:45 tetragon joined
dalek rrot: r41702 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Better checking on named argument passing counts.
17:45
kid51 pcc_reapply branch: r 41701: with --buildframes=0: smolder.plusthree.com/app/public_pr...ails/28543 17:52
shorten kid51's url is at xrl.us/bfqepj
kid51 Hmm: that's 33 more test failures than at r41694, under the same conditions 17:55
17:56 kurahaupo joined
fperrad ping bacek 17:56
purl I can't find bacek in the DNS.
kurahaupo Bacek's in UTC+10 so he'll be asleep
kid51 Hmm, I notice that at r41694, all tests in t/pmc/class.t were SKIPped; at r41701 they are unSKIPped and failing 17:57
kid51: wrong; it's the other way around 17:58
In more recent report, am getting failures in t/pmc/exporter.t that were not there in earlier. 17:59
The new failures in t/pmc/exporter.t are of these types: "too few named arguments: no argument for required parameter"; "named parameters must follow all positional parameters". See smolder.plusthree.com/app/public_pr...m/28543/97 18:01
shorten kid51's url is at xrl.us/bfqeq3
allison kid51: the logic for argument handling has been expanded, working on fixing up the incidental damage 18:05
kid51 k 18:06
t/oo/composition.t also blew up in the later revision: for same "too few named arguments" reason: smolder.plusthree.com/app/public_pr.../28543/180 18:07
shorten kid51's url is at xrl.us/bfqerw
dalek rrot: r41703 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Add checking for a named parameter that doesn't have a string name.
18:08
allison kid51: thanks for the reports, very helpful 18:09
moritz wow, the pcc_reapply branch looks much better than it did last week 18:13
whiteknight named parameter that doesn't have a string name? 18:16
ah okay, we don't support it 18:17
that's good
18:17 whoppix joined
allison whiteknight: funny, I didn't notice before that slurpy hashes weren't actually collecting any arguments (they were just returning an empty hash) 18:23
whiteknight: I guess that means the new code is more maintainable, even if it's still monolithic 18:24
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: --buildframes=0: current failures verbose output" (1893 lines) at nopaste.snit.ch/18213
allison whiteknight: (it's also easier to refactor it down to smaller routines)
dalek rrot: r41704 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Actually collect named args into the slurpy hash.
whiteknight haha, that's funny 18:25
I didn't notice it either
allison whiteknight: is parameter count checking supposed to be on by default? I remember it being of by default 18:29
off
whiteknight i thought it was on by default?
allison whiteknight: it is on by default now
whiteknight: just surprised me when I was working on a test case just now 18:30
whiteknight oh, okay
allison whiteknight: ah yeah, running the same code against trunk produces the same error 18:31
(or a similar error, slight text differences)
kurahaupo I was about to redo t/pmc/exception.t in PIR; should I leave it while you're re-doing parameter handling? 18:32
allison neat, another 44 tests passing
kurahaupo Never mind, someone beat me to it. 18:34
dalek rrot: r41705 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Also mark the named argument as used when its pulled into the slurpy,
whiteknight very few test files are aborting early now, that's a great sign 18:36
dalek rrot: r41706 | allison++ | branches/pcc_reapply/t/op/calling.t:
[pcc] PIR test for slurpy named arguments.
18:37
18:40 payload joined
whiteknight okay, the test I was just debugging works now after r41704 18:40
so it was the slurpy hash that was the problem
allison whiteknight: hmmmm.... with :optional :named('foo')... does the :optional flag end up on the string parameter 'foo', or on the actual parameter? 18:41
whiteknight you know what? I have absolutely no idea
allison whiteknight: I've been assuming it shows up on the string name
whiteknight I've sort of assumed it was the other way around
we could switch it around and see if more or fewer tests pass 18:42
allison whiteknight: I'll try it
checking specifically t/pmc/class.t, where an optional parameter is being mishandled as required 18:43
whiteknight: alrighty then, that made the test pass 18:47
whiteknight: I guess the optional gets marked on the actual param, not on the param name
whiteknight sounds like we need some documentation about that
All the tests I was debugging are passing now. I need to look for new tests
can I get your opinion on t/pmc/sub_37.pir? 18:49
we can "fix" it if that is the desired behavior
the question is whether an :immediate :postcomp sub should be executed twice or not 18:50
allison whiteknight: whoah! down to 63 failing tests!
18:51 s1n joined
allison whiteknight: (re :postcomp and :immediate) we should preserve the existing behavior now, even if we decide to change it later 18:51
whiteknight where do we see the number of tests failed? I never see that number 18:52
kid51 r41706 cleared about 42 tests: smolder.plusthree.com/app/public_pr...ails/28551 18:53
shorten kid51's url is at xrl.us/bfqewa
allison whiteknight: when you run 'make coretest' it should give you a summary at the end 18:54
kid51 whiteknight: smolder.plusthree.com/app/public_pr...reports/8: I've been reporting results of make corevm makecoretest in pcc_reapply branch with --buildframes=0 in configuration
shorten kid51's url is at xrl.us/bfqewi
dalek rrot: r41707 | mikehh++ | branches/pcc_reapply/src/call/args.c:
codetest fixes - assert args, function docs, linelength
rrot: r41708 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] The :optional flag is marked on the named parameter itself, not on the
allison kid51: try 41708 :)
Tene allison: src/call/args.c +811, ISO C90 forbids mixed declarations and code
kid51 allison: You're too fast for me! 18:55
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: --buildframes=0: current failures verbose output" (1816 lines) at nopaste.snit.ch/18214
allison Tene: thanks, fixing
whiteknight allison++ is kicking ass 18:58
dalek rrot: r41709 | allison++ | branches/pcc_reapply/src/call/args.c:
[pcc] Fix C90 compiler warning about mixed declarations and code.
19:01
moritz it seems some of the failures stem from too strict checks for error messages
'too few positional arguments: 1 passed, 2 (or more) expected 19:02
...
doesn't match '/too (many|few) arguments passed .*
Tene moritz: yes, the tests need to be fixed.
allison moritz: yes, those are the old error messages 19:03
kid51 41708 gets us down to 58 19:05
allison kid51: excellent, the finish line is in sight
Tene: I suspect return argument handling is about half of what's left 19:06
Tene allison: fortunately, that's what I'm just about to start on.
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: --buildframes=0: current failures verbose output" (1731 lines) at nopaste.snit.ch/18215
allison Tene: I'm going off to make some dinner, but I'll check in in case you have any questions
kid51 Of course, the results aren't going to be so pretty when we omit '--buildframes=0' from Configure.pl 19:07
but at least we have partialized the problems
Tene allison: just confirmation that you want me to use the old algorithm from fill_params for fill_returns
allison: which you already gave last night.
mikehh I get 6,502 ok, 58 failed, 101 todo, 162 skipped and 1 unexpectedly succeeded with normal parameters on amd64 - smolder #28553
allison Tene: I'd start there, it's closest to what you'll want
Tene: but you can take a look at the new fill_params too 19:08
Tene: see if there's anything helpful there
kid51: funny, I'm not using --buildframes=0, but perhaps buildframes only works on x86 19:09
mikehh well my normal configure parameters - see the smolder test - smolder.plusthree.com/app/public_pr...ails/28553
shorten mikehh's url is at xrl.us/bfqeyi
mikehh that's at r41708 - codetest also passes 19:10
kid51 allison: See scrollback a couple of hours re my build problems on Linux 86 without --buildframes=0; compare mikehh's results 19:11
I fear we're going to encounter some platform-specific differences;
mikehh showed 58 failures at r41708; I showed 63. Why did I get more *with* --buildframes=0 and on 32 bit? 19:12
I don't know -- but I gotta book.
mikehh I have spent far too many hours on this - I was going to try out the Ubuntu 9.10 beta but never got around to it 19:15
but it has been fun anyway 19:16
whiteknight urg, imcc is such a damn mess
Tene srsly 19:17
mikehh bring on pirc, or something - there were a couple of commits by kjs on it, but I haven't looked yet
whiteknight I'm trying to chase down that t/pmc/sub.t failure, and it's leading me into the abyss
dalek rrot: r41710 | moritz++ | branches/pcc_reapply/t/op/cc_params.t:
adapt testing regex to new error messages in t/op/cc_params.t
19:18
ose: r171 | Austin++ | trunk/ (50 files):
NOT WORKING: Commit before directory moves.
19:22
ose: r172 | Austin++ | trunk/src/close/ (2 files):
Renamed Compiler->Slam
19:27
ose: r173 | Austin++ | trunk/src/ (2 files):
Moved src/close/Slam -> src/Slam
ose: r174 | Austin++ | trunk/build/Makefile.in:
Updated Makefile.in
19:46
19:47 s1n joined 19:55 joeri left 20:07 s1n joined 20:11 cconstantine joined
mikehh pcc_reaply branch - smolder_coretest - smolder.plusthree.com/app/public_pr...ails/28557 at r41710 20:19
shorten mikehh's url is at xrl.us/bfqe9u
mikehh 6,521 ok, 39 failed, 101 todo, 162 skipped and 1 unexpectedly succeeded - Ubuntu 9.04 amd64 20:20
that's down to 39 failures from 58 at r41708 20:21
of course kid51 was getting more on i386 but hey :-} 20:22
20:22 bacek joined 20:23 fperrad_ joined
mikehh oh and codetest and manifest_tests also PASS 20:26
and pre/post-config tests
mikehh need a break, a nap, mabe some sleep 20:28
bbl
20:37 s1n joined
allison full of enough pancakes to explode an elephant, and looking at the frame_builder 20:40
20:41 mokurai joined
whiteknight allison: did you see the libJIT-based framebuilder that plobsinger made? 20:43
he has it up on git
allison whiteknight: I didn't
whiteknight github.com/plobsing/parrot-libjit
allison whiteknight: or, I saw his IRC message go by, but had my nose buried in pcc at the time
whiteknight no hurry, but it's a very cool project
allison whiteknight: cool, I'll take a look 20:44
whiteknight awesome
Tene allison: I've managed to get myself a little bit confused here. Can you explain the 'returns' attribute of the callsignature pmc to me?
allison Tene: 'returns' is only positional returns 20:45
Tene Where are named returns stored?
allison Tene: and, because Parrot's return handling is currently backward...
Tene: named returns aren't currently stored at all 20:46
Tene: ...backward, each return set by 'get_results' is actually a storage location where 'set_returns' will store the return value
Tene: it's stupid, and will change after 2.0 20:47
Tene allison: also, afaict, the raw_sig passed to fill_returns is the signature of the returns, not the signature of the results, right?
allison Tene: but at the moment it has to work that way
Tene nodnod
allison Tene: yes
fill_returns is called from 'set_returns'
the raw signature of the results is passed to 'build_sig_object' 20:48
(in vararg and op variants)
whiteknight that reminds me, my list post about sub-based exception handlers got warnocked. I'm going to put in the deprecation notice for that now 20:52
Tene allison: so we pull items from wherever and store them in the 'returns' attribute of the callsignature?
allison Tene: yes 20:53
Ryan52 allison: so...what's happening with getting a newer parrot in Debian? :)
allison Tene: first we fill 'returns' with CPointers to the destinations, then we set the values of those CPointers to the actual return values
Ryan52: I've been a bit busy 20:54
Ryan52: I did get your message though
Ryan52 allison: willing to let me do it? (just the upload to experimental)
allison Ryan52: go for it
Ryan52: but check with me if you have to make any packaging changes beyond version number 20:55
Ryan52: the packaging files are all in ports/debian in the repository
Tene allison: so how do we deal with, say, :slurpy results?
allison Ryan52: and please build from the tarball of the most recent release, rather than from svn
Tene allison: I don't see where I can find out that a given result is supposed to be :slurpy
allison Tene: that's the tricky part of the reversed logic 20:56
Tene stated another way, where can I find out about the results sig?
allison Tene: you have to check the return string signature
Ryan52 allison: okay, thanks!
allison where it will have the original marking for 'slurpy'
Tene Where can I find that? 20:57
purl that is how it does it.
allison Ryan52: thank you!
Tene: it's stored in the call_object
Tene Is it the short_sig?
allison Tene: or, if the signature was set up from an op, the FIA signature is stored in return_flags 20:58
Tene: yes, the short_sig is the string signature
Tene Okay.
allison Tene: short_sig is both args and returns, so jump ahead to everything after '->'
Tene: if that proves a headache, we can just generate the return_flags from the varargs version 20:59
Tene and it ends up being set in the return_flags attribute of the callsignature.
allison Tene: so the op and varargs version are consistent
Tene Okay.
Ryan52 allison: hm, what do you mean when you szy the files are in ports/debian?
*say
Tene I think I understand what's going on now.
Ryan52 oh, nevermind, found it. 21:00
allison Ryan52: if you checkout the Parrot repository, there's a directory that isn't included in the tarball
Ryan52: okay
Tene I'll go back for another try at this.
allison Ryan52: the step-by-step guide on how we build the parrot packages is in docs/project/debian_packaging_guide.pod 21:01
Ryan52: (I know you already know all about debian packages, but that'll give you the Parrot specifics)
Tene: cool 21:02
dalek TT #1091 created by whiteknight++: ExceptionHandlers should be Subs
Tene allison: just to confirm, the "returns" attribute holds the pointers to the *results*, and the "return_flags" attribute has the signature of the *results*, right? 21:03
allison Tene: yes, feel free to change the names
Tene Let me just say, those names are very confusing. :P
allison Tene: I've been mixing up returns and results in my usage as badly as whiteknight mixes up args and params :)
Tene: agreed, if you have any better ideas I'm open to them :) 21:04
Tene: maybe 'return args' and 'return params', just so we only have to deal with one set of confusion
whiteknight I think allison is full of crap if she thinks args and params are different things
:)
allison whiteknight: :)
Tene whiteknight: I disagree. args and params are very different.
allison whiteknight: I can say the same about returns and results
whiteknight Tene: That can't be! if they were different, I wouldn't be confusing the two words 21:05
dalek rrot: r41711 | whiteknight++ | trunk/DEPRECATED.pod:
[DEPRECATED] Continuation-based ExceptionHandlers are on the chopping block after 2.0 TT #1091
allison whiteknight: it's like a bus that changes route numbers depending on whether it's leaving or arriving
"leaving the station it's 403, but returning it's 546. Of course that makes sense!" 21:06
Tene allison: all I'd ask is that the API uses "return" and "result" consistently.
allison Tene: agreed, that would help
21:06 diakopter left
allison Tene: please to fix it where you find inconsistencies 21:06
do
Tene Well, i"ll look into it after I get this working.
Maybe add it to the tasklist? 21:07
allison Tene: sure
Tene afk working
allison: just to confirm, fill_results should be iterating over returns, or over results? 21:11
allison Tene: it should be iterating over returns
whiteknight ...which one is which?
Tene Okay.
allison Tene: parallel to fill_params which iterates over args
Tene whiteknight: returns are the ones you specify with .return ()
dalek tracwiki: v20 | allison++ | CallingConventionsOverview
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqff6
allison whiteknight: returns==args, results==params 21:12
Tene allison: new fill_params or old fill_params? ;)
allison whiteknight: returns/args=="what you dump in" and results/params=="what you get out"
whiteknight gotcha
allison Tene: the new fill_params is the one that iterates over args 21:13
Tene: it's saner that way
Tene s/what you get out/where they end up/
whiteknight I'm thinking that maybe we should find a way to store strings like error messages externally to the code
allison Tene: easier to check
Tene allison: Okay. I somehow got a bit confused last night.
allison whiteknight: yes, we have to for internationalization
whiteknight exactly.
also could help to make error-checking tests more sane 21:14
allison whiteknight: there are plenty of examples out there of people who have already done this
Tene strongly recommends something like Locale::MakeText over gettext
allison Tene: what's the linux kernel use?
Tene allison: enoclue
allison looks like gettext 21:15
Tene allison: getting things like pluralization right over n languages tends to hugely explode the string count, I'm told.
21:15 kurahaupo joined
Tene it's worth reading the POd for Locale::MakeText. It was very persuasive to me. I have no experience here, though. 21:16
allison Tene: I think Ubuntu has tools that make the pluralization problem easier
Rosetta? 21:17
purl rumour has it Rosetta is at bhami.com/rosetta.html or what happens when you have a military level budget and get paid by lines of code or dduncan's thingy or a dual perl 6 effort
allison Tene: but it's pretty much unexplored territory for me too 21:20
whiteknight allison: I do some MediaWiki hacking too, and everything they do is i18n compatible 21:22
what is 'f' in a signature, :flat? 21:23
Ryan52 allison: here's my "svn diff" slexy.org/raw/s2juysTJm9 . the standards version, homepage, and passive ftp changes should probably be caried over into future debian packages of parrot. 21:24
allison: okay for me to upload it?
whiteknight yeah, 'f' is :flat (answered my own question) 21:25
bacek Good morning 21:27
GeJ G'Day bacek
bacek G'Day GeJ 21:28
whiteknight good morning GeJ
and hello again, bacek
GeJ Heya whiteknight
purl whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/
whiteknight allison: issue in multidispatch. an incoming :flat array has a signature "Pf" instead of signatures of each of it's component objects 21:29
dalek rrot: r41712 | bacek++ | branches/pcc_reapply/src/nci_test.c:
[cage] Properly fix nci_test.
21:31
whiteknight has to look into trunk to see how it's handled there 21:34
21:35 kid51 joined
allison whiteknight: yes, I saw that failing test 21:37
dalek TT #1058 closed by jkeenan++: auto::funcptr: config step not needed if 'jitcapable' is never true 21:38
allison whiteknight: I'm hesitant to change the signature string stored in the CallSignature, it seems like it's losing information
whiteknight it's losing information because we're marking "Pf" or because we arent? 21:39
allison whiteknight: but then, I suppose it doesn't really matter that the positional or named arguments originally came from a flat argument, since they're regular positional and named arguments in the call signature
whiteknight: losing information because we replace the Pf with the individual signatures of the elements it's flattened into 21:40
whiteknight I'm fine either way, the only issue is whether we dissect out the signature in the CallSignature element, or whether we only do it when mutidispatching
allison whiteknight: so we lose track of the fact that it was originally a :flatten argument
whiteknight: it's easy to do it in the call signature, we re-write it as we flatten 21:41
whiteknight allison: What if instead of having "Pf" for the flattened array, we add an "f" to every inner argument that was part of that array?
allison whiteknight: it's hard to do it in multidispatch, because we've lost the information about what it flattened into
whiteknight so "Pf" -> "IfSnfPf"
allison whiteknight: it does keep some information, but there would be no way to tell when multiple args were flattened 21:42
whiteknight actually it would only flatten to "PfPfPf..."
allison: working backwards, what's the benefit to having that information in the first place?
allison whiteknight: PfPf might flatten to any number of args 21:43
whiteknight what do you mean?
allison whiteknight: very little benefit
whiteknight: you can pass in more than one flattening argument
so, two arrays, or 4 arrays and 5 hashes
an infinite number of flattening arguments 21:44
whiteknight allison: okay, but still ignores the question: Why would a callee ever need to know that it was called with a flattened array instead of a regular arglist
allison they're all steamrolled
whiteknight is this information that is worth keeping?
allison whiteknight: not really, no
whiteknight: it's just a packrat principle
whiteknight: go ahead and rewrite
whiteknight: we can always find some way to retain the information of we need it someday 21:45
whiteknight: but no reason to keep it at the moment
whiteknight something like "Pf{...}" would do the trick
but yes, something for the future
allison whiteknight: yeah, there are ways to do it, if we find we do need the information
whiteknight what does the arglist flatten to, all Ps? 21:48
(for arrays)
Ryan52 allison: ?? 21:50
Tene allison: The returns aren't stored in the call_object, like they are for args, so i can't use vtable_elements to get the number of positional params... should I just loop over the returns_sig and count the number of non_named returns? 21:51
allison Tene: just grab the returns array out of the call object 21:53
Tene allison: the 'returns' attribute of the call object is the *results* 21:54
allison Tene: oh, yes, for the iteration in fill_returns, loop over the signature
the return signature
i.e. the fixed integer array
Ryan52: yes?
Ryan52 14:24 < Ryan52> allison: here's my "svn diff" slexy.org/raw/s2juysTJm9 . the standards version, homepage, and passive ftp changes should probably be caried over into future debian packages of parrot.
14:24 < Ryan52> allison: okay for me to upload it? 21:55
allison: u never answered or acknowledged that I asked.
allison Ryan52: looks good, go ahead 21:56
Ryan52: (I didn't see the earlier message)
Ryan52 kk, thanks.
whiteknight make headerizer spits out a lot of warnings in the branch 21:59
allison whiteknight: it's all the function pointer definitions 22:00
whiteknight: they don't have the standard declarations 22:01
dalek rrot: r41713 | whiteknight++ | branches/pcc_reapply (3 files):
[pcc] change handling of :flat args in the CallSignature so that the contents of the :flat array are reprsented in the signature, instead of just saying 'Pf'. t/pmc/multisub.t passes completely now, don't know if anything else got fixed
allison whiteknight: that is src/call/args.c
whiteknight what is? 22:03
allison whiteknight: the headerizer complaints are about src/call/args.c
whiteknight oh, okay
allison sleeps 22:06
dalek ose: r175 | Austin++ | trunk/ (3 files):
Moved src/parser -> src/Slam/parser
22:18
kudo: 42ed85a | (Lanny Ripple)++ | src/setting/Num.pm:
add a cast for Num to Rat with optional error
22:20
kudo: 1ca164a | (Solomon Foster)++ | src/setting/Num.pm:
Change Num._modf to "my" to make it private.
shorten dalek's url is at xrl.us/bfqfoj
purl dalek: that doesn't look right
shorten dalek's url is at xrl.us/bfqfom
dalek rrot: r41714 | bacek++ | branches/pcc_reapply/src/call/pcc.c:
Runops for Eval PMC in invoke_from_sig_object. Fixes t/src/embed.t
22:24
ose: r176 | Austin++ | trunk/ (23 files):
Moved *Visitors into subdir, fixed Makefile.in
22:32
whiteknight this weekend has been very productive 22:33
bacek Anyone working on fill_returns? 22:36
whiteknight Tene was, I think
bacek Tene: any luck? 22:37
nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: --buildframes=0: current failures verbose output" (1474 lines) at nopaste.snit.ch/18217 22:39
dalek rrot: r41715 | whiteknight++ | branches/pcc_reapply/src/call/args.c:
[pcc] add PARROT_CAN[NOT]_RETURN_NULL to some functions in src/call/args.c. This shuts up some warnings in headerizer
22:40
whiteknight why does stringhandle.t take so damn long to run? 22:41
Tene bacek: yes, making progress 22:43
bacek: I have nomral positional returns and slurpy returns working.
bacek Tene: good.
Tene bacek: I probably have to stop working soon... will you be around to finish it? 22:44
bacek Tene: I can try. It's public holiday in Australia. 22:45
whiteknight Tene: commit what you have when you leave, we will carry on 22:47
dalek rrot: r41716 | jkeenan++ | branches/library_files/config (2 files):
Make lists of tests defined in Parrot::Harness::DefaultTests available to Makefile. Add them to Parrot::Configure object in config/init/defaults.pm, then modify make targets in config/gen/makefiles/root.in. Cf.: trac.parrot.org/parrot/ticket/1061.
nopaste "tene" at 24.10.252.130 pasted "The work so far on fill_params, fwiw" (662 lines) at nopaste.snit.ch/18218
whiteknight wow, that's a lot 22:48
once we get slurpy and named returns working, I have very high hopes that PCT will build
Tene whiteknight: yes, PGE is failing on slurpy returns ATM 22:49
kid51 pcc_reapply branch: *Without* --buildframes=0, t/op/gc.t continues to hang indefinitely for me during 'make coretest', thereby preventing me from submitting Smolder. This is on Linux/i386.
Running it with 'prove -v', I end up with: 22:50
ok 115 - end vanishing_return_continuation
ok 116
ok 117
Failed 23/140 subtests
Test Summary Report
-------------------
t/op/gc.t (Wstat: 11 Tests: 117 Failed: 0)
Non-zero wait status: 11
Parse errors: Bad plan. You planned 140 tests but ran 117.
Files=1, Tests=117, 4 wallclock secs ( 0.06 usr 0.00 sys + 1.09 cusr 0.06 csys = 1.21 CPU) 22:51
Result: FAIL
perl t/harness t/op/gc.t fails at test 118, but the harness completes as intended.
So why should 'make smolder_coretest' -- which just wraps around t/harness -- cause t/op/gc.t to hang? 22:54
whiteknight that's weird 22:57
GeJ bacek: r41712 says "Properly fix nci_test." Should I remove it from CallingConventionsOverview's "Known Issues" list? 22:58
22:58 patspam joined
bacek GeJ: look like yes 22:58
dalek tracwiki: v21 | geraud++ | CallingConventionsOverview 23:01
tracwiki: With bacek's confirmation on IRC, remove nci known issue.
tracwiki: trac.parrot.org/parrot/wiki/Callin...ction=diff
shorten dalek's url is at xrl.us/bfqfsw
GeJ bacek++
cotto I see there's been a bunch of pcc hacking. How much closer is the pcc_reapply branch to being mergeable? 23:06
dalek rrot: r41717 | bacek++ | branches/pcc_reapply/src/call/args.c:
Clone Key args in fill_params. Stolen from old PCC.
23:07
kid51 $ ps aux | grep 't/op/gc.t'
jimk 6453 8.2 71.5 457704 254884 pts/0 D+ 19:03 0:14 parrot t/op/gc.t
It's eating up memory, I guess.
bacek cotto: before Christmas :) 23:08
whiteknight cotto: we've fixed A LOT of failing tests
still a handfull, but a lot less then there was
and Tene is doing some work on returns that should get us most of the way down to 0 23:09
bacek bloody headerizer... 23:10
cotto I'm disappointed not to have had the free time, but you all committed some serious pwnage.
Tene Looks like I'm getting an assertion failure in Parrot_pcc_build_sig_object_returns_from_op when I try to define named returns.
(a :named('a'), b :named('b')) = foo() 23:11
cotto Whatever else is true, that code has a much better bus number now. 23:12
Tene So I'm having trouble testing if fill_results handles named returns
cotto afk
dalek rrot: r41718 | bacek++ | branches/pcc_reapply/src/call/args.c:
Make headerizer happy.
23:13
rrot: r41719 | jkeenan++ | branches/library_files/config/gen/makefiles/root.in:
Correct trailing whitespace codingstd error.
rrot: r41720 | bacek++ | branches/pcc_reapply (2 files):
Fix ARGMOD guard in fill_returns_from_op
whiteknight Tene: commit it and let us do some debuggering 23:14
kid51 pwnage? 23:15
whiteknight kid51: pwnage is when we kick ass and take names. 23:16
kid51 Having looked up pwnage on urbandictionary.com .. 23:19
kid51 vows never to use it.
23:20 theory joined
Tene whiteknight: okay, about to commit. Then I need to go grocery shopping. 23:21
kid51 How strange! Something in the last two commits to pcc_reapply cleared up that hang in t/op/gc.t for me!
23:21 payload joined
whiteknight Tene: awesome 23:22
kid51: probably some weird heisenbug thing
or something that is dependent on memory layout
kid51 No, I take that back.
I configured with --buildframes=0. 23:23
Tene Yay, headerizer conflicts when trying to update so I can commit.
kid51 In fact, the situation has gotten worse. r41714: 37 tests failed; r41720: 78 failures!
many failures in \t t/pmc/exporter.t (again) 23:25
And new failures in t/pmc/key.t
whiteknight urg 23:26
kid51 and new failures in t/pmc/packfile.t
smolder.plusthree.com/app/public_pr...ails/28565 23:27
shorten kid51's url is at xrl.us/bfqfvc
Tene kid51: the commit I'm about to make is going to break a *lot* of things. It's still in-progress, but I need to leave for the night.
whiteknight yeah, it's a work in progress 23:28
nopaste "kid51" at 70.85.31.226 pasted "diff of last 3 commits -- which caused more tests to fail" (536 lines) at nopaste.snit.ch/18219 23:29
dalek rrot: r41721 | tene++ | branches/pcc_reapply/src/call/args.c:
[pcc] The start of the fill_results refactor. Doesn't work well yet.
kid51 throws up his hands and goes for beer. 23:30
Tene whiteknight: the next item that I noticed was broken was that when returning int constants, the int is stored directly in the raw_params array, so the intval_constant_from_op that' sused for fill_params doesn't work for fill_returns. We need an intval_constant_from_op_for_results.
if you look at icfo, you see it fetches a raw_index and then calls some pcc function? in the _results version, just return the raw_index. 23:31
whiteknight ok
holy crap Tene! You said it would break a lot of tests, not ALL of them 23:34
23:35 davidfetter joined
Tene whiteknight: what do you expect for a half-implemented fill_returns? 23:35
whiteknight haha, nice!
Tene afk 23:36
I would have put it in a branch, but... 23:40
bacek finally lost in over-complicated logic of fill_foo... 23:44
23:52 TonyC joined 23:59 rhr joined