|
#parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Tasks: Fix compact_pool shenanigans | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs Set by moderator on 20 March 2010. |
|||
| chromatic | As you're doing that, extract smaller functions. | 00:04 | |
| That'll make it much easier to understand. | |||
| cotto_work | compact_pool? | 00:08 | |
| chromatic | yes | 00:09 | |
| dalek | rrot: r45140 | petdance++ | trunk/compilers/pirc/src/pirlexer.h: starter file to fill with stuff from pircompiler.h |
00:10 | |
| cotto_work | My eyes are glazing over, but that's just how I am at this time of day. | ||
| which means I'm going home | 00:11 | ||
| mikehh | the test t/op/gc.t first fails test 5 at r45133 (plus a lot of packfile test failures that were fixed later (it and the packfile tests passed at r45132) | 00:12 | |
| sorear | I have one request | 00:13 | |
| mikehh | btw it is the only test that seems to fail at r45139 | ||
| sorear | I really want precisely nailed down finalization semantics | ||
| trying to do anything more complicated than cons cells, when the PDDs say absolutely nothing about the process of destruction, is hard | 00:14 | ||
| allison | sorear: a general rule of garbage-collected languages is that you shouldn't rely on "time of destruction" for finalization semantics | 00:15 | |
| sorear: various scope exits are a better place to hang finalization hooks | |||
| sorear: (and in fact, that's actually what the reference counting languages were doing, they just happened to hang destruction off the same scope exits) | 00:16 | ||
| sorear | allison: I am writing very low-level code. If I don't write finalizers, there will be segfaults and memory leaks. | 00:18 | |
| Do you still think I should use scope exits? | |||
| with-create-perl-value -> $interp { ... ... # I hope the value is actually dead here! } | |||
| chromatic | You'll have to do escape analysis for that to work reliably. | 00:19 | |
| sorear | exact;y | 00:20 | |
| it's much easier to just use VTABLE_destroy, if I can have rules | |||
| mikehh need a break - bbl | |||
| sorear | I don't care if my finalizers are delayed by a day, or even if they never run at all before an exit | ||
| allison | sorear: then the next question is whether they need to run at a particular time... | 00:21 | |
| sorear | They don't | ||
| allison | sorear: okay, then time of destruction is fine | ||
| sorear | they just free resources | ||
| however, they need to refer to other objects to correctly free resources | |||
| allison | sorear: are you talking about ordered destruction? | 00:22 | |
| sorear | currently I'm using an ugly hack that happens to always work for gc_ms and gc_inf, but it's not in any PDD | ||
| allison | sorear: the ability to guarantee that certain objects will live until after other objects? | ||
| sorear | allison: Ordered destruction is sufficient but not necessary | ||
| Merely being able to query ALREADY_DIED_THIS_CYCLE(pmc) is sufficient | |||
| in the current implementation, you can get that by PMC_data(pmc) == NULL | 00:23 | ||
| allison | sorear: the trouble being that once a PMC has died, it can be reused | ||
| sorear | Exactly | ||
| the current implementation will call all finalizers before reusing any PMC | |||
|
00:24
davidfetter joined
|
|||
| allison | sorear: that's not guaranteed to always work | 00:25 | |
| sorear: a partial/generational sweep could reclaim some PMCs but not others | 00:26 | ||
| sorear: and then reuse them | |||
| sorear | but that's not implemented now | 00:29 | |
| dalek | kudo: 6adcf14 | jonathan++ | src/Perl6/Grammar.pm: Add missing bit from STD that caused us to get a precedence FAIL with say 3 !=3. |
00:43 | |
| sorear | which is why I want defined semantics | 00:45 | |
|
00:48
abqar joined,
theory joined
00:53
jsut_ joined
|
|||
| Whiteknight | Austin: ping | 00:58 | |
|
01:03
jsut joined
|
|||
| Coke | dukeleto: you about? | 01:22 | |
| (can folks tests any parrotcode.org links they have lying about?) | 01:29 | ||
| Coke does a google search for "parrot gc" and sees a pic of whiteknight on the first page. | 01:30 | ||
| Coke calls it good and closes the parrotcode.org ticket. | 01:31 | ||
| dalek | rrot: r45141 | petdance++ | trunk/config/auto/warnings.pm: quiet some warnings |
||
| rrot: r45142 | petdance++ | trunk/lib/Parrot/Distribution.pm: move the sub out of the empty block |
|||
| rrot: r45143 | petdance++ | trunk/lib/Parrot/H2inc.pm: fixed some regex quotes. Removed unused var @directives. Throw in some explicit returns. |
|||
| kudo: d0bf6e3 | jonathan++ | (3 files): Add back IO::Socket and IO::Socket::INET with the small tweak needed for ng, as pointed out by ash++. |
01:35 | ||
|
01:52
payload joined
01:56
payload joined
|
|||
| dukeleto | Coke: the link situation seems better now, thanks! | 01:58 | |
|
01:58
janus joined
|
|||
| dukeleto | anybody know why it says Parrot version 2.1.1 at the bottom of docs.parrot.org/parrot/latest/html/ ? | 01:58 | |
| Coke | dukeleto: because no one did the doc updates for 2.2.0? | 01:59 | |
| cotto | I forgot to ask someone how to do that. | 02:00 | |
| dukeleto | Coke: is that documented somewhere? | ||
| Coke | dukeleto: if so, same place as all the rest. | ||
| cotto | kinda in docs/project/release_manager_guide.pod | ||
| Coke | you need a shell account on parrovm.osuosl.org to do it. | ||
| cotto | That's what I didn't know. | 02:01 | |
| Coke, I suppose you're the one I ask for an account? | 02:08 | ||
| Coke | I can't grant access. | 02:10 | |
| I can open a ticket, though. what userid? | |||
|
02:11
zostay joined
|
|||
| cotto | where do I need to have an account? | 02:11 | |
| parrot.org? | |||
| purl | parrot.org is drupal? or aggressively cached. | ||
|
02:12
dalek joined
|
|||
| Coke | parrotvm.osuosl.org | 02:13 | |
| pick a userid. | |||
| oh. I have sudo. I can do a lot of damage! | 02:15 | ||
| (but I'll open a ticket. Too many newfangled ways to create accounts. :|) | 02:16 | ||
| is 'cotto' acceptable? | |||
| sure it is. =-) | 02:18 | ||
| cotto | sure | 02:19 | |
| what you said ;) | 02:20 | ||
| Coke | cotto? | ||
| purl | it has been said that cotto is Christoph Otto <mailto:christoph@mksig.org> or a cooked salami or The Decider | ||
| cotto | yeah, that | 02:21 | |
| purl | Sure, that. | ||
| Coke | ticket opened. | ||
| cotto | thanks | ||
| Coke, maybe you should add other future release managers to that request. | 02:51 | ||
| Coke | cotto: if you notice, I asked for the recipe. =-) | 02:52 | |
| cotto | oic | ||
| dukeleto | is t/op/gc.t failing for anybody else on trunk? | 03:01 | |
| cotto | I'm seeing one failing test. | 03:02 | |
|
03:03
ekiru joined
|
|||
| dukeleto | Coke: yes, me as well | 03:04 | |
| Coke | dukeleto: er, you what/ | 03:08 | |
| dukeleto: er, you what? | |||
| dalek | izkost: 6f5d950 | sorear++ | src/pmc/p5 (5 files): Modernity: Remove a bunch of DRY violations ( bacek++ ) |
||
|
03:08
Patterner joined
03:14
cognominal joined
03:23
Coke joined
|
|||
| dukeleto | Coke: oops, i mean to reply to cotto. i blame tab-completion | 03:24 | |
|
03:25
Coke_ joined
|
|||
| dalek | parrot: a6a6a58 | dukeleto++ | src/plparrot.c: Kill the unused plparrot_elog function |
03:26 | |
| cotto | keyboard driver | 03:33 | |
|
03:41
janus joined
03:57
ash_ joined
|
|||
| dukeleto starts to read src/embed.c | 04:05 | ||
| i want to create an RPA from C. halp? | 04:17 | ||
| cotto | PMC *p = pmc_new(interp, enum_class_ResizablePMCArray); | 04:19 | |
| or something like that | |||
| plobsing | dukeleto: Parrot_PMC_new from src/extend.h looks to be what you're after | ||
| s/.h/.c/ | |||
| cotto sees his faulty assumption | |||
| dukeleto | plobsing: danke | 04:20 | |
| dalek | rrot: r45144 | cotto++ | branches/profiling_testing (3 files): [profiling] add some initial non-runnable test cases |
04:28 | |
| plobsing | C question: does 'struct { char c; }' get packed into arrays differently from 'char c' ? | 04:34 | |
| chromatic | I can't imagine that it would. | 04:35 | |
| plobsing | I'm just concerned some dumb compiler might think structs are always int-aligned or some garbage like that | 04:36 | |
|
04:38
ekiru joined
|
|||
| sorear | plobsing: skimming a copy of the C99 draft I have lying around, that behavior is completely legal | 04:42 | |
| structure elements are aligned in "an implementation-defined manner consistent with their type" | |||
|
04:42
petdance joined
|
|||
| sorear | != "the type's natural alignment" | 04:42 | |
| so a compiler could choose to always align structure members at at least 4-byte boundaries | 04:43 | ||
| even if it would pack them tighter in an array | |||
| dalek | rrot: r45145 | petdance++ | trunk/config/auto/warnings.pm: add support for clang |
04:44 | |
| rrot: r45146 | petdance++ | trunk/include/parrot/platform_interface.h: removing a trailing comma which is not portable |
|||
| plobsing | that's what I was afraid of. In practice I doubt it happens. Not sure whether UnManagedStruct (which I want to add arrayish behaviour to) should accommodate the difference. | 04:45 | |
| petdance | I have given up on the cleanup of pirc | ||
|
04:51
ingy joined
05:02
AndyA joined
|
|||
| dukeleto | incoming | 05:05 | |
| purl | duck! | ||
|
05:07
cottoo joined
|
|||
| dalek | parrot: 88fbe6e | (David Fetter)++ | Makefile: Fixed per discussion here: justatheory.com/computers/databases..._pgxs.html |
05:09 | |
| parrot: 1923558 | dukeleto++ | (2 files): Comment out some stuff that is not quite right and refactor tests |
|||
| parrot: 01b3968 | dukeleto++ | plparrot.c: Get rid of dead code and connect to SPI in handler |
|||
| parrot: b1a18b7 | (David Fetter)++ | HACKING.postgres: Added configure instructions. |
|||
| parrot: 6b733d5 | dukeleto++ | plparrot.c: Helper function to make creating Parrot_Strings less painful |
|||
| parrot: 424ee56 | dukeleto++ | plparrot.c: Call Parrot_ext_call with a flattened ResizablePMCArray as an argument. Still needs to be filled properly |
|||
| parrot: 05dc842 | dukeleto++ | plparrot.c: Comment out some debug statements and get rid of some dead code |
|||
| parrot: 60dcc21 | dukeleto++ | (7 files): Merge load_pir branch |
|||
| tracwiki: v9 | plobsing++ | NCITasklist | 05:17 | ||
| tracwiki: add summary of proposal initially passed around on list | |||
| tracwiki: trac.parrot.org/parrot/wiki/NCITask...ction=diff | |||
| parrot: 9a21723 | (Joshua Tolley)++ | plparrot.c: Remove header for deleted plparrot_elog() function |
05:20 | ||
| cottoo | tab completion in ubuntu is starting to border on creepy | 05:38 | |
| dukeleto | cottoo: why so? | 05:44 | |
| cotto | I find it strange that it knows how to deal with Django's manage.py . | 05:45 | |
| I'm not complaining, of couse. | |||
| davidfetter approves of making tab completion smarter | 05:46 | ||
| cotto | I just habitually type tab and it magically dtrt. | ||
| davidfetter | GUIfying all and sundry just slows everything down :P | ||
| cotto, ever since i installed bash completion, it's been awesome :) | 05:47 | ||
| cotto | It's nice, even when it takes a few seconds to parse Parrot's now-monolithic Makefile. | ||
|
06:04
dduncan joined
06:11
snarkyboojum joined
|
|||
| dalek | parrot: 24aeccf | dukeleto++ | plparrot.c: Refactor handler to use a helper function to create PMCs |
06:17 | |
| sorear | Is there any documentation floating around on exactly what auto_attrs does? | 06:47 | |
| cotto | There should be. Poke NotFound if you can't find any. istr that he added that feature. | 06:49 | |
| docs++, NotFound-- | 06:50 | ||
| chromatic | It means Parrot handles allocating/deallocating the memory for attributes for you. | ||
| cotto | The idea is that if a PMC has that in its pmclass declaration, the storage for its ATTRs will be ... what he said | ||
| dalek | parrot: 9546712 | dukeleto++ | PLATFORMS: Add an entry to PLATFORMS and reorganize so newest reports are on top |
06:51 | |
| parrot: 8cc1388 | dukeleto++ | plparrot.c: Refactor plparrot_func_handler out of plparrot_call_handler |
|||
| sorear | cotto: yeah that's the idea, but I get uncomfortable when I can't put my hand on a nice heavy block of legalese ;) | 06:54 | |
|
06:58
Austin_Hastings joined
|
|||
| cotto | msg NotFound You should to add some proper docs about auto_attrs and manual_attrs to docs/pmc.pod. I'd be glad to do some copyediting if needed. | 06:59 | |
| purl | Message for notfound stored. | ||
| cotto | It's that time again. | 07:00 | |
| good night | 07:01 | ||
|
07:20
uniejo joined
|
|||
| sorear | Where are CallSignature PMCs defined? | 07:23 | |
| Austin | sorear: Is there such a thing as a callsignature pmc? | 07:29 | |
| moritz | there's src/pmc/callcontext.pmc | 07:30 | |
| sorear | Austin: it's referenced in quite a few comments but it doesn't seem to exist | 07:31 | |
| Austin | I thought signatures were just strings | ||
| like "PiPS -> INSP" | |||
| sorear | e.g. pcc.c :66 66:string and call arguments are converted to a CallSignature PMC. | 07:32 | |
| continuation.pmc 51: ATTR PMC *to_call_object; /* pointer to CallSignature */ | |||
| Austin | sorear: Are you on trunk, or on one of the pcc branches? | 07:35 | |
| sorear | trunk | ||
|
07:36
dduncan left
|
|||
| Austin | Then I think what you want is a callcontext pmc | 07:37 | |
| src/pmc/callcontext.pmc | |||
| If you have a look at core.ops, they call src/call/args.c to Parrot_pcc_build_sig_object...(), which creates a new callcontext | 07:38 | ||
|
07:42
jrockway joined
07:50
jjore joined
08:08
he_ joined
08:09
hiroyuki_y joined
08:33
bacek joined
|
|||
| bacek | o hai | 08:36 | |
| sorear | Hello! | 08:41 | |
| dalek | rrot: r45147 | gerd++ | trunk/NEWS: News updated |
08:52 | |
|
09:05
payload joined
09:06
payload1 joined
09:07
payload joined
09:08
iblechbot joined
|
|||
| dalek | izkost: 2092fb0 | sorear++ | (3 files): Convert from manual continuation hacking to (post-hackathon) PCC. |
09:09 | |
| izkost: 5d2d9e7 | sorear++ | (2 files): Use a less insane calling convention for eval |
|||
| sorear | oops | ||
| forgot to push | |||
|
09:14
AndyA joined
|
|||
| mj41 | wow ... Parrot is green last 100 trunk revs. tt.taptinder.org/buildstatus/pr-Parrot/rp-trunk | 09:35 | |
|
09:41
snarkyboojum joined
09:43
sjn joined
09:44
payload1 joined
|
|||
| mikehh | t/op/gc.t - Failed test: 5 in coretest, test and all cores | 10:00 | |
| in testr - t/dynpmc/dynlexpad.t - Failed tests: 3-4 as well | |||
| all other tests PASS (pre/post-config, coretest, test, fulltest) at r45147 - Ubuntu 9.10 amd64 (gcc with --optimize) | |||
| bacek | mikehh, I wallpapered gc.t in next commit already. | 10:01 | |
| No idea about dynlexpad... | |||
| mikehh | bacek: extracted the failing tests - if I just run 4 and 5 it passes, if I run 1-5 as subs it 5 fails, but running the tests as main passes | 10:05 | |
| thats t/op/gc.t | 10:06 | ||
|
10:20
payload joined
10:27
payload1 joined,
payload joined
|
|||
| nopaste | "mikehh" at 81.149.189.7 pasted "t/dynpmc/dynlexpad.t failing in testr" (39 lines) at nopaste.snit.ch/20065 | 10:31 | |
|
10:39
fperrad joined
|
|||
| mikehh | in testr - t/dynpmc/dynlexpad.t - Failed tests: 3-4 | 10:53 | |
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#32811), fulltest) at r45148 - Ubuntu 9.10 amd64 (g++ with --optimize) | |||
|
11:24
dalek joined
11:53
sorear joined
12:01
whiteknight joined
12:11
ekiru joined
|
|||
| whiteknight | good morning, #parrot | 12:12 | |
|
12:14
clinton joined
12:17
lucian joined
12:20
bacek joined
12:22
tetragon joined
12:29
solarion joined
12:50
payload joined
12:52
payload joined
|
|||
| Austin | Hello, whiteknight | 13:01 | |
| whiteknight | good morning Austin | ||
| Austin | Got your email this morning. Passed it along. | 13:05 | |
| dalek | TT #1529 created by masak++: Rakudo fails to build with newer Parrot revisions, in particular r45148 | 13:22 | |
| TT #1529: trac.parrot.org/parrot/ticket/1529 | |||
| bacek just reverted "fix" for TT#1172. | 13:33 | ||
| On on this "positive note" I'm departing to bed. | |||
| s/On/And/ | |||
| dalek | rrot: r45149 | bacek++ | trunk (9 files): Revert "Freeze/thaw Sub.outer_sub by name to avoid thawing second things. bacek-- |
13:37 | |
| TT #1172 reopened by bacek++: Lexical Associations Not Thawed with Tailcalls | |||
| TT #1172: trac.parrot.org/parrot/ticket/1172 | |||
|
13:45
theory joined
|
|||
| Coke | gerd? | 13:46 | |
| purl | i heard gerd was gastroesophageal reflux disease (or something that makes you want to vomit, c.f. the Perl debugger internals) or Gerd Pokorra | ||
| Coke | msg gerd r45147 is wrong, unless someone merged a branch back about the dynpmcs that I missed. | 13:47 | |
| purl | Message for gerd stored. | ||
| Coke | (did I miss that?) | ||
|
13:47
Coke_ left
|
|||
| whiteknight | Austin++ # I really appreciate it! | 13:54 | |
|
14:03
PerlJam joined
14:05
lucian joined
14:15
iblechbot joined
|
|||
| Coke | Anyone looking for someone to do some perl development? I appear to have some free time coming up. =-) | 14:19 | |
|
14:25
Mokurai joined
14:26
Mokurai joined
14:36
ruoso joined
14:42
AndyA joined
|
|||
| dalek | TT #1529 closed by coke++: Rakudo fails to build with newer Parrot revisions, in particular r45148 | 14:45 | |
| TT #1529: trac.parrot.org/parrot/ticket/1529 | |||
|
15:06
patspam joined
15:10
dalek joined
15:11
fperrad joined
|
|||
| whiteknight | slow day today in #parrot-land | 15:29 | |
| Coke | whiteknight: WOOOOOOOOOOOOOOO | 15:32 | |
| ahem. | |||
| Andy | I have officially given up on pirc cleanup | 15:33 | |
| it doesn't compile, or even come close to it. | |||
| whiteknight | Andy: fuggedaboudit | ||
| purl | I fuggodaboudit | ||
| whiteknight | not you, purl | 15:34 | |
| purl | Whatever. | ||
| whiteknight | don't take that tone with me! | ||
| Andy | well, except for what I just committed. But I can't break it more than it's broken already | 15:35 | |
| NotFound | Andy: I also did several attempts yesterday, and give up. | 15:36 | |
| Andy | and apparenlty it hasn't been touched since Oct | ||
| whiteknight | Wow, Khairul's email to the list this morning is quite impressive | 15:39 | |
| obviously some work to do to bring his proof-of-concept up to best practices, but not bad | |||
| Coke | Andy: you said you were done! | 15:41 | |
| Andy | I am | ||
| Coke | ugh, merge of something recently did the property update again. :P | 15:42 | |
| Andy | which prop? | ||
| Coke | svn:mergeinfo | ||
| purl | i think svn:mergeinfo is updated every time you merge from trunk to branch | ||
| whiteknight | svn props are the worst | ||
| Coke | even though none of those files were modified on branch, their mergeinfo is updated on merge back to trunk. | 15:43 | |
| seems crazy. | |||
| whiteknight | if, as purl suggests, svn:merginfo gets changed on merge from trunk->branch, that would explain it | 15:44 | |
| then anything that was changed in trunk between branch creation and merge would have udpated props | |||
|
15:44
riffraff joined
|
|||
| NotFound | whiteknight: runcores can't be written outside and using inside macros at the same time. | 15:45 | |
| whiteknight | NotFound: what do you mean? | ||
| NotFound | whiteknight: the .c file attached to that messsage | ||
| whiteknight | oh, yeah. There are a few problems with it | 15:46 | |
| but it's not a bad proof-of-concept from a new coder | |||
| NotFound | It uses code_start and code_end, which are macros. | ||
| whiteknight | those are commented out | ||
| dalek | rrot: r45150 | petdance++ | trunk/compilers/pirc/src (2 files): fixing some consts |
||
| rrot: r45151 | petdance++ | trunk/compilers/pirc/src/pirsymbol.c: fix ARGMOD on a function |
|||
| rrot: r45152 | petdance++ | trunk/src/gc/gc_ms.c: Added PARROT_ annotations |
|||
| whiteknight | runcores can be compiled separately and loaded as a dynlib, right? | 15:48 | |
| or was that feature never finished? | |||
| NotFound | Don't know, but in any case they can't copy & paste from internal ones without reimplementing the macros. | 15:49 | |
| whiteknight | yeah, there are some best-practices to be followed here | ||
| or instance, hijacking a function pointer is bad | |||
| Coke | Andy: what's PARROT_MALLOC ? | 15:50 | |
| whiteknight | Coke: modifier to tell teh compiler that the function returns newly allocated memory | ||
| Andy | tells splint that the function is returning newly allocated storage | ||
| whiteknight | er, splint | ||
| Andy | OH! And Coke, I was thinking about build targets last night | ||
| I'm thinking I could make splint just be a compiler | |||
| perl C | |||
| Coke | Andy: were they sweet, sweet dreams? | ||
| Andy | perl Configure.pl --cc=splint | 15:51 | |
| Coke | Andy: that would help clean things up a lot. | ||
| Andy | and boom, there's your target | ||
| Coke | you have my blessing, whatever that's worth. =-) | ||
| Coke needs to automate a build-warning checker. | 15:53 | ||
| seems like quite a few have snuck in. | |||
| current warnings with my gcc build: feather.perl6.nl/~coke/ef | 15:54 | ||
| Andy: I'm assuming some of those were caused by you adding -pedantic recently? | 15:56 | ||
| Andy | yes, don't know how I missed those | 15:57 | |
| Coke | might want to move that to --cage. | ||
| (or fix them all; that'd be super awesome. =-) | |||
| Andy | well, if we're doing something it doesn't like, we're doing something it doesn't like | 15:58 | |
| are we relying on gotoing a label? | |||
| then can't help that much. :-) | |||
| and you'll note I also added a clang target | 16:00 | ||
| or support, rather | |||
| NotFound | Fixing the gotoing to labels is easy, just drop computed goto core. | ||
| whiteknight | NotFound++ | 16:01 | |
|
16:02
hercynium joined
|
|||
| whiteknight | if we could drop all the unnecessary cores AND get rid of all uses of "goto", I wouldn't be upset | 16:03 | |
| NotFound | Did we use "goto"... let's ack... | ||
| whiteknight | we do use it in a handful of places, if I remember correctly | 16:04 | |
| Andy | there's a lot of goto goin' on | ||
| NotFound | Yes, we have a bunch. | ||
| Fortunetely several are just PIR usage examples in POD. | 16:08 | ||
| dalek | rrot: r45153 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] handles pir_nqp_flags with parrot-nqp |
16:19 | |
| rrot: r45154 | petdance++ | trunk/config/auto/warnings.pm: Pedantic warnings are too darn noisy, and complain about stuff we have to do in computed gotos |
|||
| whiteknight | that doctor.c program, how do I even build it? When I build it and try to run it I get an error about can't find libparrot.so.2.2.0 | 16:27 | |
| I'm building with cc -o doctor doctor.o -Lblib/lib -lparrot | |||
| and it links fine, with no errors | |||
| NotFound | whiteknight: you need LD_RUN_PATH | 16:28 | |
| whiteknight | nothing about that in Makefile, and ./parrot runs fine | 16:29 | |
| I'm building the same way, basically | |||
| NotFound | whiteknight: borrow from examples/embed/Makefile | 16:30 | |
| whiteknight | nothing about that in there either | 16:31 | |
| NotFound | whiteknight: parrot_config linkflags | 16:32 | |
| whiteknight | "-L/usr/local/lib -lparrot" | ||
| NotFound | whiteknight: mine has: -Wl,-E | 16:33 | |
| dalek | rrot: r45155 | fperrad++ | trunk/MANIFEST.generated: since r45091, include/parrot/platform_interface.h is not generated |
16:35 | |
| whiteknight | okay, I think it eeded -Wl,-rpath=... | 16:36 | |
| NotFound | whiteknight: LD_RUN_PATH is usually easier | 16:37 | |
| (in linux) | |||
| whiteknight | ...this doctor application is actually very cool | 16:40 | |
| ls | |||
| there are some very real applications for this kind of idea with respect to tracing, profiling, etc | 16:41 | ||
| and the fact that you can write the tools in PIR instead of C is a big plus | 16:42 | ||
| NotFound | whiteknight: we had the idea of doing something like that in parrot_debugger, but lacked the time. This may be a good step towards that. | ||
| whiteknight | NotFound: exactly. I think this could be perfect for that | 16:43 | |
| performance is an issue, but that's the story of Parrot's life | 16:44 | ||
| NotFound | If it helps debugging and locating problems, I don't care about performance. | ||
| whiteknight | yeah, that's my thought | 16:48 | |
| adding hooks in various places to catch events and run handlers could be a very cool thing for a lot of uses | 16:49 | ||
| may also be a good way to start the transition to Lorito, and give us the ability to prototype new things in PIR before casting them in C | 16:53 | ||
|
16:53
fperrad joined
|
|||
| whiteknight | ls | 16:56 | |
| damnit | |||
| the damn VM confuses me every time because the cursor there still blinks even when the VM window doesn't have focus | |||
| dalek | rrot: r45156 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add item inc_pir |
17:08 | |
| rrot: r45157 | NotFound++ | trunk/docs/pmc.pod: [doc] mention auto/manual_attrs in pmc.doc, by suggestion from cotto++ |
|||
|
17:17
tewk joined
|
|||
| cotto_work | NotFound++ | 17:17 | |
|
17:48
PerlJam joined
17:55
jsut_ joined
18:01
chromatic joined
|
|||
| whiteknight | chromatic: hello today | 18:05 | |
| nopaste | "Whiteknight" at 173.12.37.77 pasted "something evil for chromatic++" (60 lines) at nopaste.snit.ch/20069 | 18:06 | |
| whiteknight | it's something I've been idly putting together. Obviously very early stage. Framework for allowing us to write ops in terms of other ops | 18:07 | |
| cotto_work | sounds like win | ||
| cotto_work looks | |||
| whiteknight | the magic is dark, but the spirit is pure | ||
| chromatic | Interesting. | 18:08 | |
| whiteknight | obviously there are a few blanks to fill in. Like how to insert one op into the table. | ||
| and how to get the metadata I need from the signature string | |||
| but those problems aren't hard to solve, just require more time that I've spent so far | 18:09 | ||
| I don't think we will use this kind of mechanism for Lorito, I'm hoping the PIR->Lorito translation is much thinner and simpler | 18:13 | ||
| we obviously don't want to build a sig object for every PIR op we invoke | |||
| dalek | rrot: r45158 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add item hll_hook |
18:14 | |
| Coke | PerlJam: hey. | 18:16 | |
| dalek | nxed: r436 | julian.notfound++ | trunk/token.cpp: hex integers in stage 0 |
18:43 | |
| nxed: r437 | julian.notfound++ | trunk/token.cpp: ooops, forgot uppercase X |
|||
|
18:45
solarion joined
|
|||
| Coke ponders writing some of partcl in tcl. :| | 19:05 | ||
| allison | sixperl call now or an hour from now? | ||
| chromatic | an hour | ||
|
19:25
riffraff joined
19:30
ash_ joined,
pmichaud joined
|
|||
| dalek | nxed: r438 | julian.notfound++ | trunk/t/basic/01int.t: hex test |
19:31 | |
| ash_ | ping whiteknight ? | 19:35 | |
| whiteknight | pong | ||
| ash_ | whiteknight: i was wondering what all I need to do for the GSOC? do i need to write an outline of my project submission for you guys? | ||
| whiteknight | ash_: yes, that's a good idea. We've had a few students send in short email proposals already | 19:36 | |
| ash_ | where should I send it? the parrot mailing list? | ||
| whiteknight | Send a summary of your proposal to the parrot-dev list, and get feedbakc | ||
| yeah | |||
| ash_ | kk, i'll try to get that sent up in the next day or so, is there anything else I should look into doing? | 19:37 | |
| sorear | allison: if you're talking about #rakudosketch, it's right now | ||
| Coke | sorear: there's a rakudosketch? =-) | 19:38 | |
| sorear | yes, in anticipation of R* | ||
|
19:39
iblechbot joined
|
|||
| particle | coke: started last week, on freenode | 19:49 | |
| there's a log now, too | |||
| r* folks need an update on parrot memory leaks | 19:50 | ||
| moritz | I'm writing a mail to parrot-dev right now, askin for aid | ||
| Coke | ObChromatic: "small pir test cases that show the memory leak help". | 19:51 | |
| sorear wonders whether to drop blizkost on the floor and switch attention to the Parrot memory profiler | 19:53 | ||
| whiteknight | ash_: An email to the list with your proposal is the first step. You're already active here on IRC | 19:55 | |
| particle | moritz++ | 19:56 | |
| ash_: tpf has an application form | |||
| whiteknight | particle: application form? link? | 19:57 | |
| particle | getting... | ||
| Coke | sixperl? | ||
| purl | somebody said sixperl was perl 6 weekly status conference call. | ||
| ash_ | whiteknight: mainly, i was just going to focus on the llvm stack frame builder | 19:58 | |
| particle | socghop.appspot.com/gsoc/org/show/g...oc2010/tpf | ||
| whiteknight | ash_: for your GSOC project? | ||
| ash_ | yeah | ||
| whiteknight | okay, I'll look forward to the proposal then | 19:59 | |
| TimToady | phone | 20:00 | |
|
20:04
AndyA joined
20:05
joeri joined
|
|||
| chromatic | examples/benchmarks/gc_waves_sizeable_data.pasm is sufficient to demonstrate GC and buffers.. | 20:05 | |
| dalek | rrot: r45159 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add a variant of run_step (helper for nqp) |
20:09 | |
|
20:10
Mokurai joined
|
|||
| whiteknight | chromatic: looks like the rakudo folks need the compact_string fixes kicked into high gear | 20:11 | |
| chromatic | Yeah, I've been working on it, but I don't have the right fix yet. | 20:12 | |
| ash_ | i know when you compile rakudo you see a huge spike in memory usage | ||
| most of the time when its running, its not bad (in my experience) but compiling, when its converting all the .pm's to .pir's and so forth, it can be a hog | 20:13 | ||
| chromatic | I wonder if reverting r43939 would help. | ||
| moritz | chromatic: should I try that locally? | 20:14 | |
| chromatic | Yes. | 20:15 | |
|
20:16
lucian joined
20:23
eternaleye joined
|
|||
| moritz | chromatic: reverting that patch naively made parrot suck up all memory during compilation | 20:29 | |
| Coke | www.sealiesoftware.com/valgrind/ | 20:30 | |
| "valgrind for mac os x" | |||
| testing it out now... | 20:31 | ||
| NotFound | I'm ruminating an idea... mixing several pbc into one fakecutable, instead of mixint into a pbc and pbc_to_exe it. | 20:33 | |
| Coke | Ugh. my osx is TOO NEW. | ||
|
20:37
Mokurai1 joined
20:41
ruoso joined
|
|||
| nopaste | "chromatic" at 173.50.130.127 pasted "moritz: reduce GC size threshold" (13 lines) at nopaste.snit.ch/20070 | 20:41 | |
| chromatic | NotFound, what difference do you expect from that? | 20:42 | |
| moritz | somehow parrot HEAD doesn't build... I'll revert all local patches to see if they are to blame | 20:47 | |
| nope | |||
| NotFound | chromatic: about the big include chains | ||
| s/about/avoid | |||
| moritz | /usr/bin/ld: src/ops/core_ops_cg.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC | ||
| src/ops/core_ops_cg.o: could not read symbols: Bad value | |||
| really bath & | 20:48 | ||
| GeJ_ | Good morning everyone. | 20:53 | |
| chromatic | Hm, no real improvement there. | 20:54 | |
| Coke | so if you lie to valgrind about your os, you can build and install it on OSX 10.6; it then seems to segfault regularly. ah well. | 20:55 | |
| hopefully if we have some 10.5's out there, it will still beo f some use. | |||
| -> | |||
| dalek | nxed: r439 | julian.notfound++ | trunk/examples/pirado.winxed: .return with values in pirado |
21:25 | |
|
21:42
bacek joined
21:43
riffraff joined
|
|||
| bacek | morning | 21:43 | |
| cotto_work | hi bacek | ||
|
21:45
plobsing_ joined,
ekiru joined
|
|||
| bacek | aloha cotto | 21:45 | |
| cotto_work | got a new machine yet? | 21:46 | |
| bacek | not yet | ||
| msg chromatic compact_pool has nothing todo with core.pir memory consumption. "String pool size 253702596" (this is final size during compilation) | 21:51 | ||
| purl | Message for chromatic stored. | ||
| bacek | msg 253M out of >1.5G. Problem is somewhere else... | 21:52 | |
| purl | Sorry, I've never seen 253m before. | ||
| bacek | msg chromatic 253M out of >1.5G. Problem is somewhere else... | ||
| purl | Message for chromatic stored. | ||
| chromatic | NQP allocates several multi-meg STRINGs. | 21:54 | |
| bacek | yes | ||
| chromatic | There are memory leaks somewhere though. | ||
|
21:54
mikehh joined
|
|||
| chromatic | That pool size never shrinks, too. That's not good. | 21:54 | |
| bacek | It shrinks. | 21:55 | |
| String pool size 251013884 | |||
| chromatic | How can you tell? | ||
| bacek | String pool size 250761840 | ||
| String pool size 253803748 | |||
| String pool size 253702596 | |||
| Looks like rakudo (or nqp) keep too much information. | |||
| chromatic | I'm sure it does. | ||
| plobsing_ | why is a parser allocating strings? doesn't it just slice and dice existing strings? shouldn't all strings coming out of a parser be substrings? | 21:57 | |
| chromatic | If it appends anything, it needs a new string. | 21:58 | |
| Coke | particle++ # anti-freaking out antidote. | 22:02 | |
| plobsing_ | so it allocates these strings by concatenating up the PIR source? | 22:03 | |
|
22:03
Whiteknight joined
|
|||
| Coke | plobsing_: check out src/pmc/codestring.pmc | 22:04 | |
| plobsing_ | would it be possible/would there be any benefit to compiling blocks as soon as they close? | 22:08 | |
| chromatic | I think it's possible. | 22:09 | |
| arnsholt | bacek: BTW, did you see TT #1528? (my continuation bug from a few days ago redux) | ||
| cotto_work | Can we hack the GC to show useful information about various gc-allocated objects? | 22:11 | |
| Whiteknight | cotto_work: hack it with a machete | ||
| cotto_work | Can much useful information about allocated objects be gotten from it in its current state? | 22:12 | |
| Whiteknight | I think so | 22:14 | |
| depends what you consider useful information | 22:15 | ||
| cotto_work | "helps us find what's eating memory in the Rakudo build" | ||
| which probably means trying something and finding out whether it gives us something useful | 22:16 | ||
| chromatic | Hm, that helped. | 22:17 | |
| dalek | rrot: r45160 | chromatic++ | trunk/src/call/pcc.c: [PCC] Fixed a memory leak in Parrot_pcc_invoke_sub_from_c_args(). Rant: this strings are expensive and silly. |
22:19 | |
| Whiteknight | wow, how did we miss that? | 22:22 | |
| chromatic | No one ran Valgrind, and whoever wrote it didn't pay the due diligence tax. | 22:23 | |
| cotto_work | s/valgrind/memcheck/, but yes | ||
| chromatic++ | |||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32821), fulltest) at r45159 - Ubuntu 9.10 i386 (g++ with --optimize) | 22:24 | |
| dalek | tracwiki: v5 | plobsing++ | FreezeThawTasklist | ||
| tracwiki: update to reflect current status | |||
| tracwiki: trac.parrot.org/parrot/wiki/FreezeT...ction=diff | |||
| chromatic | Let's see what this does. | ||
| cotto_work | ouch | 22:27 | |
| chromatic | Rakudo still tops out at 700MB RSS for me. | 22:28 | |
| Parrot_gc_allocate_memory_chunk_with_interior_pointers() leaks. | 22:35 | ||
| dalek | rrot: r45161 | chromatic++ | trunk/src/call/pcc.c: [PCC] Fixed another memory leak related to Parrot_pcc_split_signature_string(), |
22:36 | |
| chromatic | Looks like it always gets called from thaw somehow. | ||
| ... and there's one bug. | 22:47 | ||
| Coke | chromatic++, btw. | ||
| chromatic | LexInfo doesn't have the mark/destroy flags set. | 22:48 | |
| cotto_work | I thought auto_attrs implied those | ||
| chromatic | Does it? | 22:50 | |
| We'll see if that works here then. | |||
| Andy | shouldI care that my parrot isn't building because it can't find imcc? | 22:51 | |
| sorear | LexInfo are instantiated in O(#subs), right? | ||
| Andy | I'm guessing yes. | ||
| sorear | not O(#calls)? | ||
| chromatic | Right. | 22:52 | |
| dalek | rrot: r45162 | petdance++ | trunk (2 files): add src/main.c to the list of files that get headerized, so we can remove unused args in it. |
||
| chromatic | cotto_work, making that change plugged a big memory leak. | 22:53 | |
| cotto_work | I've been wrong before. | 22:56 | |
| chromatic | Still not a huge improvement for Rakudo, but an improvement. | 23:01 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32822), fulltest) at r45161 - Ubuntu 9.10 i386 (gcc with --optimize) | ||
| Austin | sorear: LexPad is per call. LexInfo holds lists of names, which are static | ||
| sorear | is mikehh a smoke bot? | 23:04 | |
| Austin: thought so, good to confirm | 23:05 | ||
|
23:08
tetragon joined
|
|||
| dalek | rrot: r45163 | chromatic++ | trunk/src/pmc/lexinfo.pmc: [PMC] Enabled the custom mark/destroy flag on all created LexInfo PMCs, which |
23:09 | |
| sorear | how huge | 23:10 | |
| chromatic | 81% of the memory leaked in my test. | 23:11 | |
| almost 82% | |||
| My test is a cut-down version of core.pm, because the real one would take way too long to profile. | |||
| Who's interested in Packfile leaks? | 23:12 | ||
| mikehh | sorear: no - but sometimes I am not so sure :-} | 23:13 | |
| sorear | chromatic: what % of the memory allocated is leaked? | 23:17 | |
|
23:18
mikehh joined
|
|||
| chromatic | Valgrind doesn't report that. | 23:18 | |
| Oh wait, it does. | 23:19 | ||
| 0.24% for Hello, world! in Perl 6. | |||
|
23:24
ruoso joined
23:28
Whiteknight joined
|
|||
| Whiteknight | chromatic: topping out at 700MB is a far cry better than the 1.5GB it was at | 23:37 | |
| sorear | Whiteknight: P64 or P32? | ||
| Whiteknight | I don' know | 23:38 | |
| dalek | rrot: r45164 | petdance++ | trunk/src/gc/system.c: removed useless PARROT_INTERPs, and made all pointers const-correct |
23:42 | |
| rrot: r45165 | petdance++ | trunk/src/gc (3 files): more consting and removal of unused INTERPs |
|||
|
23:46
kid51 joined
23:54
bacek joined
23:58
ekiru joined
|
|||