|
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 7 June 2010. |
|||
| tcurtis | How have you been? | 00:00 | |
| whiteknight | chromatic is neither good nor bad. he is precisely how he intends to be | 00:01 | |
| darbelo | What if he intends to be bad? | ||
| chromatic | I'm chaotic awesome. | ||
| tcurtis wishes he had known that was an option. | 00:02 | ||
| chromatic | Don't worry about it. Rerolling is hard. | 00:03 | |
|
00:10
GeJ joined
|
|||
| dalek | rrot: r47440 | darbelo++ | branches/gsoc_nfg/src/string (2 files): Clone the grapheme table when cloning the string. |
00:11 | |
| rrot: r47441 | darbelo++ | branches/gsoc_nfg/src/string (2 files): Move a TODO to the place where the fix would go. |
|||
| rrot: r47442 | darbelo++ | branches/gsoc_nfg/src (3 files): Destroy the grapheme table when releasing the string header for collection. |
|||
| rrot: r47443 | darbelo++ | branches/gsoc_nfg/src/string/grapheme.c: Whitespace police. |
|||
| purl | ALL TAB STOPS AT 8 COLUMNS. LINE UP ENCLOSING BRACES. EVERY COMMA HAS A SPACE AFTER IT. AND THIS MEANS *YOU*, BOY! | ||
| ash_ | was the 'restrict' keyword added in c99? | ||
| sorear | yes | ||
| tcurtis | Do you know if a video and/or transcript of your talk at OSBridge will be posted somewhere? It sounds interesting and might finally motivate me to actually try coding something beyond "Hello, world" in Perl 5. Also, is there any time in the next few days you have free for us to meet and discuss how my project has gone so far? | 00:12 | |
| chromatic | There's audio, but if you read modernperlbooks.com and skim the book in progress on GitHub, you'll know most of it already. | 00:13 | |
| I can talk some tomorrow before or after #ps too. | 00:14 | ||
| GeJ | Good morning again. | ||
| darbelo | Good tomorrow morning, GeJ. | ||
| ash_ | what time is #ps? | 00:15 | |
| cotto_work | parrotsketch? | ||
| purl | parrotsketch is a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch | ||
| ash_ | is utc the same thing as gmt? I never understand time zones... | 00:18 | |
| darbelo | ash_: Yeah, except when it isnt. | 00:20 | |
| ash_ | sweet, now i get to be more confused | ||
| :p | 00:21 | ||
| darbelo | GMT can move in the summer. UTC can't. | ||
| most of the time UTC == GMT. UTC is the one you want. | |||
| cotto_work | date --utc will tell you what utc time it is | ||
| Tue Jun 8 00:21:59 UTC 2010 | 00:22 | ||
| darbelo | ... Okay, I need to adjust my clock. | 00:23 | |
| Tue Jun 8 00:22:45 UTC 2010 | |||
| cotto_work | looks only a little inaccurate | ||
| darbelo | Amusingly, my local time shows fine. So myt tz must be wrong too. | 00:24 | |
| cotto_work | I'm not seeing the problem. utc should be the same everywhere. That's the point. | 00:25 | |
| ash_ | during this last semester i had to setup a server for a sys admin class and there was some problem with the hardware, it wouldn't keep the date settings between boots, so every time i booted it said half the files were last modified to far in the future since it reset the date to 1904 | ||
|
00:26
tcurtis joined
|
|||
| darbelo | But how could such a sane default as 1904 ever go wrong? | 00:27 | |
| ash_ | well it was a ppc from 2004, so... i see the connection, sorta | 00:28 | |
| darbelo | When in doubt, travel back in time 100 years. | 00:29 | |
| tcurtis | chromatic: Is it okay if I tell you whether it would be better for me to talk before or after #ps later tonight? I may be away from my computer for either most of the morning and afternoon prior to #ps or for much of the evening following it, and I won't know until a few hours from now which will be the case. | 00:30 | |
| ash_ | because there were totally computers in 1904 | ||
| i mean who else was managing when the light bulbs were on? | |||
| chromatic | That's fine, tcurtis. | 00:33 | |
| sorear | ash_: if you upgrade it to OSX, it will jump to 1970 | 00:36 | |
| ash_ | OS X's date doesn't take --utc btw | 00:38 | |
| darbelo | try -u | ||
| ash_ | ah that did it | ||
| darbelo | It's probably a BSD derivative, insteda of the GNU one. | 00:39 | |
| ash_ | was reading the man pages for it, hadn't found -u yet | ||
| dalek | rrot: r47444 | darbelo++ | branches/gsoc_nfg/src (2 files): Fix non-icu builds. Again. |
00:43 | |
|
01:00
abqar joined
01:12
jsut joined
|
|||
| ash_ | so... the root.in makefile, can you check if something is not defined? | 01:16 | |
| i see #IF() used, #UNLESS() is the opposite right? | |||
|
01:23
jsut_ joined
|
|||
| kid51 | ash_: yes, see config/gen/makefiles/root.in | 01:28 | |
| ash_ | i am looking at it now, thanks kid51 | 01:29 | |
|
01:57
TiMBuS joined,
plobsing joined
02:29
gbacon joined
02:31
theory joined
02:45
s1n joined
02:53
s1n joined
02:55
s1n joined
03:00
khairul joined
03:02
s1n joined
03:07
Andy joined
|
|||
| dalek | rrot: r47445 | khairul++ | branches/gsoc_instrument (4 files): Made codetest mostly happy, exposed data attribute of task pmc. |
03:13 | |
| cotto | Do we have a generic linked list implementation somewhere in Parrot? It seems that the structure gets some use. | 03:17 | |
| dalek | kudo: 0290298 | (Solomon Foster)++ | src/core/Cool-num.pm: Clean up the Cool versions of the standard Numeric and Real methods. |
03:18 | |
| kudo: 34c1ba4 | (Solomon Foster)++ | t/spectest.data: Turn on new S32-num/cool-num.t test file. |
|||
| chromatic | Not to my knowledge. | ||
| khairul | hi cotto | 03:19 | |
| cotto | hi khairul | 03:20 | |
| khairul | wanna have that meeting now? | 03:21 | |
| cotto | wfm | ||
| dukeleto | 'ello | 03:40 | |
| bacek_at_work | cotto, src/gc/list.{h,c} in gc_massacre branch | 03:41 | |
| cotto | but that won't be merged for a while, will it? | ||
|
03:42
LoganLK joined
|
|||
| dukeleto | cotto: a linked list structure would be nice | 03:42 | |
| chromatic | bacek_at_work, does that branch need profiling and tuning? | 03:43 | |
| cotto | bacek_at_work, can you move the code into a more generic place so it can be used once the branch is merged? | 03:44 | |
|
03:45
janus joined
|
|||
| cotto | also, what's the eta on the merge (if it's foreseeable)? | 03:45 | |
| nm. bacek_at_work, do you mind if I make the linked list code more generic? | 03:49 | ||
| bacek_at_work | chromatic, a lot. Especially "gc triggering" situation. | 03:50 | |
| cotto, go for it. | 03:51 | ||
| dalek | rrot: r47446 | plobsing++ | trunk/t (2 files): avoid dynops in one io test and move another to a dynops test |
04:02 | |
| tcurtis | chromatic: Talking before #ps would be better for me. | 04:13 | |
| dalek | rrot: r47447 | plobsing++ | trunk/t (2 files): avoid dynop use in 1 io test, move another to dynop tests. |
04:18 | |
| cotto | stdout? nobody ever writes to that. | 04:23 | |
|
04:35
integral joined
|
|||
| dalek | rrot: r47448 | plobsing++ | trunk/t/pmc/io.t: fix a few more io coretests, converting PASM to PIR at the same time |
04:36 | |
|
04:51
tcurtis_ joined
05:13
eternaleye joined
|
|||
| cotto | bacek_at_work, howcome LIST_APPEND and LIST_REMOVE are macros? Is there really that much of a speed improvement? | 05:21 | |
| dalek | rrot: r47449 | plobsing++ | trunk/t (2 files): move io tests away from dynops and PASM towards methods and PIR |
05:26 | |
| bacek_at_work | cotto, they are in hot path in GC | 05:32 | |
| poor-man templates... | |||
| cotto | wfm then | 05:34 | |
| dalek | rrot: r47450 | tcurtis++ | branches/gsoc_past_optimization (2 files): Refactor the way matching works and hopefully implement capturing attributes and children of the matched nodes(this part isn't yet tested). |
05:43 | |
|
05:45
jan joined
06:11
uniejo joined
|
|||
| dalek | rrot: r47451 | plobsing++ | trunk (2 files): more io coretest dynop => method conversion |
06:16 | |
| rrot: r47452 | plobsing++ | trunk/t (2 files): move stat test to dynop tests and avoid getstderr dynop in another test |
06:32 | ||
| bacek_at_work | plobsing, ping. | 06:35 | |
| plobsing, I did move getstd* ops back to core in r47392 (temporary) | 06:36 | ||
| plobsing | bacek_at_work: hmmm... that's news to me | 06:37 | |
| probably better off this way anyways | 06:38 | ||
| bacek_at_work | plobsing, it was quicker than implementing methods on FileHandle/Interpeter | 06:39 | |
| plobsing | what's wrong with stdhandle? | 06:40 | |
|
06:42
aukjan joined
|
|||
| bacek_at_work | plobsing, nothing actually. | 06:45 | |
| plobsing | so there wouldn't be objections if I moved them back to dynops after converting all core instances to method calls? | 06:47 | |
| (not that that is particularily high in my priorities) | 06:48 | ||
| chromatic | Seems like busy work to me. | 06:49 | |
| plobsing | which is why its at the bottom of my list | ||
|
06:53
aukjan joined
|
|||
| bacek_at_work | plobsing, we still need reliable way to get stderr/stdlog handled. | 06:53 | |
| handlers | |||
| purl | handlers are neato | ||
| plobsing | fair enough. if this works, it's not worth arguing over. | 06:54 | |
| cotto | testing gc_massacre makes my lappy sad | 07:20 | |
| dalek | rrot: r47453 | cotto++ | branches/gc_massacre (5 files): [list] move linked list code out of gc (function renaming still to come) |
07:22 | |
|
07:25
jsut joined
|
|||
| chromatic | It's difficult to create a local branch tracking the gc_massacre branch when you always spell it gcc_massacre. | 07:30 | |
| Apparently I secretly root for clang. | |||
| cotto | having 'make' eat my ram and make my computer nearly unusable for a minute is really good training for using corevm. | 07:33 | |
| corevm++ | |||
| also, sed++ for doing most of my editing for me | 07:34 | ||
| dalek | rrot: r47454 | cotto++ | branches/gc_massacre (5 files): [list] function renaming to make the list code look more separate from gc |
07:38 | |
| chromatic | You're not kidding about eating RAM. | 07:40 | |
| cotto | The code needs love and tries to fill the void by eating memory. | 07:44 | |
| chromatic | Just like me and pie. | ||
| Part of the slowdown on gc_massacre (8.91% of runtime) is gc_ms2_free_fixed_size_storage() and gc_ms2_free_pmc_attributes() eventually calling free(). | 07:48 | ||
| 25% of the runtime is the use of the corresponding malloc()s. | |||
| If you want a 33% speedup, it's pool time. | 07:49 | ||
| bacek_at_work, ping | |||
| cotto | headerizer++ | ||
| moritz | I thought bacek_at_work wanted to remove the pools? | 07:51 | |
| chromatic | Removing the pools is fine, as long as we don't replace them with the system malloc/free, which appears to manage free lists with some sort of cloud-based serializationn. | 07:52 | |
| As in SMOKE SIGNALS | |||
| moritz | with what else could they be replaced? a custom malloc? | ||
| chromatic | Those are the two options, a custom malloc or pools. | 07:53 | |
| (and a custom malloc may indeed use pools anyway) | |||
| The good news is that we can get faster than trunk by ~8-10% if we use a better strategy there. | 07:54 | ||
| dalek | rrot: r47455 | cotto++ | branches/gc_massacre (2 files): fix and rerun headerizer |
||
| rrot: r47456 | chromatic++ | branches/gc_massacre/config/gen/makefiles/root.in: [config] Added root Makefile deps for src/list.c. |
|||
| rrot: r47457 | cotto++ | branches/gc_massacre (2 files): [list] change int return type to INTVAL, add PARROT_EXPORT, reheaderize |
07:55 | ||
| moritz | chromatic: so how are pools managed in trunk, if not by a malloc-like routine? | ||
| chromatic | It's basically a malloc-like routine. | 07:56 | |
| You should have heard me trying to answer the question "Does Parrot use the stack?" in a BOF last week. | |||
| moritz | "yes, but not like you think it does"? | ||
| chromatic | I'm trying to figure out how much I can lie to you to answer your question honestly. | ||
| moritz | let me rephrase my question | 07:57 | |
| in trunk, we have pools managed by a malloc-like routine | |||
| in the branch, you want pools managed by a malloc-like routine | 07:58 | ||
| what's the big difference? "just" the internal management of those pools? | |||
| chromatic | Yeah. | ||
| From the point of view of using these routines, the interface is "I want some free memory of size n" and "I'm done with this memory, so recycle it." | 07:59 | ||
| The GC could malloc a pool of m items of size n, or it could call malloc() for each item. | 08:00 | ||
| moritz | or it could re-use an existing pool, if applicable | ||
| chromatic | Exactly. | ||
| moritz | \\o/ I'm just as dumb as I look, not more :-) | 08:01 | |
| bacek | pong | 08:02 | |
| chromatic | I profiled the slowness of gc_massacre. | 08:03 | |
| bacek | chromatic, there is todo list on GCMassacre wiki. PMC_Allocator is first priority. | ||
| chromatic | Okay, good. | ||
| There's little reason to profile much until after that point. | 08:04 | ||
| bacek | actually after StringPool | ||
| Which is second priority :) | 08:05 | ||
| chromatic | The existing hotspots are too hot to get good information on anything else. | 08:06 | |
| bacek | strings are currently using same malloc/free. | 08:07 | |
| chromatic | I only used the fib.pir benchmark; that's all integers. | 08:08 | |
| bacek | I did test it on examples/benchmarks/stress_strings.t | 08:10 | |
| And added similar stress_integers | |||
| dalek | rrot: r47458 | mikehh++ | trunk/t/dynoplibs/io.t: fix codetest failure - trailing whitespace |
08:11 | |
| mikehh | make corevm/coretest has 1/4 failure(s) remaining - t/pmc/io.t - Failed tests: 25, 27, 29, 31 | 08:16 | |
| all subtests fail with - error:imcc:loadlib directive could not find library `io_ops' | 08:17 | ||
|
08:18
preflex joined
|
|||
| mikehh | make test PASS | 08:20 | |
| make corevm/make coretest - t/pmc/io.t - Failed tests: 25, 27, 29, 31 | 08:52 | ||
| t/compilers/imcc/syn/clash.t - Failed test: 13 in testr see: nopaste.snit.ch/20983 | |||
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34251), fulltest) at r47458 - Ubuntu 10.04 amd64 (g++) | |||
| t/op/annotate-old.t - TODO passed: 1 in testf | |||
|
09:07
dalek joined
09:43
dngor joined
10:44
clinton joined
10:59
Myhrlin_ joined
11:00
whiteknight joined
11:21
cognominal joined
|
|||
| mikehh | make corevm/make coretest - t/pmc/io.t - Failed tests: 25, 27, 29, 31 | 11:36 | |
| t/compilers/imcc/syn/clash.t - Failed test: 13 in testr see: nopaste.snit.ch/20983 | |||
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34254), fulltest) at r47458 - Ubuntu 10.04 amd64 (g++ with --optimize) | |||
| t/op/annotate-old.t - TODO passed: 1 in testf | |||
|
11:43
ruoso joined
|
|||
| bacek | *incoming* | 11:47 | |
| dalek | rrot: r47459 | bacek++ | branches/gc_massacre/src/gc/pool_allocator.c: Comment-out assert in PoolAllocator.free. It's way too heavy even for debug builds |
11:51 | |
| rrot: r47460 | bacek++ | branches/gc_massacre (3 files): Add skeleton for Fixed_Allocator. |
|||
| rrot: r47461 | bacek++ | branches/gc_massacre/src/gc (2 files): Implement Fixed_Allocator (not tested) |
|||
| rrot: r47462 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Use Fixed_Allocator for allocating fixed size storage. |
|||
| rrot: r47463 | bacek++ | branches/gc_massacre/src/gc/pool_allocator.c: Fully initialize Pool_Allocator |
|||
| rrot: r47464 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Use Fixed_Allocator for PMC Attributes. |
|||
| mikehh | rakudo (e3153ad) builds on parrot r47458 - make test PASS, spectest_smolder -> #34257 (pugs r31179) PASS - Ubuntu 10.04 amd64 (g++ with --optimize) | 12:04 | |
| 19 TODO PASSes in 4 files | |||
| moritz | does the parrot NCI support any form of callbacks? | 12:12 | |
| bacek | moritz, unlikely | 12:18 | |
| moritz | will the future NCI support it? | ||
| it would be extremely useful for wrapping GUI toolkits, for example | |||
| arnsholt | I'd go so far as to say callbacks are necessary for GUI toolkits | 12:19 | |
| bacek | moritz, no idea... It's one dark parrot's sides for me | 12:21 | |
| moritz | as opposed to the bright GC? :-) | 12:22 | |
| bacek | purl, (2332524536 - 2837195584) / 2332524536 * 100 | ||
| purl | -21.6362589207936 | ||
| bacek | moritz, no... GC is even darker | ||
| That's why I'm implementing new GC with blackjack and hookers! :) | 12:23 | ||
| dalek | rrot: r47465 | mikehh++ | branches/gc_massacre/MANIFEST: re-generate MANIFEST |
12:24 | |
| rrot: r47466 | bacek++ | branches/gc_massacre (56 files): Merge branch 'master' into gc_massacre |
|||
| rrot: r47467 | mikehh++ | branches/gc_massacre/src/gc (2 files): add svn properties |
|||
| bacek | msg chromatic It's still slow. We can merge fixed_allocator.{c,h} and pool_allocator.{c,h} and use common static functions to avoid function calls. | 12:30 | |
| purl | Message for chromatic stored. | ||
| bacek | msg chromatic ... and probably swap their names... | 12:32 | |
| purl | Message for chromatic stored. | ||
| mikehh | bacek: will it mees you up if I add ASSERT_ARGS to src/gc/fixed_allocator.c | 12:36 | |
| mess | |||
| bacek | mikehh, go ahead | ||
| mikehh | bacek: gc_massacre branch codetest is passing except for c++ comments :-} | 12:44 | |
| bacek | :) | ||
| dalek | rrot: r47468 | mikehh++ | branches/gc_massacre/src/gc/fixed_allocator.c: add ASSERT_ARGS and fix line length |
12:56 | |
|
13:01
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:03 | |
| Coke | morning. | 13:06 | |
| whiteknight | hello Coke, how are you today? | 13:07 | |
| dalek | nxed: r490 | julian.notfound++ | trunk/examples/ajax.winxed: improve example ajax |
13:10 | |
|
13:10
cognominal joined
13:11
atrodo joined
13:41
JimmyZ joined
13:49
gbacon joined,
whiteknight joined
13:54
lucian joined
|
|||
| Coke | whiteknight: not bad, althoguh I am frustrated with this work project. it's interesting, but the research is taking too long. =) | 14:07 | |
| you? | |||
| purl | you is a wave | ||
|
14:07
plobsing joined
|
|||
| dalek | rrot: r47469 | bacek++ | branches/gc_massacre (8 files): Merge pool_allocator and fixed_allocator files |
14:19 | |
| rrot: r47470 | bacek++ | branches/gc_massacre/src/gc (4 files): Rename PoolAllocator functions and made them consistent in accepting interp |
|||
| rrot: r47471 | bacek++ | branches/gc_massacre/src/gc (2 files): Split PoolAllocator methods into public and static part |
|||
| rrot: r47472 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c: Use static pool functions in Fixed_Allocator |
|||
| rrot: r47473 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c: Add ASSERT_ARGS |
|||
|
14:35
bubaflub joined
15:36
fperrad joined
15:45
contingencyplan joined
15:46
patspam joined
15:58
theory joined
|
|||
| Coke wants an irc proxy. | 16:21 | ||
| (so I can stay connected from a single server, but just connect to that server to play back everything since the last time I connected with whatever my local client is. | |||
|
16:22
gbacon joined
16:23
Andy joined
|
|||
| whiteknight | Coke, that would be nice | 16:26 | |
| tewk | Coke: search.cpan.org/~hinrik/App-Bondage-0.4.4/ | ||
| dalek | kudo: 7821618 | (Solomon Foster)++ | src/core/Real.pm: [t/spec] Add "our" to infix:<mod> definition so [mod] works. |
16:32 | |
| Coke | tewk: nifty. danke. | 16:33 | |
| whiteknight | Oh those crafty perl people. | ||
| Coke | tewk: I also want parrot_debugger to work. | 16:35 | |
| Andy | This gives me a kick in the ass for the restrict keyword: lbrandy.com/blog/2010/06/you-cant-b...d-compile/ | 16:37 | |
|
16:42
tcurtis joined
|
|||
| Andy | In Trac, if I'm logged in, does it somehow indicate that? | 16:43 | |
| cotto | top of the page "logged in as x" | 16:44 | |
| Andy | ok, so I'm not crazy | ||
| it's not logging me in | |||
| Coke | where is HLL::Compiler defined. nqp-rx? | 16:46 | |
| moritz | Coke: yes | ||
| src/HLL/Compiler.pm | |||
| Coke | apparently that .eval() is now eating my CONTROL_RETURN. | 16:48 | |
| and that is PCT::HLLCompiler's .compile... | |||
| s/is/uses/ | |||
| Coke gets dizzy trying to find things under the covers. | 16:49 | ||
| Andy | Is anyone else able to log in to Trac? | ||
| Coke | Andy: yes. | 16:51 | |
| Andy | i cleared all my cookies, reset PW. | ||
| Still no happy. | |||
| particle | flush browser cache? | ||
| try RT | 16:52 | ||
| Coke | ISTR andy had problems ages ago getting started on trac. | ||
| wonder if this is the same or related bug. | 16:53 | ||
| Andy | yeah, me too | ||
| Coke | (CONTROL_RETURN) it would be most helpful to me if someone could figure out why Partcl::Compiler.eval is eating CONTROL_RETURN exceptions. (that eval isa HLL::Compiler, which in turn seems to use PCT::HLLCompiler, and then it gets into stages, and I get a little lost. | 16:55 | |
| dalek | nxed: r491 | julian.notfound++ | trunk/winxedst (2 files): predef constants true and false |
||
| Andy | No longer going thru a proxy, now it's happy. | 16:56 | |
| Coke | Andy: I'm using a proxy here (squid), no worries. | ||
| proxy cache, perhaps? | 16:57 | ||
| Andy | right | 16:58 | |
| could be | |||
| so my cache seems to be overly aggressive. | 16:59 | ||
| dalek | nxed: r492 | julian.notfound++ | trunk/examples/ajax.winxed: method HEAD and command line options in example ajax |
17:00 | |
| cotto_work | GOOD MORNING | 17:01 | |
| purl | For you maybe. | ||
| Andy | well, bah, my squid proxy at home is messing it up, but the work proxy does it right. | 17:06 | |
| cotto_work | nice to see that the build in gc_massacre works now | 17:07 | |
| bacek++ | |||
| Coke sighs. I'm going to have to do another bisect to figure out when partcl-nqp died. =| | 17:11 | ||
|
17:15
szabgabx joined
17:16
dmalcolm joined
17:21
ambs joined
17:22
ambs joined
17:23
estrabd joined
|
|||
| Coke | ambs: ho | 17:25 | |
| ambs | Coke: hellows. | ||
|
17:26
estrabd joined
17:50
tcurtis_ joined
17:52
estrabd joined
17:54
chromatic joined
|
|||
| dalek | tracwiki: v62 | cotto++ | ParrotQuotes | 17:54 | |
| tracwiki: it's a vicious cycle | |||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff | |||
| chromatic | gc_massacre is just a touch faster than my most recent trunk measurement now. | ||
|
17:54
estrabd joined
17:56
gaz joined
|
|||
| dalek | kudo: acecb97 | moritz++ | src/core/Match.pm: remove some clutter from Match.perl output |
17:59 | |
| whiteknight | chromatic: awesome. Any faster is welcome faster | 18:02 | |
| I haven't spoken to bacek today, though I have seen some of his commits. What's the status of that branch? | 18:03 | ||
| chromatic | corevm builds for me | 18:04 | |
| cotto_work | coretest still gets stuck on t/op/string_mem.t | ||
| the full build seems to work nicely though | |||
| chromatic | That test hangs for me too. | 18:06 | |
| make: *** [src/dynoplibs/math_ops.c] Error 1 | |||
| too few positional arguments: 1 passed, 2 (or more) expected | |||
| current instr.: 'parrot;Ops;Trans;C;getop' pc 25824 (compilers/opsc/gen/Ops/Trans.pir:397) | |||
| cotto_work | Hmmm. nothing like that for me | 18:08 | |
|
18:08
davidfetter joined
|
|||
| cotto_work | it does look like runtime/parrot/library/distutils.pbc needs to depend on io_ops though | 18:10 | |
| tcurtis got his GSoC payment card and welcome package today! | 18:17 | ||
| bubaflub | tcurtis: nice! i haven't been home to check my mail yet. | ||
| cotto_work | I got my not a GSoC payment card today. It comes with not $500. | ||
| bubaflub | cotto_work: can't forget your not google shwag | 18:18 | |
|
18:26
mikehh joined
|
|||
| Coke | pmichaud: can I barter for some of your time? =-) | 18:28 | |
| pmichaud | Coke: very possibly, yes. | ||
| mikehh | gc_massacre branch - make corevm/make coretest (parallel running) hangs on t/op/string_mem.t, make world ok, make test - grabs all my memory - towards the end | 18:30 | |
| Coke | Trying to figure out why, in partcl-nqp, puts [catch {return}] is printing 0, not 2 (the one failing test). looks like return is throwing a CONTROL_RETURN, but the eval() in catch is eating it. | ||
| cotto_work | Coke, can you ping that osuosl ticket about a trac/git test site for parrot.org? | 18:31 | |
| Coke | (so the catch sees that as a normal parrot .return() instead.) | ||
| pmichaud: let me know if there's something I can help you with. =-) | 18:32 | ||
| pmichaud | Coke: will do. I'm fairly booked today, but tomorrow is very likely (and I'll reserve some time for it) | 18:33 | |
| Coke | k. I may figure it out by then, but so far am stymied. | 18:34 | |
| Tene | Coke, I vaguely remember telling you that I'd clean up a lot of the exceptions stuff in PCT, including that. Did I actually say that, that you recall, or am I misremembering? | 18:35 | |
| chromatic | You said that. | 18:38 | |
| Coke | I vaguely remember you working on hll stuff. I don't remember anything recent. | ||
| I don't mind if YOU fix my problem. =-) | |||
| I think I'm just at the point where I need a really good step through debugger or an svn bisect. | 18:39 | ||
| Tene | Okay. Sorry for ignoring this for so long. | ||
| Coke | cotto_work: pinged it. | 18:40 | |
| Tene: I only found this bug this week. | 18:41 | ||
| Tene | Coke: Well, *something* has been mistreating return exceptions for a long time, and PCT doesn't expose a way to make it not broken. | ||
| cotto_work | coke, thanks | 18:45 | |
| Coke | Tene: any help you can provide appreciated. | 18:48 | |
|
18:50
Andy_ joined
|
|||
| dukeleto | 'ello | 18:53 | |
| cotto_work | 'hi | 18:54 | |
| #ps in 93 | 18:57 | ||
| chromatic | Want another 5% performance improvement from gc_massacre? Allocate the pool structs from a fixed-size pool themselves. | 19:02 | |
| atrodo | Anyone know how much work and thought has gone into the design of the embedding interface? | 19:13 | |
| I'm trying to decide if the problems I'm having are because of me | 19:14 | ||
| PerlJam | atrodo: about -->this<-- much. | ||
| atrodo | PerlJam> So good, sounds like it's not all me | 19:19 | |
| chromatic | There are likely bugs and certainly infelicities. | 19:20 | |
| whiteknight | atrodo: design of the embedding interface is driven by users, and so far we have very very few users | ||
| atrodo: if you want something, you can ask or you can submit a patch | |||
| chromatic | There's a special case of Warnock's dilemma when discussing GC and performance improvements. | 19:21 | |
| GeJ | Bonjour tout le monde. | ||
| purl | salut tout seul | ||
| whiteknight | chromatic: no warnock, I just haven't read the gc_massacre code enough to know what you mean | 19:22 | |
| NotFound | atrodo: Problems when trying to improve the design, or when trying to use it? | 19:23 | |
| atrodo | whiteknight> That's what I was guessing, but wasn't real sure | ||
| NotFound> Using it. It hasn't been easy for me to use, and I've actually found the easiest way to work with it was to just pass it PIR I create on the fly | 19:25 | ||
| whiteknight | Chandon: ping | 19:26 | |
| tcurtis | chromatic: Are you busy at the moment? | 19:28 | |
| NotFound | atrodo: we need use cases to provide, or maybe just document, ways of doing the required things. If you can provide some, will be a great help. | ||
| Tene | chromatic: what's special re Warnock there? | 19:29 | |
| dalek | rrot: r47474 | tcurtis++ | branches/gsoc_past_optimization (3 files): Added .from() to PAST::Pattern::Constant. Added tests for matched attributes and children subpatterns($/[0], $<name>, etc.). |
19:32 | |
| chromatic | tcurtis, I have a few moments free. | 19:37 | |
| Tene, I think you have to add a special case. People don't respond because they're doubly horrified. | 19:38 | ||
| Tene | Ah. | ||
| whiteknight | GC isn't so bad anymore. I think our collective understanding of it has increased significantly | 19:39 | |
| There are certainly more people now willing and able to hack on it should the need arise | |||
| tcurtis | chromatic, shall we talk about my project's status so far now, then? | ||
| chromatic | Yes, let's do that. | 19:40 | |
| How much work remains to be able to do simple constant folding of integers? | 19:42 | ||
| tcurtis | That was achievable(although inconvenient) starting May 25(see trac.parrot.org/parrot/browser/bran...?rev=46970 ). | 19:44 | |
| Very little remains to be able to do it using PAST::Pattern. | 19:45 | ||
| chromatic | Will it be more convenient now? | 19:47 | |
| tcurtis | Two things left to implement for that: global matching(started working on it last night but ended up refactoring the way match results were created first), and a .transform method that takes a pattern and a sub or PAST::Transformer and uses it to transform the matching subtrees. | ||
| Yes. | |||
| chromatic | Do you have work estimates for those? | 19:48 | |
| mikehh | make corevm/make coretest - t/pmc/io.t - Failed tests: 25, 27, 29, 31 | 19:49 | |
| t/compilers/imcc/syn/clash.t - Failed test: 13 in testr see: nopaste.snit.ch/20983 | |||
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34261), fulltest) at r47473 - Ubuntu 10.04 i386 (g++) | |||
| t/pmc/packfile.t - TODO passed: 34 in coretest, smoke, testb, testf and testr | |||
| t/op/annotate-old.t - TODO passed: 1 in testf | |||
| t/op/exit.t - TODO passed: 6 in testf | |||
| tcurtis | Estimates of when I'll have them implemented? The former either tonight or tomorrow, I expect. The latter I think Friday or sooner. It's less certain in part because I haven't yet decided on the best way to implement it. | 19:52 | |
|
19:52
khairul joined,
allison joined
|
|||
| chromatic | How does that fit with your proposed schedule which I have failed, so far, to find? | 19:53 | |
| June 7-June 12: implement the pattern matcher using the AST traversal library. | 19:54 | ||
| tcurtis | I got ahead early on, which turned out well, because pattern matching has taken longer than expected, but I should still finish implementing it on schedule. | 19:56 | |
| chromatic | How are you choosing what to work on next? | 19:58 | |
| NotFound | allison: ping | 20:03 | |
|
20:03
Psyche^ joined
|
|||
| allison | NotFound: pong | 20:05 | |
| tcurtis | In the general sense of whether to work on traversal or matching or integrating transformations with PCT, orc.: I mostly followed the schedule. In the specific sense of what order to implement various parts of pattern matching(for example), partially by starting with the simpler parts(e.g., implementing exact matching of attributes and children before implementing smart matching or implementing matching of a specific node before implementing matching any su | ||
| of the node), partially based on what I think might depend on what else(.transform could potentially benefit from global matching, so I'll implement it first), and arbitrarily when there's no particular reason for one to precede the other. | |||
| dalek | rrot: r47475 | NotFound++ | trunk/t/pmc/packfile.t: make packfile test 'pack produced same result twice' independant of platform/config and untodo it |
||
| NotFound | allison: please take a look at TT #1659 | 20:07 | |
| chromatic | If I were doing this, I'd order my optimizations from simplest to most complex, then try to get them working straight through. | ||
| allison | NotFound: ok | ||
|
20:10
ambs joined
|
|||
| allison | NotFound: the patch looks good | 20:11 | |
| NotFound: did you have another question? | |||
| NotFound | allison: the question is at the bottom of the last comment. | ||
| "I'm not sure if this change can affect some non deprecated feature" | 20:12 | ||
| allison | NotFound: whether it affects a non-deprecated feature? | ||
| chromatic | Can we reliably reuse the CallContext returned from set_args? | ||
| NotFound | allison: doing two invokes with the same set_args | ||
| allison | NotFound: since get_results is now called after the invocation is complete, it's safe to remove the reference there | 20:13 | |
| NotFound: though, I'm not sure manually setting it to NULL is the best way | |||
| cotto_work | khairul, ping | ||
| khairul | cotto_work: pong | ||
| cotto_work | khairul, have you taken a look at bacek++'s linked list code in gc_massacre? | 20:14 | |
| khairul | yea, i have. | ||
| saw it during our meeting. | |||
| cotto_work | is it something that'd work for your purposes too? | ||
| or could be made to work | |||
| Coke | I will likely miss #ps today due to $dayjob | ||
| NotFound | allison: suggestion welcomed | ||
| khairul | yup. its similar. | ||
| allison | NotFound: if it passes all tests now, I'm inclined to say go for it, and we | 20:15 | |
| 'll think about interface later | |||
| NotFound | Ok | ||
| tcurtis | I'm not sure if that would have really changed my order of implementing things so far. Essentially any optimization would need most of the things I've implemented so far(PAST::Walker::Dynamic and PAST::Transformer::Dynamic excluded). | 20:17 | |
| chromatic | Okay. | ||
| My concern is to make sure that whatever happens, we have something usable -- if incomplete. | |||
| How much work is it to document writing an optimization stage, at least after you get this week's work done? | 20:18 | ||
|
20:18
smash joined
|
|||
| smash | hello everyone | 20:18 | |
| ambs | hello, smash | 20:22 | |
| tcurtis | I could probably do that in the day or two following finishing implementing it. Although I haven't implemented a convenient way to integrate it into a PCT compiler yet. After .transform() is implemented, that and writing example optimizations with it will be my main priorities for the next couple of weeks. | 20:23 | |
| chromatic | I'd like other people to be able to write stages as soon as possible. This'll make you more productive and get more feedback on design issues. | 20:24 | |
| #ps in 5, please report | 20:26 | ||
| allison | tcurtis: pretty much anything that takes one PMC as input and returns another PMC as output can be easily integrated into PCT | ||
| tcurtis: it's very generic | 20:27 | ||
| tcurtis | I'll write some docs this weekend. | 20:28 | |
| allison: How easily? I haven't really looked into that part much yet. | 20:31 | ||
| allison | tcurtis: I'll pull up a code example for you, it's basically add one "stage" to HLL::Compiler's list, then add method with the name of the new stage | 20:32 | |
| bubaflub | i think we flooded #ps | 20:33 | |
| chromatic | I didn't get your blockers, bubaflub. | ||
| darbelo | Nor me. | 20:34 | |
| Tene | that's right, you just need a method on the compiler class, and then there are methods to modify the list of stages. | ||
| .'add_stage' iirc | |||
| $P0.'add_stage'('optimize', 'after' => 'PAST') | |||
| is approximately what I remember. | 20:35 | ||
| nopaste | "allison" at 192.168.1.3 pasted "An example of an HLL::Compiler stage method for tcurtis" (6 lines) at nopaste.snit.ch/21088 | 20:36 | |
| dalek | kudo: 4df5081 | pmichaud++ | docs/release_guide.pod: Tentative name for June release. |
||
| allison | tcurtis: that's a method for a stage called 'irt' | ||
| pmichaud | I've been hoping that we could make the staging less "linear", but never got around to implementing it. | ||
| darbelo | allison: Will you be staying about after #ps? I have some questions. | 20:37 | |
| tcurtis | In that case, any potential especial PCT integration wouldn't really be necessary(I suppose it might be nice to be able to eventually do $P0.'add_optimization',(someSubOrTransformer), but hardly a priority). | ||
| allison | tcurtis: in that case, the transformer was written in straight PIR, and registered as a compiler for the language IRT (an intermediate tree form), but you can call any arbitrary code in the stage method | ||
| darbelo: yes, I'll be around | |||
| darbelo | Good to hear. | ||
| dalek | rrot: r47476 | NotFound++ | trunk (5 files): clear current context siganture in get_results, TT #1659 |
20:38 | |
| rrot: r47477 | NotFound++ | trunk/t/pmc/filehandle.t: untodo filehandle timely destruction test, TT #1659 |
|||
| allison | tcurtis: there's no need for a separate method name, it's best to call all of them "stages" in the compiler, and name the stage "optimize" or something like that | ||
| mikehh | make corevm/make coretest - t/pmc/io.t - Failed tests: 25, 27, 29, 31 | 20:39 | |
| t/compilers/imcc/syn/clash.t - Failed test: 13 in testr | |||
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34262), fulltest) at r47475 - Ubuntu 10.04 i386 (gcc with --optimize) | |||
| t/op/annotate-old.t - TODO passed: 1 in testf | |||
| t/op/exit.t - TODO passed: 6 in testf | |||
| tcurtis | Can you have multiple stages of the same name, though? | 20:40 | |
| My idea of the .'add_optimization' method is that you could have just one 'optimize' stage that would run each optimization that you added, possibly with some constraints on order, without require you to have named each of them uniquely. | 20:41 | ||
| s/require/requiring/ | 20:42 | ||
|
20:42
luben_k joined
|
|||
| allison | tcurtis: you can add one stage named 'optimize' and have it run multiple different blocks of code | 20:44 | |
| tewk | tcurtis: Eventually you are going to want a optimzation pass manager, that I would forsee you just adding the optimization pass manager as a stage to the HLLCompiler. | ||
| allison | tcurtis: it's really up to you what that stage does | 20:45 | |
|
20:45
dmalcolm joined
|
|||
| Tene | tcurtis: that would be a very normal sort of thing to do. | 20:45 | |
| nopaste | "allison" at 192.168.1.3 pasted "A couple of code examples for adding a stage to an HLLCompiler" (6 lines) at nopaste.snit.ch/21089 | 20:46 | |
| Tene | allison: don't you want a before or after named param to addstage? | ||
| allison | Tene: yes, you do, for a particular ordering | 20:48 | |
| dalek | TT #1675 created by dukeleto++: Cannot load perl6.pbc from PIR | 20:50 | |
| TT #1675: trac.parrot.org/parrot/ticket/1675 | |||
| moderator | 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 | Priorities: fix io_ops mess in corevm/coretest, review and update documentation before release | 20:50 | |
| bacek | aloha, humans | 20:56 | |
| GeJ | G'Day bacek. | ||
| chromatic | bacek, want another 5% performance improvement from gc_massacre? Allocate the pool structs from a fixed-size pool themselves. | ||
| bacek | chromatic, really? I don't think that we have _so_ many pool structs... | 20:57 | |
| nopaste | "tcurtis" at 192.168.1.3 pasted "chromatic, an example of how constant folding of Integer add with PAST::Pattern will look once I have .transform()" (11 lines) at nopaste.snit.ch/21091 | 20:58 | |
| chromatic | bacek, reviewing the profile again. | ||
| GeJ | mikehh: Can't reproduce your failures with `make coretest` on FreeBSD 7 here. | 21:02 | |
| chromatic | tcurtis, that looks reasonable for now. | 21:03 | |
| mikehh | Gej: did you do a make realclean, make corevm, make coretest - it passes in make test | ||
| GeJ | mikehh: I was one revision behind you (r47474). realcleaning and updating now. | 21:04 | |
|
21:05
whiteknight joined
|
|||
| mikehh | Gej: i got the failures as far back as r47458 | 21:06 | |
|
21:07
jjore joined
|
|||
| mikehh | GeJ: it important to do a make realclean first, configure and then make corevm, make coretest otherwise some of the dynoplibs etc are already built | 21:07 | |
| GeJ | mikehh: Ok, I usually do a make && make test. | 21:10 | |
|
21:10
theory joined
|
|||
| GeJ | mikeh: at r47477 with `make corevm && make coretest` I confirm the errors in t/pmc/io.t | 21:12 | |
| And t/compilers/imcc/syn/clash.t looks ok. | |||
| tcurtis | cotto_work: I'm interested in Lorito, and may look over it and offer thoughts and such on it, although I'm still not very knowledgeable about parrot, especially about the internals. | 21:13 | |
| whiteknight | cotto_work: I was working on a big blog post about Lorito last week with tons of feedback, but I never finished it | ||
| GeJ | bbl & | 21:14 | |
| cotto_work | tcurtis, that's great. You'll have a different perspective. | ||
| whiteknight, post that thing! | |||
| dalek | tracwiki: v1 | chromatic++ | LoritoPurpose | 21:15 | |
| tracwiki: created page skeleton | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoP...ction=diff | |||
| tracwiki: v1 | chromatic++ | LoritoOpBalance | |||
| tracwiki: created skeleton page | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff | |||
| tracwiki: v2 | chromatic++ | LoritoOpBalance | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff | |||
| tracwiki: v16 | bacek++ | GCMassacre | |||
| tracwiki: Remove one TODO item | |||
| tracwiki: trac.parrot.org/parrot/wiki/GCMassa...ction=diff | |||
| tracwiki: v17 | bacek++ | GCMassacre | |||
| tracwiki: trac.parrot.org/parrot/wiki/GCMassa...ction=diff | |||
| ambs | darek-- #spammer | 21:16 | |
| :D | |||
|
21:17
Andy joined
|
|||
| chromatic | gc_massacre is 1.483% faster than trunk right now with oofib. | 21:20 | |
| mikehh | GeJ: t/compilers/imcc/syn/clash.t is onlt failing in testr which compiles it to pbc and runs the pbc (part of fulltest) it seems ok elsewhere | 21:24 | |
| only | |||
|
21:27
cognomore joined
|
|||
| whiteknight | chromatic: that's promising. I bet we can improve that | 21:28 | |
| bacek here? | |||
| darbelo | Both here and there. | 21:29 | |
| At least he was a bit ago. | |||
| bacek | whiteknight, yes | ||
| whiteknight | bacek: what's going on with that gc branch? what help do you need? | ||
| bacek | whiteknight, StringAllocator, .get_info method | 21:30 | |
| there is TODO list on wiki | |||
| whiteknight | okay, I'll take a look at that tonight | 21:33 | |
| darbelo | allison: ping | 21:35 | |
| bacek | chromatic, I suspect branch is faster because we are doing less collects. | 21:36 | |
| chromatic | Entirely possible. | 21:37 | |
| bacek | ms2 should be slower than ms. It's algorithmically more complex. | 21:38 | |
| chromatic | It's not sweep-free yet, is it? | ||
| bacek | It's just very good foundation for GenGC. Or Incremental TriColour. | ||
| chromatic, we can't have sweep-free. We have to paint live objects back to white. | 21:39 | ||
| chromatic | I must run an errand, but I don't think we do. | 21:40 | |
| I had a flash of insight a moment ago but I must think about it more. | |||
| bacek | ok. | ||
| dalek | rrot: r47478 | NotFound++ | trunk/examples/embed/cotorra.c: stop using deprecated functions in example cotorra |
21:45 | |
| allison | darbelo: ping | 21:47 | |
| darbelo | I have a question about NFG semantics, regarding character classes. | 21:48 | |
| allison | okay | ||
| dalek | tracwiki: v16 | chromatic++ | LoritoRoadmap | 21:49 | |
| tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff | |||
| darbelo | Should we 'fake' unicode data for our dynamic graphemes? | ||
| allison | darbelo: it will certainly be desirable to have access to the attributes of the characters contained within the dynamic grapheme | 21:50 | |
| darbelo: but, what do you mean by 'fake'? | |||
| darbelo: for example, when matching a string, and looking for characters that are word-forming characters | |||
| darbelo: you'd want to match a dynamic grapheme that contains an 'a', even if it also contains a diacritic | 21:51 | ||
| dukeleto | chromatic: you were correct about "parrot load.pir" not working, where load.pir loads perl6.pbc | 21:52 | |
| darbelo | allison: Ok, And how wrong would it be, as a first approximation to delegate to the base character. | 21:53 | |
| allison | darbelo: that sounds like a reasonable first approximation | 21:54 | |
| darbelo | Excellent. I'll try to fit into our unicode charset this week. | 21:55 | |
| allison | great! | 21:56 | |
| darbelo | One sticky point I'm running into is the interactions of COW and our grapheme tables. | ||
| NotFound | Easy solution: kill COW | ||
| darbelo | I'm not sure how to make two strings properly share grapheme tables without having to either disable COW, or writing a lot of code to fit this into the gc. | 21:57 | |
| And writing gc code that is going to get rewritten when gc_massacre lands doesn't sound very good to me. | 21:59 | ||
| cotto_work | there was a prpopsal to kill cow | ||
| sounds like it'd make life nicer for you | |||
| darbelo | I'm all for killing cow. I can probably do it myself, but that'd be a 2 week detour from my main gsoc goals. | 22:00 | |
| Maybe I can do it in one week. | 22:03 | ||
| dalek | tracwiki: v18 | bacek++ | GCMassacre | 22:05 | |
| tracwiki: Add TODO. | |||
| tracwiki: trac.parrot.org/parrot/wiki/GCMassa...ction=diff | |||
| bacek | darbelo, COW?? | 22:08 | |
|
22:08
mikehh joined
|
|||
| bacek | darbelo, do you change string behind the scene? | 22:09 | |
| darbelo | bacek: Right now, I don't do anything :) I just give each string it's own grapheme table, without caring wether the buffer is shared or not. | 22:10 | |
| bacek | "COW"ed string can just share same table. | ||
| NFG normalisation will produce new string. With own table. | 22:11 | ||
| And we share buffers only between immutable strings. | |||
| pmichaud | (from #parrotsketch) :load subs are run when something is loaded via load_bytecode. :init subs are run when something is compiled from PIR. | 22:12 | |
| darbelo | Yes, but a substring won't really need all of it's superstring's table. | ||
| pmichaud | (although :init subs also get run when a .pbc is loaded via the parrot command line, iirc) | 22:13 | |
| bacek | darbelo, you just share pointer. | 22:14 | |
|
22:15
bubaflub joined
|
|||
| darbelo | bacek: That would mean that I have to bind the table to the lifetime of the buffer, and not the string header. | 22:17 | |
| bacek | darbelo, ah... Yes. Than implement .clone. You'll need it anyway. | 22:18 | |
| dalek | rrot: r47479 | bacek++ | branches/gc_massacre/src/gc (2 files): Start extracting Variable_Size_Pool into own files. |
||
| darbelo | ".clone"? | ||
| rrot: r47480 | bacek++ | branches/gc_massacre (2 files): Add skeleton file for Variable_Size_Pool. |
22:19 | ||
| rrot: r47481 | bacek++ | branches/gc_massacre/src/gc (4 files): Extract GC_Statistics from Memory_Pools. |
|||
| rrot: r47482 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Use GC_Statistics |
|||
| bacek | Actually, in gc_massacre I already made str_copy alias for str_clone. | ||
| bacek | darbelo, perl6ish style of methods :). "GraphemeTable.clone" | ||
| darbelo | I have that already :) | ||
| I can create, clone, and (later today) merge tables. | 22:20 | ||
|
22:20
eternaleye joined
|
|||
| darbelo | bacek: Wait, in gc_massacre most of COW is gone then? | 22:22 | |
| bacek | darbelo, last bit. It's not "gone". It's just NYI. But I'm not sure do I want to implement it :) | 22:23 | |
| darbelo | AFAICT, all of our COWs are substr's and copy's. | 22:24 | |
| bacek | darbelo, it's not "COW". We just share same immutable buffer. | 22:25 | |
|
22:25
kid51 joined
|
|||
| bacek | So, there is no "W" part. So no "C" part. Only "O" or even "o_O" part. | 22:25 | |
| NotFound | Moo | 22:26 | |
| darbelo | True, but it's still shorter to type, than 'Shared buffers' | ||
| And it makes for better jokes. | |||
| I'm not sure how we could have real COW without playing unportable mprotect() games anyway. | 22:28 | ||
| NotFound | We can make lot of jokes until people gets so bored that like to kill it. | ||
|
22:29
lucian_ joined
22:30
davidfetter joined
|
|||
| bacek | I don't mind killing "shared buffers". We just have to ask sorear to build rakudo without them. | 22:31 | |
| NotFound | But maybe they want to kill *me* instead of the cow | ||
| darbelo | "Like sahred buffers to the slaughter..." | ||
| bacek feels like a butcher cutting pigs, sheeps and COWS | 22:32 | ||
| cotto_work suddenly wants a COWburger | 22:33 | ||
| as soon as I take a bite, it gets cloned | |||
| darbelo | . o O( Copy On Bite ) | 22:34 | |
| davidfetter likes his COW done rare | |||
| mikehh | that would be corny | ||
| dalek | rrot: r47483 | NotFound++ | trunk (4 files): initial incomplete implementation of ByteBuffer PMC |
22:35 | |
| rrot: r47484 | bacek++ | branches/gc_massacre/src/gc (2 files): Extract Parrot_gc_get_info from gc_ms_get_gc_info with statistics |
|||
| rrot: r47485 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Expose some statistics from MS2. Make t/op/gc-leaky.t test happy. |
|||
| kid51 | Getting massive packfile-related failures in 'make test' in trunk: smolder.plusthree.com/app/projects/...ails/34264 | 22:38 | |
| NotFound | kid51: about to regenerate native pbc | 22:39 | |
| dalek | tracwiki: v19 | bacek++ | GCMassacre | ||
| tracwiki: GC_Statistics is done. | |||
| tracwiki: trac.parrot.org/parrot/wiki/GCMassa...ction=diff | |||
| bacek | mikehh, t/op/string-mem.t is unlocked in branch. | 22:41 | |
| kid51 | Ah, I see: PackFile_unpack: This Parrot cannot read bytecode files with version 6.20 | 22:42 | |
| mikehh | bacek: 'k testin' now | ||
| dalek | rrot: r47486 | bacek++ | branches/gc_massacre/t/op/string_mem.t: Temporary disable Strings collecting test. |
22:55 | |
| rrot: r47487 | NotFound++ | trunk (2 files): fix c++, codingstd and metadata in bytebufer |
|||
| rrot: r47488 | mikehh++ | branches/gc_massacre/MANIFEST: re-generate MANIFEST |
|||
| rrot: r47489 | mikehh++ | branches/gc_massacre/src/gc (2 files): add svn properties |
|||
| rrot: r47490 | NotFound++ | trunk/t/native_pbc (4 files): native_pbc upadte to 6.21 |
|||
| bacek | NotFound++ # ByteBuffer ftw! | 22:56 | |
| NotFound | WTF? packfile test still failing | 23:02 | |
| darbelo | The regeneration got separated into two scripts, IIRC. | 23:04 | |
| bacek | NotFound, which one? | ||
| NotFound | bacek: all | 23:05 | |
| bacek | not ok 26 - FixupEntry name preserved | ||
| ? | |||
| it's... weird | 23:06 | ||
| NotFound | scripts? | 23:07 | |
| purl | scripts are for methadone, vicodin etc | ||
| bacek | NotFound, hang on. | 23:08 | |
| NotFound | This makes no sense. That tests are supposed to test packfiles, not foreign pbc readability. | ||
| bacek | I've updated build_native_pbc to make correct files. | ||
| It's prefixless files. | 23:09 | ||
| Bah... I didn't update docs... | |||
| It's tools/dev/mk_packfile_pbcs | |||
| tools/dev/mk_packfile_pbc | |||
| NotFound, fixed. | 23:11 | ||
| NotFound, hey! I did add comment into PBC_COMPAT! :) | 23:12 | ||
| dalek | rrot: r47491 | bacek++ | branches/gc_massacre/src/string/encoding/utf8.c: Fix assert to avoid buffer overrun in next-after-last character. |
||
| rrot: r47492 | bacek++ | branches/gc_massacre/src/string/api.c: Fix recalculating buffer length in str_join. |
|||
| rrot: r47493 | bacek++ | trunk/t (5 files): Rebuild PBCs for packfile testing. Add bit of doc in t/pmc/packfile.t |
|||
| NotFound | bacek: will not be a lot simpler to use for those tests pbc files built in the current system instead of the ones stored in the repo? | 23:13 | |
|
23:13
arnsholt joined
|
|||
| bacek | NotFound, makes sense now. | 23:13 | |
| mikehh | bacek: the t/compilers/opsc test seem to grab all the memory on my machine particularly 02, and I stopped 07 after my swapfile grew to 4GB | 23:19 | |
| kid51 | mikehh: I noticed something similarly weird. My drive which is normally 80% full is now 100% full. | 23:27 | |
| kid51 must reboot | |||
|
23:31
eternaleye joined
23:37
kid51 joined
23:38
szabgabx_ joined
|
|||
| kid51 | okay, my disk full problem was probably not Parrot-related | 23:43 | |
| A test in File-ReadBackwards test suite fills up disk. | |||
| Blame Uri! | |||
| ttbot | Parrot trunk/ r47494 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/340671.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 23:54 | |
| cotto_work | mikehh: r47495 looks like it got cut off before | ||
| mikehh | cotto_work: let me check | 23:58 | |