Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-24

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced