|
Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere Set by moderator on 2 June 2010. |
|||
| ash_ | does parrot have call by reference? or is there anyway for a parameter to be modified by a function? | 00:14 | |
| sorear | all calls in Parrot are by value | ||
| if you want to modify the caller's version of an argument, dust off your compilers book and look up call-by-reference implementation | 00:15 | ||
| the principles are exactly the same as for hardware (which is also CBV-only, in normal cases) | |||
|
00:15
theory joined
|
|||
| ash_ | but can you do that in parrot? | 00:16 | |
| sorear | " | 00:17 | |
| "the principles are exactly the same" means yes | 00:18 | ||
| bacek | *incoming* | 00:21 | |
| dalek | rrot: r47361 | bacek++ | branches/gc_massacre/src/gc (2 files): Add GC.is_string_ptr |
00:22 | |
| rrot: r47362 | bacek++ | branches/gc_massacre/src/gc/system.c: Switch to use GC_Sys.is_string_ptr in tracing system areas. |
|||
| rrot: r47363 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Factor out gc_ms2_sweep_pool helper function. |
|||
| rrot: r47364 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Sweep strings pool. |
|||
| rrot: r47365 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Shuffle functions around. |
|||
| rrot: r47366 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Destroy PMCs during sweep |
|||
| rrot: r47367 | bacek++ | branches/gc_massacre/src (2 files): Hack Parrot_str_copy to clone string and implement freeing of string storage in MS2 |
|||
| rrot: r47368 | bacek++ | branches/gc_massacre/src/gc/gc_ms.c: Implement .is_string_ptr in old GC. |
|||
| rrot: r47369 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Don't mark constant PMCs. |
|||
| rrot: r47370 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Count string allocations as header allocations. |
|||
| cotto_work | We're in trouble if bacek ever chooses to use his powers for evil. | 00:24 | |
| bacek | cotto_work, I choose it already! | ||
| bacek laughing evilly | |||
| cotto_work | dang | ||
| sorear | but Parrot *is* the dark side | 00:25 | |
| cotto_work | I'm sure the Rakudo guys would agree right now. | ||
| ash_ | is there a way to do: int a = 4; foo(&a); where foo might be: void foo(int*); as its prototype | 00:32 | |
|
00:32
tcurtis joined
|
|||
| cotto_work | bacek, I'm thinking of how to get a decent design for Lorito hammered out. Can you think of anything better than getting volunteers to write up design docs on the wiki? | 00:34 | |
| bacek | cotto_work, "getting volunteers" will be hardest part :) | 00:35 | |
| cotto_work | likely enough, though I don't mind being persistent and getting warnocked a bit | 00:37 | |
| bacek | I just can't help with it right now... GC taking almost all my attention. | 00:38 | |
| cotto_work | sure | ||
| It'll be a little bit before design starts in earnest. | |||
| time for home going | 00:48 | ||
| ash_ | ping plobsing? | 00:54 | |
| dalek | rrot: r47371 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Sligtly optimize allocation strategy. |
00:56 | |
|
00:57
patspam joined
|
|||
| jnthn | bacek: ŠŃивеŃ! How's the GC work going? | 00:57 | |
| bacek | jnthn, reasonably well. | ||
| jnthn | Dobre. :-) | ||
| er, EWRONGSLAVICLANGUAGE | |||
| bacek | :))) | 00:58 | |
| jnthn | bacek: Much performance win? | ||
| bacek: Or not at the point where that's really possible to measure yet? | |||
| bacek | jnthn, nope. Simple M&S at about same speed. | ||
| If you can offer some real-life test I can try to measure it. | 00:59 | ||
| jnthn | "build Rakudo" ;-) | ||
| It's a good benchmark or parsing stuff, at least. | 01:00 | ||
| I suspect that since we build some sizeable and fairly long-lived trees, though, that unless what you're hacking on is a more generational scheme we may not see epic wins. | |||
| sorear | if you want to see a huge win building rakudo, make our hash tables faster for the special case of 10ks of hash tables all containing the same ~6 keys | 01:02 | |
| I talked to pmichaud, he says this is actually faster than using real Objects | |||
| tcurtis | sorear: That's all PCT::Nodes are(and an array part, too, for the children). | 01:03 | |
| sorear | tcurtis: yes, that's why there are so many of them... | ||
| ash_ | sorear: gist.github.com/426157 it seems to pass by reference you have to use a PMC | 01:06 | |
| jnthn | fwiw, after Rakudo * I'm planning to re-do the way Perl 6 objects are handled internally. | 01:09 | |
| It's silly that every attribute access is a hash lookup. | |||
| When we statically know all of the attributes in a given class, and attributes are very private to that class. | 01:10 | ||
| (Of course, named lookup still has to be possible, and would be.) | 01:11 | ||
| sorear | it's also silly that a single 'Object' represents five distinct memory allocations | ||
| I'm really looking forward to the promised unification of PMCs with objects | 01:12 | ||
| jnthn | sorear: Really bad for Rakudo ATM is if you consider a Complex, for example. So that's an object, which has two attributes. Say those are Nums. Those Nums then use a Parrot Float PMC attribute for the actual storage. Thus 1 complex number = 5 objects, essentially. | 01:13 | |
| When really it should be one with two native doubles in it. | |||
| ash_ | native doubles? | 01:14 | |
| sorear | 1 object = PMC header + Object attributes allocation + PMC RPA header for HLL attributes + RPA attributes block + RPA storage | ||
| jnthn | ash_: As in, not objects, but just a FLOATVAL | ||
| ash_ | got ya | ||
| jnthn | sorear: "RPA attributes block"? | 01:15 | |
|
01:18
plobsing joined
|
|||
| ash_ | I wonder if using a ManagedStruct would be beneficial for object storage... you could define the struct to be your two native double's, but i don't know what the access time is like on that, if its more or less expensive than what's going on currently | 01:18 | |
| jnthn | ash_: It'd be along those lines, I gues. | 01:19 | |
| *guess | |||
| Certainly evil stuff to write. :_) | |||
|
01:19
bacek joined
|
|||
| ash_ | plobsing: hey, i got a good ground work for my signature parser working, gist.github.com/5361a2d1bc4e0868eeb4 if you want to see it, but i am a little stumped on how to integrate it with the current pmc | 01:20 | |
| jnthn: i'd only be worried about subclassing it, as long as the subclass behaved properly with its attributes | |||
| jnthn | ash_: In Perl 6, you can only access attributes in the current class. | 01:22 | |
| Which makes things a bit easier. | |||
| Things that want to subclass Perl 6 objects are just going to have to cope with its encapsulation rules. :-) | |||
| ash_ | so class A { has $.a }; class B is A { method foo { $.a } }; will fail? or call a function on A? | 01:23 | |
| jnthn | $.a means you generate a (virtual) accessor method for the (class-private) $! | ||
| er, $!a | |||
| ash_ | got ya | ||
| jnthn | So it will work | ||
| What you can't write is | |||
| ash_ | but $!a won't work | ||
| jnthn | class A { has $.a }; class B is A { method foo { $!a } }; | ||
| ash_ | that makes sense | ||
| jnthn | That should really fail at compile time. | 01:24 | |
| bacek | nice... Building rakudo almost killed my box... | 01:25 | |
|
01:26
tetragon joined
|
|||
| ash_ | could you achieve that by changing the base object your building off of? instead of P6opaque to something else? Like a ManagedStruct (in the Rat case) | 01:26 | |
| jnthn | P6opaque should be able to handle storing native things. | 01:28 | |
| At the moment it's just a subclass of Parrot's Object PMC | |||
| plobsing | ash_: looks like you have something. looks a little complicated (do you really want all of prefix, postfix, and circumfix?), but good on the whole. | 01:30 | |
| might need some minor tweaks before inclusion in parrot (eg: macro args don't meet codetest standards) | 01:31 | ||
| ash_ | I am sure there are ways I can simplifiy it, and currently i don't have keys on structs or C arrays working, you can do c arrays by doing say int a[4] == "iiii" and the keys seem optional for now | ||
| i wanted to get this working before i did either of those two | 01:32 | ||
| plobsing | ash_: I was hoping arrays of structs (or arrays of primitives which is a subset) could simply be "$P0 = 'i'\\n$P0 = 4" | ||
| that way you don't need long strings of repeated characters as zavolaj does now | 01:33 | ||
| ash_ | well, i was planning on doing i[4] so you can do it that way in the signature parser | 01:34 | |
| plobsing | would the signature parser for routines validate that (I don't think it should) | ||
| ash_ | no, i wasn't planning on validating parameters much, if at all | 01:35 | |
| only doing basic things like if you asked for an int, making sure its an int | |||
| plobsing | how do you make sure its an int? | ||
| ash_ | get_integer? | 01:36 | |
| jnthn | I think the current NCI is more coerce-y than constraint-y. | ||
| ash_: Aye, but that's more "make it be" rather than "checking it is". :-) | |||
| plobsing | exactly. and I think it should remain that way | ||
| jnthn | ash_: Not that that's a bad thing. | ||
| plobsing: Agree. | 01:37 | ||
| plobsing | leave the type systems to the HLLs | ||
| ash_ | Okay, well i mean "make it be" as jnthn puts it | ||
| thats fine if it seems to complicated | |||
| plobsing | although I do like the ability to specify arrays for structs | 01:38 | |
| ash_ | "v(ii)" = void (*)(struct { int; int; } ); "v(i[2])" is functionally equivalent but looks different | 01:39 | |
| i'll get the postfix [ ] working soon | 01:40 | ||
| also that doesn't have to be in a struct, you can do "vi[3]" or w/e | |||
| jnthn | Oh, I'd almost expected i[2] to be int* | ||
| e.g. a pointer to an array of int | 01:41 | ||
| How do you write the signature for that? | |||
| ash_ | *i is a pointer to int | ||
| i[2] is a C array; like: int a[2]; | |||
| jnthn | OK | ||
| ash_ | jnthn: gist.github.com/412727 is my current proposal | 01:42 | |
| plobsing | ash_: C arrays are pass-by-ref, so pass by value semantics of "vi[2]" is somewhat confusing | ||
| not that having "vi[2]" as pass-by-ref would be useful when you already have "v*i" | 01:44 | ||
| ash_ | hmmm, your right, i forgot about that :-\\ i'll have to check to make sure they are in a struct, otherwise thats more of a *i | ||
| jnthn | plobsing: Thanks, that's what I was trying to get at. :-) | ||
| tcurtis | ash_: what's the syntax for function pointers? | 01:45 | |
| ash_ | U | ||
| dalek | rrot: r47372 | bacek++ | branches/gc_massacre (103 files): Merge branch 'master' into gc_massacre |
01:47 | |
| plobsing | arg. why do I only remember about TPL now? that could have been a useful reference grammar. | 01:48 | |
| tpl.sourceforge.net/userguide.html | |||
| might have been useful 2 weeks ago | 01:49 | ||
| ash_ | mines highly inspired by perl 5's pack perldoc.perl.org/functions/pack.html | ||
| parts of it are directly copied from pack actually | 01:50 | ||
| tcurtis | Will there be any helper functions for making callbacks from parrot subs to pass into C? | ||
| plobsing | there are already | ||
| so yes | |||
| tcurtis | Additional helper functions, rather. | ||
| plobsing | what's lacking about the current ones? have you even tried them? | 01:51 | |
| ash_ | docs.parrot.org/parrot/latest/html/...l.pod.html has an example with a callback towards the bottom | 01:54 | |
| tcurtis | There are only two possible signatures for callback functions according to said doc. | 01:56 | |
| plobsing | 2 classes of signature. it is somewhat limiting, but without dynamic code generation, you can't really do better than creating thunks | 01:57 | |
| so in the general case, you can't do better | 01:58 | ||
| ash_ | libffi could assist with that, no? | ||
| plobsing | I suppose an analogue of nci_thunk_gen could be created, but that tool doesn't seem to be very popular, so I doubt a callback version would be any bettter | 01:59 | |
| ash_ | plobsing: do you have libffi's documentation downloaded? | ||
| plobsing | ash_: libffi does support making trampolines, but only on certain platforms. And there are platforms and security contexts where it is *impossible* to do. | ||
| so *depending* on libffi is the wrong way to go. Having its nice features where available is good though. | 02:00 | ||
| ash_ | hmm, well, if it doesn't work everything, that makes sense | 02:01 | |
| maybe i'll make a library for it later | |||
| to have other callbacks | |||
| plobsing | I could look into making a hook for NCI callbacks like I did for NCI thunks. But that didn't really get used... | ||
| tcurtis | How does python do it? | 02:02 | |
| plobsing | tcurtis: doc url? | ||
| tcurtis | docs.python.org/library/ctypes.html...-functions | ||
| ash_ | they use ctypes | ||
| err libffi | |||
| libffi is bundled with python's core, so they just rely on it for making that trampoline | 02:03 | ||
| plobsing | and they'll fail hard when libffi's approach fails | 02:04 | |
| ash_ | they probably don't even support platforms libffi doesn't support | ||
| granted libffi's support is pretty good... according to their readme | |||
| github.com/atgreen/libffi/blob/master/README#L52 is an up to date list of supported platforms | 02:05 | ||
| plobsing | yes, but platforms that strictly enforce W^X are more common than you might think. You can get linux or BSD to do that (and some ppl run that way). | 02:07 | |
| (W^X without the ability to toggle bits in regions prevents closures from working) | |||
| ash_ | well, either way, it could be made as a library for systems/configurations that do support it, and having something is better than having nothing as it currently stands | 02:08 | |
| plobsing | yes, so long as we don't take away the partial support that currently exists for everyone | 02:09 | |
| ash_ | brb making dinner & | 02:15 | |
| cotto | msg Khairul It turns out I might not be around tonight. Ping me and we'll see. | 02:32 | |
| purl | Message for khairul stored. | ||
| cotto | hey purl. | 02:33 | |
| sorear | jnthn: 1 object = 2x PMC (Object, and a ResizablePMCArray to hold the slots) | 02:35 | |
| jnthn: Object = header + attributes | |||
| jnthn: ResizablePMCArray = header + attributes + buffer | 02:36 | ||
| dalek | rrot: r47373 | tcurtis++ | branches/gsoc_past_optimization (2 files): Boolean matching based on node type, exact attribute/children values, .ACCEPTS(attr/child), or result of a closure invoked with an attribute/child, implemented and tested. |
02:37 | |
|
02:38
gbacon joined
02:39
ingy joined
02:55
khairul joined
|
|||
| khairul | cotto: ping | 02:56 | |
| bacek | khairul, cotto left work about an hour ago. Should be only pretty soon. | 03:07 | |
| khairul | bacek: no problem, its no rush. | 03:08 | |
| dalek | rrot: r47374 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library/PAST/Pattern.nqp: Remove some debugging output statements I forgot to remove. |
03:10 | |
| bacek | khairul, but if you want to ask some not-very-specific-gcos-question just shout it here. Probably someone can help | ||
|
03:13
TiMBuS joined
|
|||
| cotto | I have a guest | 03:35 | |
| khairul, I'll have to catch you later | |||
| khairul | sure no prob | 03:36 | |
|
03:38
janus joined
03:46
mikehh_ joined
|
|||
| dalek | TT #1147 closed by plobsing++: [PATCH] update nci.pmc for pcc_reapply | 04:46 | |
| TT #1147: trac.parrot.org/parrot/ticket/1147 | |||
|
05:09
eternaleye joined
|
|||
| cotto | still alive? | 05:33 | |
| purl | alive (adj.) Possessing a life. Antonym: programmer. | ||
| cotto | khairul, I seem to be back. | 05:34 | |
| khairul | cotto: see privmsg | 05:39 | |
| cotto | don't mind if I do | ||
|
06:13
mikehh__ joined
06:29
Maddingue joined
06:30
fperrad joined
06:34
fperrad_ joined
|
|||
| mikehh | opbots, names | 07:28 | |
| dalek | rrot: r47375 | mikehh++ | branches/gc_massacre/src/gc/gc_ms2.c: fix/add ASSERT_ARGS |
08:04 | |
| mikehh | bacek: gc_massacre branch codetest passes except for c++ comments in src/gc/gc_tms.c | 08:29 | |
| dalek | rrot: r47376 | mikehh++ | branches/gc_massacre/src/gc/gc_ms2.c: add documentation |
08:37 | |
| rrot: r47377 | mikehh++ | branches/gc_massacre/src/gc/gc_ms.c: add documentation |
|||
|
10:02
fperrad joined
10:05
LoganLK joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "Something like this. MS vs MS2 GC performance." (12 lines) at nopaste.snit.ch/20945 | 10:06 | |
|
10:20
Themeruta joined
10:26
aukjan joined
10:52
khairul joined
11:09
gbacon joined
|
|||
| moritz | what is ms2? | 11:16 | |
| bacek | moritz, simple mark&sweep as described on GCMassacre wiki page | 11:22 | |
|
11:31
whiteknight joined
|
|||
| bacek | whiteknight, aloha | 11:35 | |
| whiteknight | good morning bacek | ||
| bacek | whiteknight, you'll love my latest 3 commits into trunk... | 11:36 | |
| whiteknight, trac.parrot.org/parrot/changeset/47378 | 11:37 | ||
| dalek | rrot: r47378 | bacek++ | trunk/include/parrot/gc_api.h: Use non-zero value for GC trace flags. Fix a GC trace collection bug which is at least 2 year old. |
||
| rrot: r47379 | bacek++ | trunk/src/ops (2 files): Use predefined flag in op sweep instead of wrong magical 0 |
|||
| rrot: r47380 | bacek++ | trunk/include/parrot/gc_api.h: Erm. Fix GC flags again to preserve equality of trace_stack and trace_normal flags. |
|||
|
11:38
fperrad_ joined
|
|||
| whiteknight | nice | 11:41 | |
|
11:48
khairul joined
|
|||
| dalek | kudo: 09314df | (Gerd Pokorra)++ | build/Makefile.in: Explicitly set --name for perl6.1 man page |
12:07 | |
| imitivearc: edb8fc7 | (Stefano Dissegna)++ | (22 files): various bug fixes |
12:09 | ||
| imitivearc: 0d54e92 | (Stefano Dissegna)++ | DIFFERENCES: started documenting differences with official Arc |
|||
| rrot: r47381 | khairul++ | branches/gsoc_instrument (2 files): Added tests for hook insertion and removal. |
12:10 | ||
|
12:36
radu joined
12:38
mikehh_ joined
13:49
JimmyZ joined
14:03
ash_ joined
|
|||
| dalek | nxed: r489 | julian.notfound++ | trunk/examples/ajax.winxed: add fake async mode to example ajax |
14:09 | |
|
14:33
radu joined
14:40
lucian joined
|
|||
| JimmyZ | parrot builds failed on windows? | 14:49 | |
| ignore it | 14:53 | ||
| purl | ignore it is the secret ingredient | ||
|
15:08
tetragon joined
|
|||
| dalek | kudo: 8c85fb4 | moritz++ | src/Perl6/Grammar.pm: fix p5 -> p6 regex error message confusion |
15:15 | |
|
15:29
aukjan joined
15:36
ingy joined
16:07
patspam joined
16:28
joeri joined
16:51
theory joined
|
|||
| dalek | rrot: r47382 | jonathan++ | trunk/compilers/pct/src/PCT/HLLCompiler.pir: [pct] Improve backtrace handling so that we resume warning exceptions and actually exit upon exit exceptions. |
17:05 | |
| moritz | jnthn: does that make warnings non-fatal again? | ||
|
17:13
tcurtis joined
|
|||
| pmichaud | ...apparently the "exit $I0" opcode will set the _type_ of the exception to whatever value is passed in $I0. Bug? | 17:23 | |
| (src/ops/core.ops:826) | 17:24 | ||
| I think we should have an exception type of CONTROL_EXIT, and the exit() opcode uses that. | |||
| it appears several places in the ops confuses "exception type" with "exit status" | 17:25 | ||
| *confuse | |||
| or, we could use CONTROL_ERROR for the exception type | 17:27 | ||
| but using the exit status as the exception type seems Wrong. | |||
| moritz | aye | ||
| cotto | msg khairul You might sync with trunk to see the fix by bacek++ fixes your bug. | 17:32 | |
| purl | Message for khairul stored. | ||
| cotto | Sheesh. I'm embarrassed for us having such a bug for so long. | 17:35 | |
| jnthn | moritz: Yes. | 17:36 | |
|
17:36
cognominal joined
|
|||
| dalek | kudo: 53c3a48 | jonathan++ | build/PARROT_REVISION: Bump to latest Parrot to get improvements to the backtrace handling code; this |
17:40 | |
| kudo: c3e84aa | jonathan++ | src/builtins/control.pir: The default Warning message should not come with a \\n on it already. |
|||
| kudo: 01583bf | jonathan++ | src/Perl6/BacktracePrinter.pm: Make backtrace printer smart enough to recognize warnigns - which it is now |
|||
|
17:43
radu joined
|
|||
| tcurtis | pmichaud: so.. exit 0 throws a "EXCEPTION_BAD_BUFFER_SIZE" exception? | 17:48 | |
| pmichaud | tcurtis: worse, exit 64 throws a CONTROL_LOOP_NEXT exception | 17:49 | |
| 17:46 <pmichaud> rakudo: for 1..4 { say $_; exit 64; } | |||
| 17:46 <p6eval> rakudo 8c85fb: OUTPUTĀ«1ā¤2ā¤3ā¤4ā¤Ā» | |||
|
18:07
sorear joined
18:09
bluescreen joined
|
|||
| dalek | kudo: e67ef33 | moritz++ | t/spectest.data: run exit.t |
18:21 | |
|
18:42
LoganLK joined,
kid51 joined
|
|||
| sorear | kid51: both the Linux and FreeBSD man pages are, for the most part, quotations from www.opengroup.org/onlinepubs/009695399/ | 18:46 | |
| (that's a free copy of POSIX.1) | 18:47 | ||
| kid51 | thanks | ||
| dalek | TT #1067 closed by jkeenan++: t/pmc/objects.t: premature death on Darwin/PPC | 18:53 | |
| TT #1067: trac.parrot.org/parrot/ticket/1067 | |||
| TT #1452 closed by jkeenan++: add method debug to $conf object | |||
| TT #1452: trac.parrot.org/parrot/ticket/1452 | |||
| kid51 | make fulltest PASS Linux/i386 | 19:16 | |
| Coke | man, does partcl-nqp feel slow. | 19:24 | |
| dalek | rrot: r47383 | tcurtis++ | branches/gsoc_past_optimization (2 files): Traverse children when looking for matches. |
19:36 | |
| Coke | hurm. was there a change at some point to NQP that made CONTROL_RETURN not show as CONTROL {} ? | 19:49 | |
| or perhaps that changed what 'return' does in nqp? | 19:53 | ||
| Coke digs through github | 19:54 | ||
| pmichaud | Coke: I'm not aware of any control changes in NQP. | 20:02 | |
|
20:03
Psyche^ joined
|
|||
| pmichaud | I've been thinking of changing nqp's return to not be exception based. Would that be a problem for partcl-nqp? | 20:03 | |
| dalek | kudo: b56b5e6 | jonathan++ | src/metamodel/ClassHOW.pir: Start to fix up .^attributes somewhat. This at least resolves an RT, but we |
20:13 | |
| kudo: 6dd7efa | jonathan++ | src/Perl6/Grammar.pm: Fix a $*MULTINESS leak. |
|||
| kudo: 01ef15a | jonathan++ | (2 files): Attribute should inherit from Any; requires a little bit of re-ordering of the |
|||
| purl | builtins are pure perl | ||
| Coke | pmichaud: at the moment, I have a failing test with [catch]; trying to figure out what's wrong. | 20:22 | |
| pmichaud: the change wouldn't be a problem, no. would probably let me simplify my code | |||
| pmichaud | Coke: good to know, will keep it in mind. | 20:24 | |
| tcurtis | purl, tcurtis? | 20:30 | |
| purl | you are Tyler Curtis <mailto:tyler.l.curtis@gmail.com> | ||
| tcurtis | When did purl start working again? | ||
| Coke | last few days | 20:35 | |
| purl | last few days are on the machine | ||
| mikehh | opbots, names | 20:36 | |
| dalek | kudo: 22dcb5c | jonathan++ | t/spectest.data: Turn on S12-introspection/attributes.t. |
||
|
20:45
eternaleye joined
|
|||
| dalek | kudo: 8befeb2 | jonathan++ | src/core/operators.pm: Implement the non-role case of does (and thus but, which just delegates to |
20:53 | |
| bacek | aloha, humans | 21:04 | |
|
21:04
davidfetter joined
|
|||
| dalek | kudo: 609fd63 | jonathan++ | src/Perl6/Actions.pm: Add a missing .node in term:sym<name>, which happily gets us reporting sub not |
21:05 | |
|
21:11
plobsing joined
|
|||
| cotto | aloha, bacek | 21:17 | |
| bacek | aloha, cotto | ||
| mikehh | hi bacek | 21:26 | |
| bacek | good morning, mikehh | ||
| mikehh | bacek: that's ok for you, but I got about an hour and a half to go | 21:27 | |
| bacek: any way good time zone :-} | 21:28 | ||
| bacek | mikehh, :) | ||
| mikehh | bacek: have you had any thoughts on make corevm/make coretest - which is still failing a bunch of tests (both in trunk and elsewhere) | 21:29 | |
| bacek | mikehh, I can take a look. | 21:30 | |
| mikehh | in trunk 13 files FAIL in one way or another | 21:31 | |
| bacek | I think I can fix them in couple of hours. | 21:32 | |
| mikehh | which pass BTW in make test | ||
| bacek | Just need more coffee... | ||
| davidfetter DCCs over some coffee | 21:33 | ||
| mikehh | bacek: please have a go, I don't think anyone has opened a ticket on it - will do so after you have had a go at it if necessary | 21:34 | |
| bacek | nope. I can just fix it :) | ||
| but nopasted list of failures can help | 21:35 | ||
| mikehh | ok, comming up | 21:36 | |
| nopaste | "mikehh" at 192.168.1.3 pasted "make corevm/make coretest failures at r47381" (48 lines) at nopaste.snit.ch/20967 | 21:39 | |
| mikehh | This is just the Summary | 21:40 | |
| the whole log is 10870 lines | |||
| bacek | mikehh, yeah, thanks. Looks about the same as on my box. | 21:42 | |
| mikehh | bacek: anything I can do to help? | 21:44 | |
| bacek | mikehh, I dunno. | 21:45 | |
| mikehh | bacek: well just let me know | ||
| I'll be around for a bit | |||
| got some other stuff that needs doin', but will check back here every so often | 21:46 | ||
| dalek | rrot: r47384 | bacek++ | trunk/src/pmc/orderedhash.pmc: Use more specific mark_PMC_alive instead of generic PObj version. |
21:47 | |
| rrot: r47385 | bacek++ | trunk/src/pmc/imageio.pmc: Fix DRY principe. |
|||
| rrot: r47386 | bacek++ | trunk/src/dynoplibs/Rules.in: Quiet ops2c for building dynops. |
|||
| rrot: r47387 | pmichaud++ | trunk/compilers/pct/src/PAST/Compiler.pir: [pct]: Convert PAST::Compiler::<@?BLOCK> to be a dynamic lexical. |
|||
| rrot: r47388 | pmichaud++ | trunk/compilers/pct/src/PAST/Compiler.pir: [pct]: Convert $?SUB global into $*SUB dynamic lexical. |
|||
|
22:01
bluescreen joined
|
|||
| dalek | rrot: r47389 | bacek++ | trunk/t/pmc/stringhandle.t: Fix test - remove redundant loadlib io_ops. |
22:05 | |
| rrot: r47390 | bacek++ | trunk/config/gen/config_pm/config_pir.in: Treat absence of OS pmc same as absence of installed config.fpmc |
|||
| rrot: r47391 | bacek++ | trunk/t/op/sprintf.t: Fix test - use FileHandle, _config instead of op sysinfo. |
|||
| rrot: r47392 | bacek++ | trunk (6 files): Move getstd* ops back to core. |
22:21 | ||
| rrot: r47393 | bacek++ | trunk/t/op/string_cs.t: Fix test - remove (now) redundant loadlib io_ops. |
|||
| rrot: r47394 | NotFound++ | trunk/t/pmc/resizableintegerarray.t: test for RIA clone |
22:38 | ||
| rrot: r47395 | tcurtis++ | branches/gsoc_past_optimization (9 files): Refactored so that every attribute and child is a -able object, preparatory to implementing PAST::Pattern::Match result objects. |
|||
| rrot: r47396 | plobsing++ | trunk (5 files): function documentation for compilers/imcc/parser_util.c |
|||
| bacek | mikehh, still around? | 22:44 | |
| mikehh | bacek: yes - getting much better | 22:48 | |
| bacek | mikehh, t/pmc/io.t requires some major refactoring. | 22:49 | |
| Almost all failed tests should be moved into t/pmc/filehandle.t and reimplemented in terms of FileHandle methods. | |||
| e.g. "seek" | |||
| mikehh | bacek: probably - I was never all that happy with that test anyway | 22:51 | |
| bacek: other than t/pmc/io.t (Tests: 45 Failed: 23) I get 1 failure in t/pmc/threads.t - Failed test: 14 | 22:53 | ||
| bacek | working on it | ||
| mikehh | bacek++ | ||
| dalek | rrot: r47397 | bacek++ | trunk/t/pmc/fixedintegerarray.t: Fix test - use exact comparition instead of regex based. PGE isn't available in corevm. |
22:54 | |
| rrot: r47398 | bacek++ | trunk/t/pmc/resizablepmcarray.t: Fix test - use exact comparition instead of regex based. PGE isn't available |
|||
| rrot: r47399 | bacek++ | trunk/t/pmc/eval.t: Fix test - just override temp file without unlinking it first. |
|||
| rrot: r47400 | bacek++ | trunk/t/pmc/io.t: Partially fix test - use FileHandle |
|||
| mikehh | bacek: make test still passes all tests | 22:56 | |
| bacek | I know :) | ||
| pmichaud | PGE isnt' available in corevm... but is the regex library available? | 22:57 | |
| bacek | pmichaud, ? | 22:58 | |
| purl | pmichaud, is there an NQP test suitable for profiling? | ||
| bacek | purl, forget pmichaud | ||
| purl | bacek: I forgot pmichaud | ||
| bacek | stupid girl... | ||
| pmichaud | 22:55 <dalek> parrot: Fix test - use exact comparition instead of regex based. PGE isn't available | ||
| even if PGE isn't available, perhaps the Regex library is? | |||
| I would normally expect it to be available. :) | 22:59 | ||
| bacek | pmichaud, erm. Which regex library? | ||
| pmichaud | load_bytecode 'Regex.pbc' | ||
| the one that comes from nqp-rx | |||
| bacek | nope. | ||
| nqp-rx isn't part of corevm either | |||
| pmichaud | okeydokey. | ||
| jnthn | purl: /quit is something you should try more often | 23:00 | |
| purl | ...but /quit is <action> quit... | ||
| bacek | mikehh, ok. I've put DYNPMCs into corevm target. Not particularly happy with it, but I can't figure out way of skip this test in coretest... | ||
| jnthn | .oO( no, this would be very naughty... ) |
||
| pmichaud | jnthn: I have pasm constants in PAST::Val now :-) | 23:02 | |
| jnthn | pmichaud++ | ||
| That'll make my commit from earlier a bit neater. :-) | |||
| pmichaud | fwiw, the reason I'm having to clean up the pasm constants is because I can't add a new exception type | ||
| until we can do the symbolic constants | |||
| mikehh | bacek: we could move it to the library tests | ||
| pmichaud | otherwise nqp-rx sources fail | ||
| jnthn | pmichaud: Aww! | ||
| pmichaud: Thought it was curious timing. :-) | 23:03 | ||
| mikehh | bacek: maybe split in two - the parts thaty pass make corevm/make coretest and move the rest to a new test which is not run as part of coretest | 23:04 | |
| bacek | mikehh, it will work. Problem is "ParrotInterp" is part of corevm. And should be fully tested in coretest. (At least it's my expectations) | 23:05 | |
| jnthn | pmichaud: Which route did you take in the end? | 23:06 | |
| pmichaud | jnthn: ? | ||
| jnthn | pmichaud: Which of the various syntaxes? | 23:07 | |
| pmichaud | jnthn: PAST::Val.new( :value<CONTROL_NEXT>, :returns<!exception_types>) # as a PAST node | ||
| in nqp, I'm thinking it'll be pasm::exception_types::CONTROL_NEXT | |||
| jnthn | OK | ||
| :returns... | |||
| Hmm. OK. | |||
| pmichaud | we'll generalize to a nicer nqp:: form eventually | ||
| yes, I didn't think :returns was correct either, but in looking at the PAST::Compiler code it seems about right. | 23:08 | ||
| each constant is really like an enumeration type | |||
| er, an element of an enumeration type | |||
| jnthn | Yeah, I can kinda see it | ||
| I guess the ! prevents collisions in general. | |||
| pmichaud | right. | ||
| also says "something special is going on here" :-) | |||
| jnthn | Yeah | 23:09 | |
| pmichaud | Someday we'll have a cleaner mechanism, but this can be supported for a while w/o too much difficulty. | ||
| jnthn | Though I was expecting we'd start throwing in a bunch more :returns one day in some type analysis phase. | ||
| pmichaud | we can still do that. This only affects PAST::Val nodes. | ||
| jnthn | That's not really going to conflict with this though. | ||
| pmichaud | right. | ||
| jnthn | Yeah, I think it's OK. It just wasn't what I expected at first. :-) | ||
| pmichaud | well, me either :) | ||
| dalek | rrot: r47401 | plobsing++ | trunk (2 files): C function docs for compilers/imcc/symreg.c |
23:11 | |
| rrot: r47402 | bacek++ | trunk/config/gen/makefiles/root.in: Temporary hack to build dynpmcs in corevm. libraries. |
|||
| purl | libraries are not usually GPL'd | ||
| rrot: r47403 | plobsing++ | trunk (2 files): C function docs for compilers/imcc/pbc.c |
|||
| bacek | purl, forget libraries | 23:17 | |
| purl | bacek: I forgot libraries | ||
| bacek | ok. | 23:26 | |
| that's enough for today's test fighting. | |||
| mikehh, what about moving whole t/pmc/io.t into t/dynops/io2.t | 23:27 | ||
| ? | |||
| dalek | rrot: r47404 | bacek++ | trunk/t/pmc (2 files): Remove few redundant tests |
23:28 | |
| rrot: r47405 | bacek++ | trunk/t/pmc (2 files): Move filehandle test into t/pmc/filehandle.t |
|||
| rrot: r47406 | bacek++ | trunk/t/pmc/io.t: Remove redundant test. |
|||
| rrot: r47407 | bacek++ | trunk/t/pmc (2 files): Move filehandle test into t/pmc/filehadle.t |
|||
| mikehh | bacek: I have no objection | 23:41 | |
| pmichaud | pmichaud@orange:~/parrot/trunk/install/bin$ ./pbc_to_exe | 23:42 | |
| Can't read '/usr/local/lib/parrot/2.4.0-devel/include/config.fpmc' : No such file or directory | |||
| :-( | |||
| ...why is pbc_to_exe looking in /usr/local/lib in the first place?! | |||
| jnthn | pmichaud: Not a weird conflict with an installed Parrot by any chance? :-S | 23:44 | |
| pmichaud | well, this *is* an installed Parrot, yes. | ||
| jnthn | Ah | ||
| pmichaud | but no, I don't have a parrot installed in /usr/local | ||
| afaik | |||
| jnthn | Then, huh. | ||
| pmichaud | this is a locally installed parrot | ||
| bacek | pmichaud, may be my fault. | ||
| pmichaud | bacek: shall I file a ticket for it? | ||
| it's causing nqp-rx to not build from an installed parrot | 23:45 | ||
| bacek | pmichaud, not yet. Looking | ||
| pmichaud | (I presume it would work if the parrot was installed to /usr/local/lib.... but | ||
|
23:46
kid51 joined
|
|||
| sorear | pmichaud: well, it's superior to load_library__sc, which looks in . first | 23:48 | |
| pmichaud | sorear: I'm thinking it should know where parrot is installed and look there. | 23:49 | |
| bacek | pmichaud, problem with config.pir | 23:52 | |
| pmichaud | bacek: eta to fix? | 23:56 | |
| bacek | few minutes - one hour... | ||
| pmichaud | okay. I'm kinda blocked until that's fixed, or I can see about replaying my local commits to an earlier commit of parrot and working from there. | 23:57 | |
| afk, dinner here. | |||