|
Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: write GettingStartedWithPlumage, review html documentation, test HLLs, review deprecations | no major changes after Tuesday, only critical fixes and documentation updates after Friday Set by moderator on 12 January 2011. |
|||
| dalek | rrot: 35f5746 | Whiteknight++ | / (3 files): fix README with non-ascii name. It breaks MANIFEST and configure, so give it a simpler name |
00:02 | |
|
00:04
jsut joined
00:05
hercynium joined
|
|||
| dukeleto | whiteknight++ | 00:09 | |
|
00:09
jsut_ left
|
|||
| dukeleto | YAML is making me very angry right now | 00:10 | |
| I just want to store a multiline string as the value of a key | |||
| Why is that so hard? | |||
|
00:12
KatrinaTheLamia joined
|
|||
| whiteknight | What does the eval_pmc attribute on Sub do? | 00:19 | |
| because it appears to do very little | |||
| And I think I'm going to delete it | |||
| cotto_work | not right now, I hope | 00:21 | |
| whiteknight | not from master | 00:22 | |
| plobsing | whiteknight: eval_pmc points back to the eval PMC that created this sub, if any | 00:23 | |
| that way the bytecode doesn't get collected out from under the sub | |||
| whiteknight | right, | 00:25 | |
| So the Eval PMC is tied to the bytecode/packfile? | |||
| why isn't it just a PackFile PMC? | |||
| plobsing | it does essentially fill that role, yes | 00:26 | |
| it can probably go away once our packfiles are tracked by PBCs | 00:27 | ||
| jnthn | s/PBCs/PMCs/? | 00:30 | |
| plobsing | sure. them too. | 00:31 | |
|
00:36
gbacon left
|
|||
| whiteknight | what is PBC_PBC? | 00:49 | |
| it's the same as PBC_MAIN, right? | |||
| cotto_work | Nice. Rakudo's spectest_regression passes with the latest parrot. | 00:50 | |
| davidfetter | eeeeeeexcellent! | 00:58 | |
| </monty_burns> | 00:59 | ||
|
01:13
cognominal left,
mikehh joined
01:14
whiteknight_ joined
|
|||
| 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:14 | |
|
01:15
cognominal joined
01:18
whiteknight left
01:19
whiteknight_ is now known as whiteknight
01:27
Kristaba left,
davidfetter left
01:29
kid51 joined
|
|||
| whiteknight | PBC_MAIN and PBC_PBC appear to fire when we load the initial bytecode file, before we execute :main | 01:29 | |
|
01:29
hercynium left
01:31
fbrito left
|
|||
| whiteknight | damnit, this whole thing is so twisted | 01:35 | |
| dalek | rrot/kill_packfile_new_dummy: ff5035f | Whiteknight++ | / (2 files): rename a variable to be less confusing |
01:38 | |
| 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:43 | |
| whiteknight | so do_1_sub_pragma appears to ignore PBC_PBC | 01:45 | |
| wtf | |||
| so what does PBC_PBC do? | |||
| bacek_at_work | whiteknight, PBC_PBC isn't used in imcc | 01:47 | |
| cotto_work | bacek_at_work: making it the same as PBC_MAIN causes a segfault in the build. | 01:50 | |
| It's fun. Try it! | |||
| whiteknight | and if I take it out completely, I get a Null PMC access exception | 01:51 | |
| so it is used. but I have no idea how, or why | |||
| cotto_work | added in github.com/parrot/parrot/commit/def84918 in 2004 | 01:52 | |
| I lie. it was just moved in that commit. | |||
| browsing a 2004-vintage Parrot is a bit surreal | 01:53 | ||
| whiteknight | I really hate this system of PackFile_fixup_subs and do_sub_pragmas | 01:55 | |
| 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 | ||
| TT #1942: trac.parrot.org/parrot/ticket/1942 | |||
| TT #1963 created by jkeenan++: src/string/api.c: Throws warnings under two 'make' targets | |||
| TT #1963: trac.parrot.org/parrot/ticket/1963 | |||
| 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 | ||
| 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 | ||
| 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 | |
| in a :load situation, I want a list of all :load subs | |||
| in an :init situation, I want a list of all :init subs | |||
| and when it's time to execute :main, I want to be able to ask for that and get it | |||
| cotto_work | Wow. 2004-era Parrot expects icu to be in the root of the src dir. | 02:00 | |
| plobsing | it is interesting how much our repo structure changed over the years. | 02:01 | |
| 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:02 | ||
| cotto_work | github.com/parrot/parrot/commit/7a1ac2246 is definitely the commit where PBC_PBC was added. | 02:05 | |
| plobsing, sounds fascinating | |||
| completely unhelpful is another thing that it is | 02:07 | ||
| or is it? | |||
| github.com/parrot/parrot/commit/7a...cec#L3R208 | |||
| 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:09 | |
| 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? | ||
| whiteknight++ | |||
| whiteknight | cotto_work: Hit it with a large metal rod | ||
| cotto_work | I suspect that a more comprehensive and nuanced solution may be required. | 02:12 | |
| 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 | ||
| 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? | ||
| whiteknight | :library_main does basically what :load does now | ||
| 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 | ||
| basically different names for :main and :load, respectively | |||
| plobsing | then just call them that. this isn't the JVM. identifiers do not have a minimum character length. | 02:16 | |
|
02:16
vmspb left
|
|||
| 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 | |
| whatever we refer to them by is one thing | |||
|
02:36
whiteknight left
|
|||
| kid51 | A git question: | 02:44 | |
| I have revised about a dozen files, called 'git add', and generated a patch from 'git diff --cached'. | 02:45 | ||
|
02:45
fbrito joined
|
|||
| kid51 | But, given that we're approaching a release, I probably should not commit these changes right away. | 02:45 | |
| What is the best way to clear out these revisions? BTW, this was done in a checkout of master. | 02:46 | ||
| dalek | rrot: 19c9af2 | jkeenan++ | t/steps/init/optimize-01.t: [codingstd] Eliminate trailing whitespace. |
02:48 | |
| sorear | kid51: git reset --hard HEAD clears uncommitted changes | 02:56 | |
| git reset --hard origin/master clears local changes | |||
| alternatively, commit on a local branch | |||
| plobsing | or use the stash | 02:58 | |
| kid51 | plobsing: 'git stash' will stash scheduled but uncommitted files, correct? | 02:59 | |
| Yes, that's what man git-stash tells me, and that sounds right. | 03:00 | ||
| Done. | |||
| Thanks. | |||
| plobsing | kid51: it will stash all changes (without regard to adding) IIRC | ||
| cotto | ~~ | 03:11 | |
|
03:11
cognominal left
|
|||
| kid51 | cotto If you have time: trac.parrot.org/parrot/ticket/1934#comment:12 | 03:34 | |
| cotto looks | 03:35 | ||
|
03:42
Myhrlin joined
|
|||
| cotto | kid51, do you have a branch with that patch? | 03:45 | |
| 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 | |
| I'm perfectly fine with postponing it till after 3.0. | |||
| But if you want to run with it now. | |||
| I would like to hear from the GCIer who wrote that ... someone who can tell me the pretty-printing still works. | |||
| cotto | iirc the gdb stuff just requires a very recent version of gdb (7.2+?) | 03:47 | |
| Since it's not messing anything up, I'd prefer to leave it out until post-release, | 03:48 | ||
| . | |||
| kid51 | I do not have gdb 7.anything | ||
| 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. | |||
| kid51 must sleep | 03:51 | ||
| cotto | 'night | 03:55 | |
|
03:58
kid51 left
|
|||
| cotto | jnthn, can you mention your use case for :instanceof in trac.parrot.org/parrot/ticket/1962 ? | 04:10 | |
| dalek | TT #1950 reopened by cotto++: pbc_disassemble dumps core on illegal options | ||
| TT #1950: trac.parrot.org/parrot/ticket/1950 | |||
|
04:27
hercynium joined
04:28
hercynium left
|
|||
| dalek | rrot: 42b94c9 | petdance++ | / (3 files): adding function macros |
04:57 | |
|
05:50
rurban left
05:51
rurban joined
|
|||
| dukeleto | ~~ | 06:08 | |
| tadzik | ~~ | 06:09 | |
|
06:16
contingencyplan_ joined
06:17
contingencyplan left
|
|||
| cotto | hi dukeleto | 06:19 | |
| dukeleto | cotto: wazzup | 06:22 | |
| dukeleto is playing around with Django and Python | 06:24 | ||
| dukeleto is outside his comfort zone | |||
| pypi.python.org/pypi/virtualenv is the python equivalent of perlbrew/rvm/parrot-handler | 06:35 | ||
| cotto | I didn't mind django when I played with it. | 06:36 | |
| I never got very far though. | |||
|
06:38
fbrito left,
fbrito joined
|
|||
| dukeleto | tadzik: how is the deprecation as data stuff going? | 06:39 | |
| tadzik | dukeleto: it isn't I barely woke up :0 | 06:42 | |
| :) | |||
| dukeleto | tadzik: well, you seem awake now :) | ||
| tadzik | I don't think I'll find time to do anything today | ||
| dukeleto: well, but I was sleeping all this time :) | |||
| dukeleto | tadzik: we can split it up if you want | 06:43 | |
| tadzik: if there are multiple things to do | |||
| 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 | ||
| dukeleto | tadzik: ok, no worries. It is all you :) | ||
| cotto: what are you hacking on tonight? | 06:46 | ||
| cotto | dukeleto, call it meta-hacking. figuring out what architecty stuff needs to be done by me and how much can be delegated | 06:48 | |
| it involves less coding than I'd hope | 06:49 | ||
|
06:55
fbrito left
06:56
cosimo joined
|
|||
| 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. | ||
| also, I'll have something well-defined to talk about at PDS | 07:00 | ||
| dukeleto | cotto: oh yeah, that is gonna happen again soon | 07:01 | |
| cotto | ypu | ||
| yup | |||
| cotto wishes he could upgrade his brain | 07:02 | ||
| dukeleto | there are ways | 07:04 | |
| cotto has been watching Dollhouse | 07:05 | ||
|
07:22
fperrad joined
|
|||
| cotto | jnthn, ping | 07:23 | |
| I'm not sure how I feel about always having a PDS <=3 months away, but we'll see how it goes. | 07:25 | ||
| dukeleto | cotto: what lorito stuff do you want to talk about at PDS? | 07:35 | |
| cotto | in general terms, what's known about the design and what I plan to have nailed down and/or implemented by when | 07:36 | |
| that's probably more general than you were hoping | 07:37 | ||
|
07:50
jan left
|
|||
| cotto | 'night | 07:55 | |
|
08:19
acrussell left
08:21
theory left
08:28
he__ joined
08:54
contingencyplan_ left
08:59
TiMBuS left,
TiMBuS joined
09:13
sjn joined
|
|||
| dukeleto | blarg. Python still hurts | 09:40 | |
|
09:57
cotto left
10:05
vaneska joined
|
|||
| dalek | rrot: 2a4e288 | (Gerd Pokorra)++ | tools/docs/make_html_docs.pl: add version to HTML title |
10:23 | |
| rrot: 4fbf977 | NotFound++ | / (2 files): fix decorations of Parrot_str_from_platform_cstring |
11:00 | ||
|
11:02
cognominal joined
|
|||
| mikehh | t/configure/065-git_describe_from_cache.t is failing pre-config tests | 11:15 | |
| Can't locate Parrot/Git/Describe.pm in @INC | 11:16 | ||
|
11:22
ok22 left
|
|||
| dalek | rrot: e0df021 | mikehh++ | src/string/api.c: fix codetest failure - line length |
11:29 | |
|
12:37
PacoLinux left
|
|||
| dalek | TT #1964 created by coke++: t/src/embed.t failed 34 tests of 49. | 12:38 | |
| TT #1964: trac.parrot.org/parrot/ticket/1964 | |||
| mj41 | Chrome Release Cycle slides docs.google.com/present/view?id=dg..._4d7vkk6ch | ||
|
12:41
vaneska left
12:47
fbrito joined
|
|||
| dalek | TT #1950 closed by doughera++: pbc_disassemble dumps core on illegal options | 12:54 | |
| TT #1950: trac.parrot.org/parrot/ticket/1950 | |||
| rrot: 0297b0a | gerd++ | tools/docs/make_html_docs.pl: make the option "--version" optional |
13:38 | ||
|
13:44
mtk joined
13:45
mtk left,
mtk joined,
whiteknight joined
13:50
mtk left,
rurban left,
mtk joined
13:51
rurban joined
|
|||
| whiteknight | good morning, #parrot | 13:54 | |
| 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 | |
| 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
|
|||
| whiteknight | Coke: That's the old API, and might be related to some of dukeleto's work | 14:13 | |
| I'll go look at it right now | 14:14 | ||
| Coke | (old API) ah, then it definitely should be fixed. ;) | 14:16 | |
|
14:23
he__ left
|
|||
| dalek | rrot/imcc_cleanups: 4357d74 | Whiteknight++ | / (2 files): remove unused function imcc_run_pbc |
14:24 | |
| rrot/imcc_cleanups: c68e224 | Whiteknight++ | / (5 files): 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:29
cognominal left
14:31
plobsing joined
|
|||
| NotFound | whiteknight: this doesn't look good: Parrot_String string; string = Parrot_PMC_new(interp, Parrot_PMC_typenum(interp,"String")); | 14:42 | |
| Also, if the vtable accessors are intended for extending, they should be tested in extend.t, not in embed.t | 14:45 | ||
| whiteknight | NotFound: Where is that line? | 14:50 | |
| and what doesn't look good about it? | |||
| NotFound | whiteknight: Parrot_String is a string, not a PMC, isn't it? | ||
| embed.t line 82 and following | 14:51 | ||
| whiteknight | ah, right | ||
| sorry. Yes that is wrong | |||
| NotFound | Are we going to allow explicit calls to the destroy vtable? Seems very error prone to me. | 14:55 | |
|
14:55
PacoLinux joined
|
|||
| whiteknight | no, we definitely don't want that | 15:12 | |
| explicit calls to VTABLE_destroy, VTABLE_mark, VTABLE_invoke, VTABLE_share, VTABLE_share_ro are all bad | |||
| probably some others I am missing | |||
| VTABLE_init, VTABLE_init_int, and VTABLE_init_pmc | 15:13 | ||
| NotFound | Then we shouldn't test it. | 15:14 | |
|
15:27
contingencyplan_ joined
15:28
mtk left
15:37
plobsing left
15:41
theory joined
15:45
plobsing joined
16:08
gbacon joined
|
|||
| dalek | TT #1965 created by doughera++: rational.pmc's get_bool is backwards and not portable | 16:12 | |
| TT #1965: trac.parrot.org/parrot/ticket/1965 | |||
| Coke | doughera++ | 16:15 | |
|
16:25
wolverian left
16:30
gbacon left
|
|||
| mikehh | dukeleto: ping | 16:32 | |
|
16:43
Kristaba joined
17:18
cotto joined
17:41
plobsing left
|
|||
| dalek | p-rx/nom: 10b0b0b | jonathan++ | / (2 files): Stub in a DispatcherSub PMC to be used for subs that serve as dispatchers. |
17:41 | |
| p-rx/nom: bb3de19 | jonathan++ | src/ops/nqp.ops: Port the ops related to multiple dispatch; the one that actually does the dispatch is incomplete, but the rest are complete (though untested). |
|||
| cotto_work | ~~ | 17:47 | |
| Coke | seen dukeleto? | 17:50 | |
| aloha | dukeleto was last seen in #parrot 8 hours 10 mins ago saying "blarg. Python still hurts". | ||
| Coke | checking out a fresh copy of parrot is slow-ish. | 17:53 | |
|
17:55
[hudnix] joined
|
|||
| cotto_work | mikehh: ping | 17:56 | |
| 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
|
|||
| cotto_work | whiteknight++ for decrapifying imcc one function at a time | 17:58 | |
| that's the only way to do it while maintaining sanity | |||
| Coke | No NCI thunk available for signature 'PJt' | 17:59 | |
| msg dukeleto is your smoker alerting you to build failures at all? | 18:00 | ||
| aloha | OK. I'll deliver the message. | ||
| cotto_work | Coke: what triggers that? | ||
| Coke | github.com/leto/Util/blob/master/b...rrot_plain | ||
| 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 | ||
| mikehh | cotto_work: pong | 18:02 | |
| cotto_work | mikehh: in make_html_docs.pl, why is --version=x necessary at all? Why not just use VERSION? | 18:03 | |
|
18:03
plobsing joined
|
|||
| mikehh | cotto_work: dunno, that was how it was before when I started working on it | 18:04 | |
| 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 | ||
| Coke | it IS using VERSIOn. | ||
| it's passing it on the command line, though. | |||
| IIRC. | 18:06 | ||
| rant: the nqp stuff in the normal build is SO SLOOOOOW | |||
| (looks like it's just used to test the profiler, too.Ironic.) | |||
| mikehh | cotto_work: just need to run make html and transfer the docs in docs/html to parrot.org as before | 18:07 | |
| cotto_work: will check it out though | 18:08 | ||
| cotto_work | mikehh: thanks | 18:10 | |
| Coke | cotto_work: narrowing down which of those config options is responsible. | 18:14 | |
| there we go. | 18:20 | ||
|
18:23
ambs joined
|
|||
| dalek | TT #1966 created by coke++: Configure.pl --without-core-nci-thunks breaks build. | 18:25 | |
| TT #1966: trac.parrot.org/parrot/ticket/1966 | |||
| Coke | Ok. I can't promise it'll stay up, but I've got dukeleto's parrot smoker running locally. | 18:34 | |
| (darwin/x86) | |||
| 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? | ||
| cotto_work | probably to verify that a jit frame builder works | ||
| dalek | p-rx/nom: 194180d | jonathan++ | src/NQP/Grammar.pm: Bring the various multiple dispatch and signature parsing changes introduced in JnthnNQP into the nqp-rx/nom grammar. |
18:36 | |
| p-rx/nom: d3290da | jonathan++ | src/NQP/Actions.pm: Actions for {*}. |
|||
| Coke | cotto_work: do we have one of those? | ||
| cotto_work | we did at some point. I don't recall what happened to it. | ||
| Coke | looks like those embed failures are g++ specific? | 18:37 | |
| dalek | p-rx/nom: 2f51f68 | jonathan++ | src/NQP/Actions.pm: 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 | |
| Coke | plobsing: you can go ahead and close 1966, then. | 18:47 | |
| msg dukeleto - given #1966, you probably want to update your new_parrot_plain script to avoid that option. | |||
| aloha | OK. I'll deliver the message. | ||
| dalek | TT #1966 closed by plobsing++: Configure.pl --without-core-nci-thunks breaks build. | 18:58 | |
| TT #1966: trac.parrot.org/parrot/ticket/1966 | |||
|
18:59
dmalcolm joined
|
|||
| whiteknight | cotto_work: I have a commit coming up here that you are going to love | 19:06 | |
| cotto_work waits | 19:13 | ||
|
19:14
vmspb joined
|
|||
| whiteknight | I was going to push it, but then I started working on another one | 19:18 | |
| cotto_work | now I'll never know. | 19:19 | |
| whiteknight | oh, you'll see it in a few seconds | ||
|
19:20
mtk joined
|
|||
| plobsing | commits or it didn't happen | 19:22 | |
| cotto_work | I don't see any commits. | 19:25 | |
| whiteknight | I'm working on it! Had to re-headerizer cause IMCC is stupid | 19:26 | |
| even if it was my fault, I still blame IMCC | |||
| dalek | rrot/imcc_cleanups: 2471580 | Whiteknight++ | / (5 files): 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 | |
| rrot/imcc_cleanups: d4cdba7 | Whiteknight++ | / (3 files): 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 |
|||
| rrot/pbc-backref: c46bc40 | plobsing++ | src/pmc/imageiofreeze.pmc: simplify logic in ImageIOFreeze.push_pmc |
19:30 | ||
| rrot/pbc-backref: f002b96 | plobsing++ | src/p (5 files): inline Parrot_visit_list_{visit, thawfinish} This allows the visit list to be pruned while freezing. |
|||
| rrot/pbc-backref: 48b4174 | plobsing++ | / (11 files): implement PBC backrefs in constant tables Objects previously seen in the object graphs of other constants in the same constant table are now stored as backreferences in stead of being duplicated. This is significant improvement for a number of common cases including, but not limited to: namespaces, outer subs, and lexpads. opsc.pbc, by virtue of being created using nqp, makes heavy use of all of the above mentioned features and is now 15% smaller. |
|||
| rrot/pbc-backref: 3925b99 | plobsing++ | src/p (2 files): [codingstd] cpp comments |
|||
| rrot/pbc-backref: 6ac58b5 | plobsing++ | src/packfile/output.c: [codingstd] c function docs |
|||
| rrot/pbc-backref: f3ce78c | plobsing++ | src/pmc/imageio (2 files): [codingstd] pmc docs |
|||
| rrot/pbc-backref: e8cf978 | plobsing++ | src/p (2 files): use get_pointer to access seen hash of ImageIOFreeze for consistency with ImageIOSize |
|||
| 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:31 | |
| cotto_work | plobsing: I look forward to figuring out what you just did. | 19:32 | |
| plobsing | what do I win? | ||
| sorear | plobsing: AWESOME. | 19:34 | |
| jnthn | plobsing++ # WOW!!! | 19:36 | |
| plobsing: "instructions" as in, CPU-level? | |||
| plobsing | yes | ||
| as collected by callgrind | |||
| jnthn | *nod* | 19:37 | |
| Wow. Again, plobsing++. | |||
| cotto_work | plobsing++ | ||
| moritz | is it ready for testing? | ||
| jnthn | plobsing: ooc, what's the difference in memory usage of Rakudo when you just type "perl6" and start the repl? | ||
| moritz | i mean, testing rakudo on the branch? | ||
| plobsing | moritz: I've completed all the changes I intended, and none of them *should* be visible outside of core, so yes | 19:38 | |
| cotto_work | plobsing: really nice work. What gave you the idea? | 19:43 | |
| plobsing | it's been stewing in the back of my head for a while | 19:44 | |
| I first noticed the problem when I fully understood the freeze/thaw/constants code. | |||
| 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:45 | ||
| and it is similar to the pbc-xrefs jnthn has requested | 19:46 | ||
| jnthn | plobsing: The way auto-close looks today is really not too useful either. | 19:48 | |
| s/looks/works/ | |||
| plobsing | jnthn: repl VSZ (as reported by ps) is also down 23%. RSS is down 33% | 19:50 | |
|
19:51
ambs_ joined,
ambs left,
ambs_ is now known as ambs
|
|||
| jnthn | plobsing: Very nice. | 19:51 | |
|
19:52
ambs_ joined,
ambs left,
ambs_ is now known as ambs
|
|||
| dalek | rrot/pbc-backref: c019067 | plobsing++ | src/pmc/imageiosize.pmc: [codingstd] pod syntax |
19:55 | |
| sorear | plobsing: I'm glad somebody agrees with me about how stupid autoclose is | 19:57 | |
|
20:02
sECuRE_ joined
|
|||
| 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 | |
|
20:03
sECuRE left
|
|||
| dukeleto | ~~ | 20:03 | |
| plobsing: sounds fun | |||
| moritz | once we serialize meta classes, and deserialize them at startup (instead of building them as we do now), that might change again :-) | 20:04 | |
| sorear | the GC ought to be disabled during startup | 20:05 | |
| it's not like thaw creates garbage | |||
| 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. | ||
| moritz | no? not even temporary arrays or so? | ||
| dukeleto | Coke: thanks for the heads up. I was seeing those build failures, but didn't know what was up | ||
| 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. :) | ||
| moritz | jnthn: me too | ||
| Coke | dukeleto: whiteknight suggested you might know what's up with t/src/embed.t failures. | 20:10 | |
| dukeleto | Coke: i probably should. I haven't looked at the failures yet, tho | 20:12 | |
| whiteknight | PCC is an area where we do need to squeeze a hell of a lot of performance | 20:13 | |
| 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. | ||
| jnthn wonders if pbc-backref will land pre- or post-release | |||
| dukeleto | jnthn: post 3.0 | 20:15 | |
| jnthn: we aren't merging any branches before 3.0 | |||
| Coke: new new_parrot_plain deployed. Some smoke should clear up. | 20:16 | ||
| jnthn | dukeleto: Makes sense. | 20:17 | |
| It is rather close. | |||
| dukeleto | Coke: i will try to look at the t/src/embed.t failures later today | 20:20 | |
| dalek | p-rx/nom: e0ac587 | jonathan++ | src/pmc/dispatchersub.pmc: s/inherits/extends/ for PMC inheritance. D'oh. |
20:31 | |
| p-rx/nom: 08ccc35 | jonathan++ | src/ops/nqp.ops: Fix a name-o that made most of the multi-dispatch related ops busted. |
|||
| p-rx/nom: 75cf4dc | jonathan++ | src/NQP/Actions.pm: 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. |
|||
| p-rx/nom: d7ccb41 | jonathan++ | src/pmc/dispatchersub.pmc: Make sure we mark the dispatchees. |
20:47 | ||
| p-rx/nom: 25f7ff9 | jonathan++ | src/metamodel/how/NQPClassHOW.pm: First piece of the multi-method handling in NQPClassHOW. Direct copy-paste from nqpclr's NQPClassHOW. |
20:50 | ||
| 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:56 | |
| 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:58 | |
| It's pretty minimal. | 20:59 | ||
| See github.com/perl6/nqp-rx/blob/nom/s...strapper.c | |||
| For the setup logic of it. | |||
| 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:00 | |
| 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 | |
| Well, with some basic ops | |||
| You can build a basic meta-object out of those. | |||
| cotto_work | Thanks. I'm pretty sure that was what I was looking for. | 21:02 | |
| 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. | ||
| jnthn | OK | 21:04 | |
|
21:04
he_ left
|
|||
| 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. | ||
| jnthn | Sure. :-) | 21:05 | |
| Just like to try and link what I'm saying to code too. :) | |||
| cotto_work: BTW, the multi-dispatch stuff I'm working on at the moment isn't core to the meta-model. | 21:09 | ||
| 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:10 | ||
| dalek | p-rx/nom: c6b29ec | jonathan++ | src/metamodel/how/NQPClassHOW.pm: 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 | |
|
21:14
bacek left
21:17
vmspb left
|
|||
| moritz | plobsing: rakudo spectest passes on pbc-backref branch | 21:21 | |
| 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. | ||
| moritz: how long does it usually take? | |||
| moritz | plobsing: I don't know exactly... longer :-) | ||
| running a timed spectest now | 21:23 | ||
|
21:30
bacek joined
21:50
rurban left
21:51
rurban joined
21:55
chromatic joined
21:56
Patterner left,
whiteknight left,
Psyche^ joined,
bacek left,
Psyche^ is now known as Patterner
22:02
ambs_ joined,
ambs left,
ambs_ is now known as ambs,
ambs left
22:09
bacek joined
22:20
dmalcolm left
|
|||
| plobsing | moritz: hows the spectest comming? | 22:24 | |
| nopaste | "mikehh" at 192.168.1.3 pasted "Configure fails when run with --test" (19 lines) at nopaste.snit.ch/27834 | 22:33 | |
| mikehh | that's a new test t/configure/065-git_describe_from_cache.t added by dukeleto | 22:37 | |
| first failed on me about 12 hours ago | 22:38 | ||
| dukeleto: ping | 22:42 | ||
|
22:50
bacek left
|
|||
| dalek | rrot: 5e6374d | mikehh++ | docs/dev/profiling.pod: fix pod to conform with make html uc =head1 Name to =head1 NAME (this seems to be required) also Description to DESCRIPTION (only other =head1 in the pod) did not change copyright as this probably needs to be updated and do not want to show that this is up-to-date |
23:01 | |
|
23:03
bacek joined
23:04
fperrad left
|
|||
| Coke | Any devs currently building on windows? | 23:06 | |
| I just got the latest strawberry perl and msysgit, and cannot config. | |||
|
23:07
fbrito left
|
|||
| Coke digs up the wiki | 23:07 | ||
| mikehh | Coke: you didn't run with --test did you, that fails for me | ||
| Coke | no, I rarely run with that. | 23:08 | |
| Coke looks at trac.parrot.org/parrot/wiki/Platforms/Windows and wonders WTF happened to parrot on windows. | |||
| it used to JFW. | 23:09 | ||
| *sigh* | |||
| mikehh | I can run Configure with --test-build, but not --test on its own | ||
| jnthn | Coke: Agree, but otoh there's at least one known configuration where it does reliably tend to. | ||
| mikehh | --test=build | ||
| jnthn | Coke: But it'd be really nice if it Just Worked with Strawberry too. | ||
| 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." | ||
| Coke: And the huge load of args below. | |||
| Coke | aloha, msg dukeleto you should add a new_parrot_test that tries to run Configure.pl with --test. maybe. | ||
| aloha | Coke: OK. I'll deliver the message. | ||
| jnthn | Coke: I just do perl Configure.pl <enter> | ||
| And it works. | 23:11 | ||
| Coke | jnthn: that is using msvc with strawberry as opposed to active. | ||
| jnthn | oh, wait | ||
| Right. | |||
| Yeah, sorry, I missed that. :) | |||
|
23:19
dmalcolm joined
|
|||
| dalek | p-rx/nom: 0499684 | jonathan++ | / (2 files): 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 | |
| p-rx/nom: 3a7f05b | jonathan++ | src/ops/nqp.ops: Add an op for putting a multi sig in place. |
|||
| p-rx/nom: d34f3a0 | jonathan++ | src/NQP/Actions.pm: Emit code that builds and installs multisig objects that contain the type and definedness constraint for each multi candidate. |
|||