Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-14

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 dalek parrot: 35f5746 | Whiteknight++ | / (3 files):
00:02 dalek parrot: fix README with non-ascii name. It breaks MANIFEST and configure, so give it a simpler name
00:02 dalek parrot: review: https://github.com/parrot/parrot/commit/35f57466e9
00:04 jsut joined #parrot
00:05 hercynium joined #parrot
00:09 dukeleto whiteknight++
00:09 jsut_ left #parrot
00:10 dukeleto YAML is making me very angry right now
00:10 dukeleto I just want to store a multiline string as the value of a key
00:10 dukeleto Why is that so hard?
00:12 KatrinaTheLamia joined #parrot
00:19 whiteknight What does the eval_pmc attribute on Sub do?
00:19 whiteknight because it appears to do very little
00:19 whiteknight And I think I'm going to delete it
00:21 cotto_work not right now, I hope
00:22 whiteknight not from master
00:23 plobsing whiteknight: eval_pmc points back to the eval PMC that created this sub, if any
00:23 plobsing that way the bytecode doesn't get collected out from under the sub
00:25 whiteknight right,
00:25 whiteknight So the Eval PMC is tied to the bytecode/packfile?
00:25 whiteknight why isn't it just a PackFile PMC?
00:26 plobsing it does essentially fill that role, yes
00:27 plobsing it can probably go away once our packfiles are tracked by PBCs
00:30 jnthn s/PBCs/PMCs/?
00:31 plobsing sure. them too.
00:36 gbacon left #parrot
00:49 whiteknight what is PBC_PBC?
00:49 whiteknight it's the same as PBC_MAIN, right?
00:50 cotto_work Nice.  Rakudo's spectest_regression passes with the latest parrot.
00:58 davidfetter eeeeeeexcellent!
00:59 davidfetter </monty_burns>
01:13 cognominal left #parrot
01:13 mikehh joined #parrot
01:14 whiteknight_ joined #parrot
01:14 whiteknight_ I don't see any difference in the code between PBC_PBC and PBC_MAIN, but when I unify them parrot gets all segfaulty
01:15 cognominal joined #parrot
01:18 whiteknight left #parrot
01:19 whiteknight_ is now known as whiteknight
01:27 Kristaba left #parrot
01:27 davidfetter left #parrot
01:29 kid51 joined #parrot
01:29 whiteknight PBC_MAIN and PBC_PBC appear to fire when we load the initial bytecode file, before we execute :main
01:29 hercynium left #parrot
01:31 fbrito left #parrot
01:35 whiteknight damnit, this whole thing is so twisted
01:38 dalek parrot/kill_packfile_new_dummy: ff5035f | Whiteknight++ | / (2 files):
01:38 dalek parrot/kill_packfile_new_dummy: rename a variable to be less confusing
01:38 dalek parrot/kill_packfile_new_dummy: review: https://github.com/parrot/parrot/commit/ff5035fb91
01:43 cotto_work The problem is probably the places where PBC_MAIN is used but PBC_PBC isn't.  afaict it's do_1_sub_pragma that's special.
01:45 whiteknight so do_1_sub_pragma appears to ignore PBC_PBC
01:45 whiteknight wtf
01:45 whiteknight so what does PBC_PBC do?
01:47 bacek_at_work whiteknight, PBC_PBC isn't used in imcc
01:50 cotto_work bacek_at_work: making it the same as PBC_MAIN causes a segfault in the build.
01:50 cotto_work It's fun.  Try it!
01:51 whiteknight and if I take it out completely, I get a Null PMC access exception
01:51 whiteknight so it is used.  but I have no idea how, or why
01:52 cotto_work added in https://github.com/parrot/parrot/commit/def84918 in 2004
01:52 cotto_work I lie.  it was just moved in that commit.
01:53 cotto_work browsing a 2004-vintage Parrot is a bit surreal
01:55 whiteknight I really hate this system of PackFile_fixup_subs and do_sub_pragmas
01:56 whiteknight I want a handful of new API subs that are more clear and less magical: Parrot_pf_get_main_sub, Parrot_pf_execute_init_subs, Parrot_pf_execute_load_subs, etc
01:56 dalek TT #1942 closed by jkeenan++: src/nci/libffi.c: Throws warnings under various make targets
01:56 dalek TT #1942: http://trac.parrot.org/parrot/ticket/1942
01:56 dalek TT #1963 created by jkeenan++: src/string/api.c:  Throws warnings under two 'make' targets
01:56 dalek TT #1963: http://trac.parrot.org/parrot/ticket/1963
01:57 plobsing whiteknight: the problem is all of those are coupled. you don't want subs that are both :init and :load to run twice. likewise for other combinations.
01:57 whiteknight I think that we should be able to separate those functions out, and clean all this code up significantly
01:58 whiteknight plobsing: That particular combination wouldn't happen, since you wouldn't be doing fixups with PBC_LOADED and PBC_MAIN for the same packfile
01:58 plobsing I recall it happening to me at one point in encapsulate-main
01:59 whiteknight I want to be able to ask the packfile to return me a list of subs to execute in any particular situation
01:59 whiteknight in a :load situation, I want a list of all :load subs
01:59 whiteknight in an :init situation, I want a list of all :init subs
01:59 whiteknight and when it's time to execute :main, I want to be able to ask for that and get it
02:00 cotto_work Wow.  2004-era Parrot expects icu to be in the root of the src dir.
02:01 plobsing it is interesting how much our repo structure changed over the years.
02:02 plobsing I recently had a bit of fun running gource over the repo. Cool stuff. We could mash it up with ParrotFaces to make it even cooler too.
02:05 cotto_work https://github.com/parrot/parrot/commit/7a1ac2246 is definitely the commit where PBC_PBC was added.
02:05 cotto_work plobsing, sounds fascinating
02:07 cotto_work completely unhelpful is another thing that it is
02:07 cotto_work or is it?
02:07 cotto_work https://github.com/parrot/parrot/commit/7a1a​c2246634e35eac7d10163e0b626b21cc4cec#L3R208
02:09 whiteknight That's my goal for the coming months. I am going to put a pretty face on this sub pragma bullshit. I am going to hide this mess behind a nice API
02:10 whiteknight nobody is going to call PackFile_fixup_subs again. Nobody is going to call do_sub_pragmas again
02:10 cotto_work whiteknight: what's your plan for dealing with the case the plobsing++ mentioned of not running subs twice?
02:10 cotto_work whiteknight++
02:10 whiteknight cotto_work: Hit it with a large metal rod
02:12 cotto_work I suspect that a more comprehensive and nuanced solution may be required.
02:13 plobsing based on my discussion with Pm re: why we need :init to be different from :load, we probably don't need :init after we get packfile pmcs and expose them to PBC loaders
02:13 whiteknight fine, whatever. We do it your way. Just this time
02:14 whiteknight plobsing: I suspect that what we really need in the long term are something like :program_main, and :library_main
02:14 plobsing what does :library_main do?
02:14 whiteknight :library_main does basically what :load does now
02:15 plobsing does it get called before :main?
02:15 whiteknight :program_main gets called when we execute it like a program. :library_main executes when we load it as a library
02:15 whiteknight basically different names for :main and :load, respectively
02:16 plobsing then just call them that. this isn't the JVM. identifiers do not have a minimum character length.
02:16 vmspb left #parrot
02:17 whiteknight I'm not interested in changing the syntax of PIR really, I'm only thinking about giving new names for newish concepts
02:17 whiteknight whatever we refer to them by is one thing
02:36 whiteknight left #parrot
02:44 kid51 A git question:
02:45 kid51 I have revised about a dozen files, called 'git add', and generated a patch from 'git diff --cached'.
02:45 fbrito joined #parrot
02:45 kid51 But, given that we're approaching a release, I probably should not commit these changes right away.
02:46 kid51 What is the best way to clear out these revisions?  BTW, this was done in a checkout of master.
02:48 dalek parrot: 19c9af2 | jkeenan++ | t/steps/init/optimize-01.t:
02:48 dalek parrot: [codingstd] Eliminate trailing whitespace.
02:48 dalek parrot: review: https://github.com/parrot/parrot/commit/19c9af2cac
02:56 sorear kid51: git reset --hard HEAD clears uncommitted changes
02:56 sorear git reset --hard origin/master clears local changes
02:56 sorear alternatively, commit on a local branch
02:58 plobsing or use the stash
02:59 kid51 plobsing:  'git stash' will stash scheduled but uncommitted files, correct?
03:00 kid51 Yes, that's what man git-stash tells me, and that sounds right.
03:00 kid51 Done.
03:00 kid51 Thanks.
03:00 plobsing kid51: it will stash all changes (without regard to adding) IIRC
03:11 cotto ~~
03:11 cognominal left #parrot
03:34 kid51 cotto If you have time:  http://trac.parrot.org/par​rot/ticket/1934#comment:12
03:35 * cotto looks
03:42 Myhrlin joined #parrot
03:45 cotto kid51, do you have a branch with that patch?
03:46 kid51 No, I did it sort of spontaneously, then realized I didn't want to commit (see backscroll).  So I just git-stash-ed the changes.
03:46 kid51 I'm perfectly fine with postponing it till after 3.0.
03:46 kid51 But if you want to run with it now.
03:46 kid51 I would like to hear from the GCIer who wrote that ... someone who can tell me the pretty-printing still works.
03:47 cotto iirc the gdb stuff just requires a very recent version of gdb (7.2+?)
03:48 cotto Since it's not messing anything up, I'd prefer to leave it out until post-release,
03:48 cotto .
03:48 kid51 I do not have gdb 7.anything
03:48 kid51 Yes, after release is okay.  Think about what needs to be added to codingstd.pod; I'd like to apply all these changes at once so that I can close the TT.
03:51 * kid51 must sleep
03:55 cotto 'night
03:58 kid51 left #parrot
04:10 cotto jnthn, can you mention your use case for :instanceof in http://trac.parrot.org/parrot/ticket/1962 ?
04:10 dalek TT #1950 reopened by cotto++: pbc_disassemble dumps core on illegal options
04:10 dalek TT #1950: http://trac.parrot.org/parrot/ticket/1950
04:27 hercynium joined #parrot
04:28 hercynium left #parrot
04:57 dalek parrot: 42b94c9 | petdance++ | / (3 files):
04:57 dalek parrot: adding function macros
04:58 dalek parrot: review: https://github.com/parrot/parrot/commit/42b94c9536
05:50 rurban left #parrot
05:51 rurban joined #parrot
06:08 dukeleto ~~
06:09 tadzik ~~
06:16 contingencyplan_ joined #parrot
06:17 contingencyplan left #parrot
06:19 cotto hi dukeleto
06:22 dukeleto cotto: wazzup
06:24 * dukeleto is playing around with Django and Python
06:24 * dukeleto is outside his comfort zone
06:35 dukeleto http://pypi.python.org/pypi/virtualenv is the python equivalent of perlbrew/rvm/parrot-handler
06:36 cotto I didn't mind django when I played with it.
06:36 cotto I never got very far though.
06:38 fbrito left #parrot
06:38 fbrito joined #parrot
06:39 dukeleto tadzik: how is the deprecation as data stuff going?
06:42 tadzik dukeleto: it isn't I barely woke up :0
06:42 tadzik :)
06:42 dukeleto tadzik: well, you seem awake now :)
06:42 tadzik I don't think I'll find time to do anything today
06:42 tadzik dukeleto: well, but I was sleeping all this time :)
06:43 dukeleto tadzik: we can split it up if you want
06:43 dukeleto tadzik: if there are multiple things to do
06:44 dukeleto tadzik: if you have some ideas and add them to the TT, that would help too
06:44 tadzik dukeleto: I think I'll handle this, just the day today will be quite busy for me
06:44 dukeleto tadzik: ok, no worries. It is all you :)
06:46 dukeleto cotto: what are you hacking on tonight?
06:48 cotto dukeleto, call it meta-hacking.  figuring out what architecty stuff needs to be done by me and how much can be delegated
06:49 cotto it involves less coding than I'd hope
06:55 fbrito left #parrot
06:56 cosimo joined #parrot
06:59 dukeleto cotto: let me know if you need a high five
06:59 cotto The sooner I plow through this, the sooner I'll know what my minions and I should be hacking on.
07:00 cotto also, I'll have something well-defined to talk about at PDS
07:01 dukeleto cotto: oh yeah, that is gonna happen again soon
07:01 cotto ypu
07:01 cotto yup
07:02 * cotto wishes he could upgrade his brain
07:04 dukeleto there are ways
07:05 * cotto has been watching Dollhouse
07:22 fperrad joined #parrot
07:23 cotto jnthn, ping
07:25 cotto I'm not sure how I feel about always having a PDS <=3 months away, but we'll see how it goes.
07:35 dukeleto cotto: what lorito stuff do you want to talk about at PDS?
07:36 cotto in general terms, what's known about the design and what I plan to have nailed down and/or implemented by when
07:37 cotto that's probably more general than you were hoping
07:50 jan left #parrot
07:55 cotto 'night
08:19 acrussell left #parrot
08:21 theory left #parrot
08:28 he__ joined #parrot
08:54 contingencyplan_ left #parrot
08:59 TiMBuS left #parrot
08:59 TiMBuS joined #parrot
09:13 sjn joined #parrot
09:40 dukeleto blarg. Python still hurts
09:57 cotto left #parrot
10:05 vaneska joined #parrot
10:23 dalek parrot: 2a4e288 | (Gerd Pokorra)++ | tools/docs/make_html_docs.pl:
10:23 dalek parrot: add version to HTML title
10:23 dalek parrot: review: https://github.com/parrot/parrot/commit/2a4e2881ad
11:00 dalek parrot: 4fbf977 | NotFound++ | / (2 files):
11:00 dalek parrot: fix decorations of Parrot_str_from_platform_cstring
11:00 dalek parrot: review: https://github.com/parrot/parrot/commit/4fbf977e54
11:02 cognominal joined #parrot
11:15 mikehh t/configure/065-git_describe_from_cache.t is failing pre-config tests
11:16 mikehh Can't locate Parrot/Git/Describe.pm in @INC
11:22 ok22 left #parrot
11:29 dalek parrot: e0df021 | mikehh++ | src/string/api.c:
11:29 dalek parrot: fix codetest failure - line length
11:29 dalek parrot: review: https://github.com/parrot/parrot/commit/e0df021adf
12:37 PacoLinux left #parrot
12:38 dalek TT #1964 created by coke++: t/src/embed.t failed 34 tests of 49.
12:38 dalek TT #1964: http://trac.parrot.org/parrot/ticket/1964
12:38 mj41 Chrome Release Cycle slides https://docs.google.com/prese​nt/view?id=dg63dpc6_4d7vkk6ch
12:41 vaneska left #parrot
12:47 fbrito joined #parrot
12:54 dalek TT #1950 closed by doughera++: pbc_disassemble dumps core on illegal options
12:54 dalek TT #1950: http://trac.parrot.org/parrot/ticket/1950
13:38 dalek parrot: 0297b0a | gerd++ | tools/docs/make_html_docs.pl:
13:38 dalek parrot: make the option "--version" optional
13:38 dalek parrot: review: https://github.com/parrot/parrot/commit/0297b0a21c
13:44 mtk joined #parrot
13:45 mtk left #parrot
13:45 mtk joined #parrot
13:45 whiteknight joined #parrot
13:50 mtk left #parrot
13:50 rurban left #parrot
13:50 mtk joined #parrot
13:51 rurban joined #parrot
13:54 whiteknight good morning, #parrot
14:05 Coke whiteknight: hio. have you seen #1964? (I didn't see a ticket, but am sure I've mentioned those failures in #parrot)
14:05 Coke if that's the new API, the passing TODOs and occasionail FAILs should probably be resolved before 3.0 if possible.
14:10 plobsing left #parrot
14:13 whiteknight Coke: That's the old API, and might be related to some of dukeleto's work
14:14 whiteknight I'll go look at it right now
14:16 Coke (old API) ah, then it definitely should be fixed. ;)
14:23 he__ left #parrot
14:24 dalek parrot/imcc_cleanups: 4357d74 | Whiteknight++ | / (2 files):
14:24 dalek parrot/imcc_cleanups: remove unused function imcc_run_pbc
14:24 dalek parrot/imcc_cleanups: review: https://github.com/parrot/parrot/commit/4357d749cf
14:24 dalek parrot/imcc_cleanups: c68e224 | Whiteknight++ | / (5 files):
14:24 dalek parrot/imcc_cleanups: imcc_run is now static because it's only used in compilers/imcc/main.c. With that, we can get rid of include/parrot/imcc.h entirely. Good riddance.
14:24 dalek parrot/imcc_cleanups: review: https://github.com/parrot/parrot/commit/c68e224154
14:29 cognominal left #parrot
14:31 plobsing joined #parrot
14:42 NotFound whiteknight: this doesn't look good: Parrot_String string; string = Parrot_PMC_new(interp, Parrot_PMC_typenum(interp,"String"));
14:45 NotFound Also, if the vtable accessors are intended for extending, they should be tested in extend.t, not in embed.t
14:50 whiteknight NotFound: Where is that line?
14:50 whiteknight and what doesn't look good about it?
14:50 NotFound whiteknight: Parrot_String is a string, not a PMC, isn't it?
14:51 NotFound embed.t line 82 and following
14:51 whiteknight ah, right
14:51 whiteknight sorry. Yes that is wrong
14:55 NotFound Are we going to allow explicit calls to the destroy vtable? Seems very error prone to me.
14:55 PacoLinux joined #parrot
15:12 whiteknight no, we definitely don't want that
15:12 whiteknight explicit calls to VTABLE_destroy, VTABLE_mark, VTABLE_invoke, VTABLE_share, VTABLE_share_ro are all bad
15:12 whiteknight probably some others I am missing
15:13 whiteknight VTABLE_init, VTABLE_init_int, and VTABLE_init_pmc
15:14 NotFound Then we shouldn't test it.
15:27 contingencyplan_ joined #parrot
15:28 mtk left #parrot
15:37 plobsing left #parrot
15:41 theory joined #parrot
15:45 plobsing joined #parrot
16:08 gbacon joined #parrot
16:12 dalek TT #1965 created by doughera++: rational.pmc's get_bool is backwards and not portable
16:12 dalek TT #1965: http://trac.parrot.org/parrot/ticket/1965
16:15 Coke doughera++
16:25 wolverian left #parrot
16:30 gbacon left #parrot
16:32 mikehh dukeleto: ping
16:43 Kristaba joined #parrot
17:18 cotto joined #parrot
17:41 plobsing left #parrot
17:41 dalek nqp-rx/nom: 10b0b0b | jonathan++ | / (2 files):
17:41 dalek nqp-rx/nom: Stub in a DispatcherSub PMC to be used for subs that serve as dispatchers.
17:41 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/10b0b0b27f
17:41 dalek nqp-rx/nom: bb3de19 | jonathan++ | src/ops/nqp.ops:
17:41 dalek nqp-rx/nom: Port the ops related to multiple dispatch; the one that actually does the dispatch is incomplete, but the rest are complete (though untested).
17:41 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/bb3de19cf7
17:47 cotto_work ~~
17:50 Coke seen dukeleto?
17:50 aloha dukeleto was last seen in #parrot 8 hours 10 mins ago saying "blarg. Python still hurts".
17:53 Coke checking out a fresh copy of parrot is slow-ish.
17:55 [hudnix] joined #parrot
17:56 cotto_work mikehh: ping
17:57 Coke dukeleto's Util/bin looks interesting, but it assumes much.
17:57 * Coke wonders if it's worth making it a little more agnostic.
17:57 hudnix left #parrot
17:58 cotto_work whiteknight++ for decrapifying imcc one function at a time
17:58 cotto_work that's the only way to do it while maintaining sanity
17:59 Coke No NCI thunk available for signature 'PJt'
18:00 Coke msg dukeleto is your smoker alerting you to build failures at all?
18:00 aloha OK. I'll deliver the message.
18:00 cotto_work Coke: what triggers that?
18:00 Coke https://github.com/leto/Util/bl​ob/master/bin/new_parrot_plain
18:01 Coke those are config options.
18:01 whiteknight cotto_work: I'm slowly pushing my way through imcc_run. That function by itself is surprisingly hard to decrapify
18:02 mikehh cotto_work: pong
18:03 cotto_work mikehh: in make_html_docs.pl, why is --version=x necessary at all?  Why not just use VERSION?
18:03 plobsing joined #parrot
18:04 mikehh cotto_work: dunno, that was how it was before when I started working on it
18:05 cotto_work mikehh: does the release manager guide need any updates to deal with the new docs system?
18:05 mikehh cotto_work: gerd was doing something with that today, haven't looked yet
18:05 Coke it IS using VERSIOn.
18:05 Coke it's passing it on the command line, though.
18:06 Coke IIRC.
18:06 Coke rant: the nqp stuff in the normal build is SO SLOOOOOW
18:06 Coke (looks like it's just used to test the profiler, too.Ironic.)
18:07 mikehh cotto_work: just need to run make html and transfer the docs in docs/html to parrot.org as before
18:08 mikehh cotto_work: will check it out though
18:10 cotto_work mikehh: thanks
18:14 Coke cotto_work: narrowing down which of those config options is responsible.
18:20 Coke there we go.
18:23 ambs joined #parrot
18:25 dalek TT #1966 created by coke++: Configure.pl --without-core-nci-thunks breaks build.
18:25 dalek TT #1966: http://trac.parrot.org/parrot/ticket/1966
18:34 Coke Ok. I can't promise it'll stay up, but I've got dukeleto's parrot smoker running locally.
18:34 Coke (darwin/x86)
18:35 cotto_work Coke: wouldn't you expect the build to break with --without-core-nci-thunks if we don't have an alternative?
18:35 Coke ... why do we even HAVE that option?
18:35 cotto_work probably to verify that a jit frame builder works
18:36 dalek nqp-rx/nom: 194180d | jonathan++ | src/NQP/Grammar.pm:
18:36 dalek nqp-rx/nom: Bring the various multiple dispatch and signature parsing changes introduced in JnthnNQP into the nqp-rx/nom grammar.
18:36 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/194180db17
18:36 dalek nqp-rx/nom: d3290da | jonathan++ | src/NQP/Actions.pm:
18:36 dalek nqp-rx/nom: Actions for {*}.
18:36 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/d3290da0b9
18:36 Coke cotto_work: do we have one of those?
18:36 cotto_work we did at some point.  I don't recall what happened to it.
18:37 Coke looks like those embed failures are g++ specific?
18:38 dalek nqp-rx/nom: 2f51f68 | jonathan++ | src/NQP/Actions.pm:
18:38 dalek nqp-rx/nom: Pull the old meta-model's handling of method_def out into something we can easily toss later. (Can't quite toss it yet; grammar is not using 6model yet, and there are grammars with methods within nqp-rx itself, so removing it now would break the bootstrap.)
18:38 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/2f51f68a29
18:47 Coke plobsing: you can go ahead and close 1966, then.
18:47 Coke msg dukeleto - given #1966, you probably want to update your new_parrot_plain script to avoid that option.
18:47 aloha OK. I'll deliver the message.
18:58 dalek TT #1966 closed by plobsing++: Configure.pl --without-core-nci-thunks breaks build.
18:58 dalek TT #1966: http://trac.parrot.org/parrot/ticket/1966
18:59 dmalcolm joined #parrot
19:06 whiteknight cotto_work: I have a commit coming up here that you are going to love
19:13 * cotto_work waits
19:14 vmspb joined #parrot
19:18 whiteknight I was going to push it, but then I started working on another one
19:19 cotto_work now I'll never know.
19:19 whiteknight oh, you'll see it in a few seconds
19:20 mtk joined #parrot
19:22 plobsing commits or it didn't happen
19:25 cotto_work I don't see any commits.
19:26 whiteknight I'm working on it! Had to re-headerizer cause IMCC is stupid
19:26 whiteknight even if it was my fault, I still blame IMCC
19:28 dalek parrot/imcc_cleanups: 2471580 | Whiteknight++ | / (5 files):
19:28 dalek parrot/imcc_cleanups: remove the field interp->output_file. Instead, we let IMCC parse that option internally for now and not burden the interp with that information
19:28 dalek parrot/imcc_cleanups: review: https://github.com/parrot/parrot/commit/2471580b73
19:28 dalek parrot/imcc_cleanups: d4cdba7 | Whiteknight++ | / (3 files):
19:28 dalek parrot/imcc_cleanups: remove .pbc loading logic from imcc_run, and move it into the parrot.exe frontend. While I'm there, change argument parsing so we put parsed flag values into a struct, and make a few other cleanups and changes
19:28 dalek parrot/imcc_cleanups: review: https://github.com/parrot/parrot/commit/d4cdba7072
19:30 dalek parrot/pbc-backref: c46bc40 | plobsing++ | src/pmc/imageiofreeze.pmc:
19:30 dalek parrot/pbc-backref: simplify logic in  ImageIOFreeze.push_pmc
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/c46bc40bc9
19:30 dalek parrot/pbc-backref: f002b96 | plobsing++ | src/p (5 files):
19:30 dalek parrot/pbc-backref: inline Parrot_visit_list_{visit, thawfinish}
19:30 dalek parrot/pbc-backref:
19:30 dalek parrot/pbc-backref: This allows the visit list to be pruned while freezing.
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/f002b96228
19:30 dalek parrot/pbc-backref: 48b4174 | plobsing++ | / (11 files):
19:30 dalek parrot/pbc-backref: implement PBC backrefs in constant tables
19:30 dalek parrot/pbc-backref:
19:30 dalek parrot/pbc-backref: Objects previously seen in the object graphs of other constants in the same
19:30 dalek parrot/pbc-backref: constant table are now stored as backreferences in stead of being duplicated.
19:30 dalek parrot/pbc-backref: This is significant improvement for a number of common cases including, but not
19:30 dalek parrot/pbc-backref: limited to: namespaces, outer subs, and lexpads.
19:30 dalek parrot/pbc-backref:
19:30 dalek parrot/pbc-backref: opsc.pbc, by virtue of being created using nqp, makes heavy use of all of the
19:30 dalek parrot/pbc-backref: above mentioned features and is now 15% smaller.
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/48b41743ca
19:30 dalek parrot/pbc-backref: 3925b99 | plobsing++ | src/p (2 files):
19:30 dalek parrot/pbc-backref: [codingstd] cpp comments
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/3925b994cc
19:30 dalek parrot/pbc-backref: 6ac58b5 | plobsing++ | src/packfile/output.c:
19:30 dalek parrot/pbc-backref: [codingstd] c function docs
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/6ac58b50ea
19:30 dalek parrot/pbc-backref: f3ce78c | plobsing++ | src/pmc/imageio (2 files):
19:30 dalek parrot/pbc-backref: [codingstd] pmc docs
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/f3ce78ca39
19:30 dalek parrot/pbc-backref: e8cf978 | plobsing++ | src/p (2 files):
19:30 dalek parrot/pbc-backref: use get_pointer to access seen hash of ImageIOFreeze for consistency with ImageIOSize
19:30 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/e8cf978d94
19:31 plobsing pbc-backref decrease the size of rakudo's perl6.pbc by 65% and reduces the instructions executed by a simple Perl 6 "Hello World!" by 23%
19:32 cotto_work plobsing: I look forward to figuring out what you just did.
19:32 plobsing what do I win?
19:34 sorear plobsing: AWESOME.
19:36 jnthn plobsing++ # WOW!!!
19:36 jnthn plobsing: "instructions" as in, CPU-level?
19:36 plobsing yes
19:36 plobsing as collected by callgrind
19:37 jnthn *nod*
19:37 jnthn Wow. Again, plobsing++.
19:37 cotto_work plobsing++
19:37 moritz is it ready for testing?
19:37 jnthn plobsing: ooc, what's the difference in memory usage of Rakudo when you just type "perl6" and start the repl?
19:37 moritz i mean, testing rakudo on the branch?
19:38 plobsing moritz: I've completed all the changes I intended, and none of them *should* be visible outside of core, so yes
19:43 cotto_work plobsing: really nice work.  What gave you the idea?
19:44 plobsing it's been stewing in the back of my head for a while
19:44 plobsing I first noticed the problem when I fully understood the freeze/thaw/constants code.
19:45 plobsing it also came to the fore when I saw autoclose didn't work from PBC (it should now, but don't use it, it is a stupid feature)
19:46 plobsing and it is similar to the pbc-xrefs jnthn has requested
19:48 jnthn plobsing: The way auto-close looks today is really not too useful either.
19:48 jnthn s/looks/works/
19:50 plobsing jnthn: repl VSZ (as reported by ps) is also down 23%. RSS is down 33%
19:51 ambs_ joined #parrot
19:51 ambs left #parrot
19:51 ambs_ is now known as ambs
19:51 jnthn plobsing: Very nice.
19:52 ambs_ joined #parrot
19:52 ambs left #parrot
19:52 ambs_ is now known as ambs
19:55 dalek parrot/pbc-backref: c019067 | plobsing++ | src/pmc/imageiosize.pmc:
19:55 dalek parrot/pbc-backref: [codingstd] pod syntax
19:55 dalek parrot/pbc-backref: review: https://github.com/parrot/parrot/commit/c019067064
19:57 sorear plobsing: I'm glad somebody agrees with me about how stupid autoclose is
20:02 sECuRE_ joined #parrot
20:03 plobsing also, other optimizer-devs: tag your it! perl6 startup is now no longer dominated by thaw. it appears to be roughly a 3-way tie between hash performance, GC, and PCC.
20:03 sECuRE left #parrot
20:03 dukeleto ~~
20:03 dukeleto plobsing: sounds fun
20:04 moritz once we serialize meta classes, and deserialize them at startup (instead of building them as we do now), that might change again :-)
20:05 sorear the GC ought to be disabled during startup
20:05 sorear it's not like thaw creates garbage
20:05 plobsing perl6 startup perf *should* be dominated by thaw eventually, agreed. But right now making any one of Hashes, GC, or PCC faster should give decent improvements.
20:05 moritz no? not even temporary arrays or so?
20:05 dukeleto Coke: thanks for the heads up. I was seeing those build failures, but didn't know what was up
20:06 plobsing thaw creates a lot of garbage. I'd like to do away with that, but it's not so high on my list of priorities
20:06 jnthn moritz: Looking forward to that point. :)
20:06 moritz jnthn: me too
20:10 Coke dukeleto: whiteknight suggested you might know what's up with t/src/embed.t failures.
20:12 dukeleto Coke: i probably should. I haven't looked at the failures yet, tho
20:13 whiteknight PCC is an area where we do need to squeeze a hell of a lot of performance
20:14 dukeleto Coke: new_parrot_plain updated, will deploy soon
20:14 Coke be nice if we had a clean few days of smolder before the release.
20:14 * jnthn wonders if pbc-backref will land pre- or post-release
20:15 dukeleto jnthn: post 3.0
20:15 dukeleto jnthn: we aren't merging any branches before 3.0
20:16 dukeleto Coke: new new_parrot_plain deployed. Some smoke should clear up.
20:17 jnthn dukeleto: Makes sense.
20:17 jnthn It is rather close.
20:20 dukeleto Coke: i will try to look at the t/src/embed.t failures later today
20:31 dalek nqp-rx/nom: e0ac587 | jonathan++ | src/pmc/dispatchersub.pmc:
20:31 dalek nqp-rx/nom: s/inherits/extends/ for PMC inheritance. D'oh.
20:31 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/e0ac5873d0
20:31 dalek nqp-rx/nom: 08ccc35 | jonathan++ | src/ops/nqp.ops:
20:31 dalek nqp-rx/nom: Fix a name-o that made most of the multi-dispatch related ops busted.
20:31 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/08ccc356c2
20:31 dalek nqp-rx/nom: 75cf4dc | jonathan++ | src/NQP/Actions.pm:
20:31 dalek nqp-rx/nom: Align nqp-rx/nom's method_def more closesly with the nqpclr one. This gets setup of proto methods - at least at the code generation level - in shape; the * or {*} also calls the stub that will eventually enter the multi-dispatcher.
20:31 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/75cf4dcb56
20:47 dalek nqp-rx/nom: d7ccb41 | jonathan++ | src/pmc/dispatchersub.pmc:
20:47 dalek nqp-rx/nom: Make sure we mark the dispatchees.
20:47 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/d7ccb41d5a
20:50 dalek nqp-rx/nom: 25f7ff9 | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
20:50 dalek nqp-rx/nom: First piece of the multi-method handling in NQPClassHOW. Direct copy-paste from nqpclr's NQPClassHOW.
20:50 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/25f7ff934e
20:56 cotto_work jnthn: I'm think about how to set roadmap items for an implementation of the mop in M0 (the ops used by Lorito).  What would a minimum mop implementation need to contain?
20:58 jnthn In 6model, everything is built on top of the KnowHOW meta-object (which has an instance of itself that is set up to describe itself).
20:59 jnthn It's pretty minimal.
20:59 jnthn See https://github.com/perl6/nqp-rx/blob/no​m/src/metamodel/knowhow_bootstrapper.c
20:59 jnthn For the setup logic of it.
21:00 cotto_work What I'm thinking is, how little can we do to make something that looks like the mop?  It doesn't need to be complete, just a good starting point along the road to a complete reimplementation.
21:01 jnthn If you have some kind of struct, arrays, hashes and the ability to invoke something and pass it some arguments, you're probably much of the way there.
21:01 jnthn Well, with some basic ops
21:01 jnthn You can build a basic meta-object out of those.
21:02 cotto_work Thanks.  I'm pretty sure that was what I was looking for.
21:03 jnthn The file I linked may be a bit of an eyeful but if you dig into what it's doing, it's doing little more than set up a data structure built out of the things I described.
21:03 cotto_work Yeah.  I've been spending a bit of time looking through your work on the nom branch.
21:04 jnthn OK
21:04 he_ left #parrot
21:04 jnthn Every other meta-object is built out of KnowHOW in nqp-rx/nom.
21:04 cotto_work It's helpful to ask you because you already have a complete mental model of how it all hangs together.
21:05 jnthn Sure. :-)
21:05 jnthn Just like to try and link what I'm saying to code too. :)
21:09 jnthn cotto_work: BTW, the multi-dispatch stuff I'm working on at the moment isn't core to the meta-model.
21:10 jnthn cotto_work: It's core to nqp's and Perl 6's needs, but another language using the meta-model bits need not have anything to do with the Perl 6 style multi-dispatch.
21:11 dalek nqp-rx/nom: c6b29ec | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
21:11 dalek nqp-rx/nom: Port over incorporate_multi_candidates. No algorithmic changes, just VM munging (yes, I hope to have the nqpclr and nqp-rx versions the same some day soon - for now this is not too far off).
21:11 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/c6b29ec1f1
21:14 bacek left #parrot
21:17 vmspb left #parrot
21:21 moritz plobsing: rakudo spectest passes on pbc-backref branch
21:22 moritz plobsing: and let me just say "WTF?" (in a positive sense) - 20.5 minutes for a spectest run (on 2 cores)...
21:22 plobsing moritz: thanks. good to know.
21:22 plobsing moritz: how long does it usually take?
21:22 moritz plobsing: I don't know exactly... longer :-)
21:23 moritz running a timed spectest now
21:30 bacek joined #parrot
21:50 rurban left #parrot
21:51 rurban joined #parrot
21:55 chromatic joined #parrot
21:56 Patterner left #parrot
21:56 whiteknight left #parrot
21:56 Psyche^ joined #parrot
21:56 bacek left #parrot
21:56 Psyche^ is now known as Patterner
22:02 ambs_ joined #parrot
22:02 ambs left #parrot
22:02 ambs_ is now known as ambs
22:02 ambs left #parrot
22:09 bacek joined #parrot
22:20 dmalcolm left #parrot
22:24 plobsing moritz: hows the spectest comming?
22:33 nopaste "mikehh" at 192.168.1.3 pasted "Configure fails when run with --test" (19 lines) at http://nopaste.snit.ch/27834
22:37 mikehh that's a new test t/configure/065-git_describe_from_cache.t added by dukeleto
22:38 mikehh first failed on me about 12 hours ago
22:42 mikehh dukeleto: ping
22:50 bacek left #parrot
23:01 dalek parrot: 5e6374d | mikehh++ | docs/dev/profiling.pod:
23:01 dalek parrot: fix pod to conform with make html
23:01 dalek parrot:
23:01 dalek parrot: uc =head1 Name to =head1 NAME (this seems to be required)
23:01 dalek parrot: also Description to DESCRIPTION (only other =head1 in the pod)
23:01 dalek parrot: did not change copyright as this probably needs to be updated and
23:01 dalek parrot:  do not want to show that this is up-to-date
23:01 dalek parrot: review: https://github.com/parrot/parrot/commit/5e6374d2e8
23:03 bacek joined #parrot
23:04 fperrad left #parrot
23:06 Coke Any devs currently building on windows?
23:06 Coke I just got the latest strawberry perl and msysgit, and cannot config.
23:07 fbrito left #parrot
23:07 * Coke digs up the wiki
23:07 mikehh Coke: you didn't run with --test did you, that fails for me
23:08 Coke no, I rarely run with that.
23:08 * Coke looks at http://trac.parrot.org/par​rot/wiki/Platforms/Windows and wonders WTF happened to parrot on windows.
23:09 Coke it used to JFW.
23:09 Coke *sigh*
23:09 mikehh I can run Configure with --test-build, but not --test on its own
23:09 jnthn Coke: Agree, but otoh there's at least one known configuration where it does reliably tend to.
23:09 mikehh --test=build
23:09 jnthn Coke: But it'd be really nice if it Just Worked with Strawberry too.
23:10 Coke jnthn: k. I will see about fixing it to work with strawberry perl again, but that's more than I will do tonight.
23:10 jnthn Coke: I'm confused about "Use the following arguments to Configure.pl in the Windows SDK command prompr and you should be able to build with msvc."
23:10 jnthn Coke: And the huge load of args below.
23:10 Coke aloha, msg dukeleto you should add a new_parrot_test that tries to run Configure.pl with --test. maybe.
23:10 aloha Coke: OK. I'll deliver the message.
23:10 jnthn Coke: I just do perl Configure.pl <enter>
23:11 jnthn And it works.
23:11 Coke jnthn: that is using msvc with strawberry as opposed to active.
23:11 jnthn oh, wait
23:11 jnthn Right.
23:11 jnthn Yeah, sorry, I missed that. :)
23:19 dmalcolm joined #parrot
23:36 dalek nqp-rx/nom: 0499684 | jonathan++ | / (2 files):
23:36 dalek nqp-rx/nom: Turns out we need some kind of lightweight signature object just for multis, to store the types but also definedness constraints (thus can't easily use an RPA). This should do it for now.
23:36 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/049968457a
23:36 dalek nqp-rx/nom: 3a7f05b | jonathan++ | src/ops/nqp.ops:
23:37 dalek nqp-rx/nom: Add an op for putting a multi sig in place.
23:37 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/3a7f05bdc6
23:37 dalek nqp-rx/nom: d34f3a0 | jonathan++ | src/NQP/Actions.pm:
23:37 dalek nqp-rx/nom: Emit code that builds and installs multisig objects that contain the type and definedness constraint for each multi candidate.
23:37 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/d34f3a0892

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

Parrot | source cross referenced