|
Parrot 4.3.0 "In Which..." | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 25 April 2012. |
|||
|
00:04
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 00:19 | |
|
01:32
alester joined
|
|||
| kid51 | alester: ping | 01:37 | |
| alester | i'm here | ||
| kid51 | In #770, what is the "this" you want to merge to master? | 01:38 | |
| alester | the diff | ||
| that you wrote | |||
| kid51 | Actually, I thought of that as just a first draft. I thought you wanted to integrate it into headerizer more explicitly. | 01:39 | |
| (In any event, we're in pre-release code freeze so I don't think we should do anything until after Tuesday.) | |||
| alester | I do want to put it into the headerizer, AND I don't see any reason not to put your changes in the test. | 01:40 | |
| kid51 | I would probably want to refine it further to reflect what Whiteknight showed about PARROT_IS_NOT_NULL | ||
| alester | So commit what you have. | ||
| And then add more later | |||
| kid51 | I'm going to hold off committing until after release. | ||
| alester | I can see that. I just wouldn't hold off based on "I want to make one big patch." | 01:41 | |
| kid51 | The patch won't be any bigger; it just needs a less crude regex. | ||
| alester | and you can use is_deeply() | 01:42 | |
| oh, and bump up the copyright to -2012 in the header | 01:43 | ||
| kid51 | Will do. | ||
| alester | And i"m not going to think about the headerizer 'til later 'cause I'm working on ack 2.0 | 01:44 | |
| kid51 | Ooh, I remember working on ack back at the hackathon in Chicago in Nov 2006. | 01:45 | |
|
01:56
davidfetter joined
|
|||
| dalek | rrot/770/order: 141ccab | jkeenan++ | t/codingstd/c_function_docs.t: Refine regex to permit PARROT_CAN(NOT)?_RETURN_NULL to precede |
02:26 | |
| kid51 | Enough for tonight. | 02:28 | |
|
02:50
wagle joined
02:56
benabik joined
04:23
adu joined
|
|||
| dalek | rrot: fc23c71 | petdance++ | src/gc/gc_inf.c: removed unnecessary cast |
05:03 | |
| rrot: c1882a7 | petdance++ | src/gc/fixed_allocator.c: adding a const |
|||
|
05:20
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#358 (master - c1882a7 : Andy Lester): The build was broken. | 05:20 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/0......c1882a7 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1324303 | |||
|
05:20
travis-ci left
05:53
alin joined
06:04
Khisanth joined
06:46
fperrad joined
07:07
brrt joined
07:36
lucian joined
07:49
bacek joined
08:18
alin joined
08:25
lucian joined
|
|||
| dalek | kudo/nom: a144e29 | moritz++ | / (3 files): implement chmod as a function because a test file wants it that way :-). Run that test file |
08:59 | |
| kudo/nom: 4ea6d60 | moritz++ | t/spectest.data: run another test file |
09:09 | ||
| kudo/nom: 56e86dd | moritz++ | t/spectest.data: run method lvalue tests |
09:16 | ||
|
09:19
kj joined
09:24
wagle joined
09:28
schm00ster joined
09:46
brambles joined
|
|||
| dalek | kudo/nom: abb8f3a | moritz++ | / (2 files): basic implementation of &roundrobin; tests |
10:19 | |
|
10:26
wagle joined
10:40
bacek joined
10:58
bacek joined,
JimmyZ joined
11:23
mtk joined
11:29
kid51 joined
12:35
arnsholt joined
12:44
kjs joined
12:49
PacoAir joined
13:01
whiteknight joined
|
|||
| whiteknight | good morning, 3parrot | 13:01 | |
| msg nine I think I found the problem with miniparrot on windows. It looks like interp->sleep_sleep mutex (and possibly other mutexes) aren't being MUTEX_INIT'd before use on the main thread | 13:02 | ||
| aloha | OK. I'll deliver the message. | ||
|
13:11
Psyche^ joined
|
|||
| brrt | morning | 13:29 | |
| noon, for me | |||
| whiteknight | hello brrt | ||
| brrt | how was this week? | 13:31 | |
| whiteknight | good. We've got a release tomorrow so we've been working on normal maintenance tasks | 13:32 | |
| after that though, things are going to be a bit messy | 13:35 | ||
| brrt: We've got one week left until official coding starts. You feeling good about it? | 13:44 | ||
|
13:46
hercynium joined
|
|||
| brrt | yeah, have you heard about the -g option from apxs? | 13:47 | |
| it ehm... generates code | 13:48 | ||
| pretty much exactly the code i was planning to write the first week | |||
| whiteknight | ha! | ||
| brrt | so instead, i was going to get the build system up and running and awesome | ||
| whiteknight | yes, that would be good. Your timeline isn't set in stone, it's just an easy way to identify when people are getting behind | 13:49 | |
| you can always go faster :) | |||
| brrt | true | 13:57 | |
| not something i have much experience with, though | 13:58 | ||
| Coke | "faster. Faster! Faster would be better!" | ||
| brrt | :-) | ||
| also... | 13:59 | ||
| apxs can actually build the module | |||
| and install it, as well | |||
| now, i'm actually wondering whether we should rely on it being there on machines that want to build it | 14:00 | ||
| whiteknight | that seems like a good strategy to get started | 14:04 | |
| if it's not as available as we need it, we can revisit later | |||
| brrt | it is actually supplied with most 'apache-dev' modules or similar | ||
| anyway, its easy enough to check for its existance | |||
| whiteknight | ok | 14:05 | |
| brrt | but yeah, fun | ||
| also, it occured to me that i was looking for 'apache module api documentation' but that it doesn't exist; i apparently need the 'apache protability runtime' documentation | 14:16 | ||
| whcih does exist | |||
| whiteknight | ah, good to know | 14:18 | |
| brrt | :-) | ||
| whiteknight | maybe the first thing you need to do is create a README file with these details | 14:19 | |
| brrt | and i wanted to ask, what does Parrot_api_load_compiler do? | ||
| whiteknight | let me look at it | ||
| brrt | not sure if that is its actual name | ||
| but i can supply it a pmc, an interpreter, and a string "winxed" and it does not fail | |||
| so i'm assuming i have a pmc for the compiler in my hand | 14:20 | ||
| whiteknight | We have Parrot_api_load_language and Parrot_api_get_compiler | ||
| brrt | last one | ||
|
14:20
contingencyplan joined
|
|||
| whiteknight | First you use Parrot_api_load_language to load in the compiler and runtime. Then you use Parrot_api_get_compiler. That returns the registered compiler if any | 14:20 | |
| brrt | i see | ||
| is there a standard way to use the compiler? | 14:21 | ||
| whiteknight | github.com/parrot/parrot/blob/mast...31_hll.pod | ||
| not all compilers do this exactly the same, but almost all of them support a .compile() and .compile_string() method | |||
| dalek | rrot: 1cb3e41 | Whiteknight++ | docs/pdds/pdd31_hll.pod: PDD31 is not a draft anymore |
14:22 | |
| whiteknight | brrt: many of these tasks are possible with the embed API, but are easy in PIR/Winxed. You'd probably do better to jump into a small driver .pbc program first, and do things like loading languages and getting compilers there | 14:24 | |
| look at frontend/parrot2/main.c and frontend/parrot2/prt0.winxed for an example of how the parrot executable does that | |||
| many command-line arguments, the compilers, .pbc output, program execution are all handled in prt0.winxecd | 14:25 | ||
| brrt | ah, i see | 14:29 | |
| brrt looks it up | |||
|
14:34
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#359 (master - 1cb3e41 : Andrew Whitworth): The build was fixed. | 14:34 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/c......1cb3e41 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1327387 | |||
|
14:34
travis-ci left
|
|||
| ttbot | Parrot 1cb3e419 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/85188 | 14:43 | |
|
14:45
fperrad_ joined
14:56
dmalcolm joined
|
|||
| Coke builds parrot with perl5.16.0-RC0 | 14:56 | ||
| masak | Coke++ | 14:57 | |
| Coke | seems fine. | 15:00 | |
| Coke tries rakudo. | |||
| tadzik | it doesn't bring too many changes, does it? | 15:01 | |
|
15:01
Justin joined
|
|||
| Justin | good morning everyone | 15:01 | |
| Coke used to keep helper scripts in the top level git checkout to facilitate building, but git clean -xdf is so nice, I have to convert these to aliases. | |||
| JimmyZ wonders how is coke/rm_pasm now | 15:04 | ||
|
15:07
crab2313 joined
|
|||
| Coke | needs more doc cleanup. needs to have PASM removed from IMCC. I hope to have more tuits for it this week. | 15:08 | |
| moritz | I don't think removing PASM from IMCC is critical for merging | 15:09 | |
| Coke | not critical, no. definitely nice to have. | ||
| getting rid of any remaining PASM refrences (except for historical purposes) is critical though, I think. | 15:10 | ||
| s/critical/major/, perhaps | |||
| whiteknight | agreed | 15:11 | |
| Coke++ | |||
| If the coke/rm_pasm branch is passing tests again, I can try merging in my patch again and seeing what happens | |||
| A lot more work after that, for full removal from IMCC, but that's the first step | 15:12 | ||
| JimmyZ don't think removing PASM from IMCC is high priority | 15:14 | ||
| whiteknight | it's not high priority, but it will make me very very very happy | 15:18 | |
|
15:18
isBEKaml joined
|
|||
| whiteknight | and I like to do things that make me happy | 15:18 | |
| JimmyZ | I'm +1 to happy | 15:19 | |
| whiteknight | the whole time I'll be yelling "hulk smash!" and making my kid scared | ||
| Coke hopes whiteknight went to see hulk smashing in the theater! | 15:22 | ||
| isBEKaml | hi, I was just looking #276 and it no longer behaves as said in that issue. close or reopen a new one if still a bug? | ||
| whiteknight | I haven't yet! | ||
| isBEKaml: What is it doing now? Something better, worse, or just as bad? | |||
| JimmyZ will be very very happy if the dream of M0 comes true. :P | |||
| isBEKaml | whiteknight: in all probability, method signatures might have changed. I'm not sure if that still is a bug. :| | 15:23 | |
| paste in a bit | |||
| Coke | the behavior has already changed once. if it is still not functioning as I asked for, then just update the current behavior. | ||
| still segfaults here. | 15:24 | ||
| isBEKaml | gist.github.com/2694566 | 15:25 | |
| Coke | isBEKaml: your heredoc is wrong. | 15:26 | |
| isBEKaml | Coke: ah, okay. Now it does nothing! | 15:27 | |
| Coke | heredoc terminators must be flush with the LHS | ||
| isBEKaml: try the sample further down in the ticket that is well formatted. the one copied over from trac got garbled. | |||
| isBEKaml | Coke: yes, segfaulted. :/ | 15:28 | |
| whiteknight | What's the priority on that ticket? | 15:29 | |
| isBEKaml | whiteknight: mate, I'm new here. :) | ||
| whiteknight | isBEKaml: I know! Welcome to Parrot | ||
| isBEKaml | asking me about priorities don't make sense! :) | 15:30 | |
| Coke | whiteknight: pretty low, apparently. You can tell because I opened it. ;() | ||
| er, ;) | |||
| whiteknight | isBEKaml: I'm asking Coke about the priority. | ||
| Coke | isBEKaml: I think he just means literally. | ||
| whiteknight: segfaults are bad, mmkay? | |||
| is it stopping me from using parrot? no. A dozen other things are. | |||
| (most of which have tickets.) | |||
| whiteknight | Coke: it was assigned to plobsing and he's not around. I can jam it into my queue if it's necessary | 15:31 | |
| Coke | <shrug> as you wish. | ||
| isBEKaml | whiteknight: I was poking at the issue list to see which one of those is within my reach... rammed into #276. :) | ||
| Justin | hello | ||
| whiteknight | hello Justin | 15:32 | |
| isBEKaml | whiteknight: that's not to say it's _within_ my reach! | ||
| whiteknight | isBEKaml: we have a few tickets tagged "Newbies". That might be a good place for you to start | ||
| although, some of those might be below you too | |||
| isBEKaml | whiteknight: yeah, saw that. I was looking by "updated" queue - so thought, they may well have been taken. | 15:33 | |
| or completed. | |||
| whiteknight | okay | ||
| Coke | ugh. now that I am using a terminal that colorizes gcc warnings, I really want to get the ones in parrot cleaned up. | 15:34 | |
| whiteknight | so many of those warnings from from generated code. src/ops/core_ops.c is the worst offender | 15:35 | |
| Coke | it is possible to disable warnings by file. | 15:36 | |
| whiteknight | is it? That kind of stuff is above my pay grade | ||
| somebody else tells me what warnings to use, I just do my best to fix them when I can | 15:37 | ||
| Coke | yes, I hacked on the config warnings system some years ago to make that pretty easy to do. | ||
| isBEKaml | I think some of those warnings stem from gcc attribute flags. | ||
| whiteknight | a lot of them in src/ops/core_ops.c specifically are for unused parameters, I think | ||
| A couple hundred generated functions, all with the same few arguments, many of which don't need to be used in each case | 15:38 | ||
| isBEKaml | whiteknight: what about that sysinfo_s issue? you mentioned in the ticket that it needs discussion | 15:41 | |
| whiteknight: #280 | 15:42 | ||
| whiteknight | isBEKaml We have a sysinfo_s opcode, which is used to return some important information about the system. The problem is that opcode is a dynamic library that isn't included by default, and the information there is important enough to always be available | ||
| Coke | heh. rereading config/auto/warnings.pm, I'm thinking I should pull this out into a JSON file... "It is tempting to put this into a config file, but..." | ||
| whiteknight | We have another opcode, interpinfo, which also returns important system information but is built into Parrot core. | 15:43 | |
| so my suggestion is to merge the options from sysinfo into interpinfo, and just make it always available | |||
| isBEKaml | whiteknight: in effect making it a static call information? | ||
| whiteknight | basically, yes | 15:44 | |
| The use case I have is that I'm doing some numerical algorithms, and I need to know what the Parrot equivalent of INT_MAX is, but that information is only available through sysinfo_s | 15:45 | ||
| isBEKaml | was there any reason it was made a dyncall when compiled/build information would configure it into parrot binaries? | ||
| whiteknight | Probably no reason | 15:46 | |
| moritz | at that time everything was made a dynop to keep parrot "small" | ||
| whiteknight | right, some things were done sort of quickly because some features didn't seem necessary | ||
| and for the most part, many of them are not | |||
| isBEKaml | ah, I see | ||
| whiteknight | but the sysinfo stuff does seem important to me, and trivial enough that we should be able to have it available. Either through that interface or through a new/better interface | 15:47 | |
| isBEKaml | whiteknight: Okay, what do _i and _ic suffixes stand for? | 15:51 | |
| cotto | ~~ | ||
| kjs | int and int_constant (isBEKaml | 15:54 | |
| Tene | isBEKaml: integer, and integer constant | ||
| isBEKaml | whiteknight: nvm, I see they are int and const int reg. | ||
| kjs | int=a register | ||
| isBEKaml | Just as I figured out. :) | ||
| kjs | ic is a constant value, like 42 | ||
| isBEKaml | kjs: thanks! | 15:55 | |
| kjs | np | ||
| and to refresh my own memory, and explain the implications: the actual value of the arguments either points to a register number (i) or the integer constant itself (ic), whereas in the case of a fc (floating point constant, like 3.14) the actual value of the argument in bytecode is the index of the constant table for floats. | 15:57 | ||
| aloha | (parrot/parrot) Issues opened : 771 (Squaak return statement doesn't control flow) by portmanteaufu : github.com/parrot/parrot/issues/771 | ||
| kjs | so ics are "special", since they can be represented directly rather indirectly through the constant table. (not sure what you're working on isBEKaml, but just so you know :-)) | 15:58 | |
| whiteknight | isBEKaml: the actual op code is in src/ops/core.ops. The file src/ops/core_ops.c is the generated file that you shouldn't touch directly | 16:03 | |
| isBEKaml | whiteknight: Yes, I'm looking at these 2 files core.ops and sys.ops | 16:04 | |
| whiteknight | okay, just making sure :) | ||
| I suspect the interpinfo op falls back to something in src/interp/api.c. Parrot_interp_info or something like that | 16:05 | ||
| isBEKaml | whiteknight: there are several under that. | 16:06 | |
| whiteknight: Parrot_interp_info{,_p,_s} | |||
| whiteknight | oh, right. I think they're separated by return value. right | ||
| isBEKaml | :) | ||
|
16:07
benabik joined
|
|||
| NotFound | whiteknight: ping | 16:09 | |
| whiteknight | pong | 16:11 | |
| NotFound | whiteknight: fixed the bug you told me. Do you want a snapshot update? | 16:12 | |
| whiteknight | yes, if you are able | 16:13 | |
|
16:13
fperrad joined
|
|||
| whiteknight | Was it a difficult bug? I didn't have a chance to look at it | 16:14 | |
| NotFound | whiteknight: no, it was a mistake, a recent change broke a bad assumption that shold have been already fixed but wasn't. | 16:16 | |
| whiteknight | okay, that's good. Fixing mistakes is always good before a release | 16:17 | |
| This is the last "stable" release before GSOC and other big things happen, so I would like it to be a stable as possible | 16:18 | ||
| dalek | nxed/version_1_8: 67ea88d | NotFound++ | winxedst2.winxed: fixed variable access in multi assign |
||
| nxed/version_1_8: 0e78241 | NotFound++ | NEWS: update news |
16:21 | ||
| nxed/version_1_8: f578f72 | NotFound++ | pir/winxed_compiler.pir: update installable compiler |
|||
| nxed/version_1_8: faada1f | NotFound++ | / (3 files): Ooops, forgot to update version number in code |
16:24 | ||
|
16:31
adu joined
|
|||
| NotFound | whiteknight: I'm getting some test failures in Rosella with parrot master and the fix. Is this expected? | 16:36 | |
| whiteknight | I don't know. I will have to look tonight | ||
| nopaste | "NotFound" at 213.96.228.50 pasted "Rosella test fail" (14 lines) at nopaste.snit.ch/140892 | 16:37 | |
| NotFound | There | ||
|
16:48
PacoAir joined
|
|||
| dalek | rrot: d6dfa2e | NotFound++ | ext/winxed/ (2 files): update winxed snapshot to 1.8.2 - Bug fixes |
16:48 | |
| whiteknight | hmmm...that test failure is weird | 16:54 | |
| Coke | aloha: tell alester bobby-tables.com/ru_RU/ is broken. | ||
| isBEKaml | whiteknight: for now, I'm including sysinfo ops under *both* sysinfo and interpinfo. Can we deprecate them later or do you see any problems keeping them both now? | 16:55 | |
| Coke | aloha: msg alester bobby-tables.com/ru_RU/ is broken. | ||
| aloha | Coke: OK. I'll deliver the message. | ||
| isBEKaml | whiteknight: if so, I can delete sysinfo. | ||
| whiteknight | isBEKaml: I see no problem with duplicate functionality. Some things are probably relying on sysinfo so best not to change it | ||
| isBEKaml | whiteknight: right, I haven't fully searched to be sure, so asked for deprecation (if effective) | 16:56 | |
| whiteknight | isBEKaml++ | ||
| dalek | nxed: 11eca20 | NotFound++ | winxedst2.winxed: fixed variable access in multi assign |
17:07 | |
| nxed: e5dfca6 | NotFound++ | NEWS: update news |
|||
| ttbot | Parrot d6dfa2e9 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/85216 | 17:14 | |
| isBEKaml | whiteknight: okay, two files to modified as far as sources go: gc_api.h and api.c. the .ops files have doc changes. | 17:20 | |
| whiteknight: how do I test these to make sure? (building right now) | |||
| whiteknight | "make test" | 17:21 | |
| isBEKaml | whiteknight: sure, the specific test? sysinfo and interpinfo? | ||
| whiteknight | I don't know what specific tests they would be, just run them all | 17:22 | |
| isBEKaml | nvm, interp.t | ||
| they need to be updated, I guess.. | |||
|
17:28
darbelo joined
|
|||
| dalek | sella: f46feb9 | Whiteknight++ | src/path/Path.winxed: [Path] Fix Path to account for changes to String.reverse_index() method in core |
17:59 | |
| whiteknight | NotFound++ for the report | 18:06 | |
|
18:14
crab23131 joined
18:21
fperrad joined
|
|||
| NotFound | whiteknight: all test pass now | 18:23 | |
| whiteknight | awesome | 18:27 | |
| dalek | nxed/builtinexpr: 11eca20 | NotFound++ | winxedst2.winxed: fixed variable access in multi assign |
18:30 | |
| nxed/builtinexpr: e5dfca6 | NotFound++ | NEWS: update news |
|||
| nxed/builtinexpr: b8ad798 | NotFound++ | / (2 files): Merge branch 'master' into builtinexpr |
|||
| adu | hey | 18:44 | |
| someone told me about an attempt long ago to compile pbc => llvm, does anyone know about this? | |||
| whiteknight | a little bit | 18:45 | |
| hello adu, welcome to #parrot | 18:46 | ||
| adu | hi whiteknight | 18:50 | |
| I'm not exactly new | |||
| I used to hang out here like 3 years ago, but my interest was rekindled about a month ago | |||
| whiteknight | oh good, we love rekindled interest | ||
| adu | 3 years ago I was disappointed that you couldn't install parrot | 18:51 | |
| but I see that's changed | |||
| whiteknight | i'm not aware of a time when Parrot couldn't be installed. Must have been before me | ||
| adu | well, there used to be an error message when you typed "make install" | ||
| it was a long time ago | |||
| anyways, I've been doing a lot of work with grammars | 18:52 | ||
| whiteknight | aesome | ||
| or awesome | |||
| adu | so this time (the rekindling) I'm more interested in perl6 than parrot (last time it was more interest in parrot) | 18:53 | |
| dalek | nxed/builtinexpr: e51a492 | NotFound++ | winxedst2.winxed: re-enable special case for index and calls in string cast |
18:54 | |
| adu | but anyways, I would like to see if there is anything I can do for parrot, testing, contributing, and the like | ||
| whiteknight | adu: Certainly! We aren't quite at the LLVM integration stage yet if that's what you're interested in, but we have plenty of other work to go arouned | 18:55 | |
| adu | I was also wondering how the whole installable_$LANG works | 18:57 | |
| it looks like it just calls Parrot_api_run_bytecode() | 18:58 | ||
| do you think there would be any performance gain if the bytecode were translated into Parrot_$OPCODE(ā¦)? then compiled with LLVM? | 19:00 | ||
| I was just trying to think of a way of using LLVM that doesn't involve too much work | 19:01 | ||
| which would essentially be pbc => c | 19:02 | ||
| NotFound | adu: I think it will be complicated and the performance gain will not be great, because you'll need to create Sub-alike objects, Parrot contexts, and lots of argument passing between C and parrot. | 19:09 | |
|
19:12
crab23131 left
|
|||
| whiteknight | well, performance isn't the only reason to play with such a thing | 19:17 | |
| it could be a very valuable learning experience, especially for the M0 guys | |||
| adu | what's M0? | ||
| whiteknight | adu: It's re-design of the opcodes and bytecode to be simpler, more atomic, and easier for JIT | 19:18 | |
| basically, making parrot's opcode set look much more like the LLVM opcode set | |||
| sorear | .oO( 50s parrot: our bytecode is atomic! ) |
19:19 | |
| adu | interesting | ||
| PerlJam | whiteknight: why's it called "m0" btw? Everytime I see that I think of "ring 0" in kernel design, so that kind of evokes the right ideas, but I don't know if the "m" has some significance. | 19:20 | |
| adu | PerlJam: Magic Level 0 i think | ||
| whiteknight | PerlJam: I seem to remember it being short for "magic-level 0", that is, no magic | ||
| PerlJam | thanks. | 19:21 | |
| adu | I seem to remember magic talk a few years ago | 19:24 | |
| leto.net/dukeleto.pl/2011/05/what-is-m0.html | 19:28 | ||
| alright, I'll give it a try | 19:32 | ||
| whiteknight | adu++ | 19:42 | |
| adu | :) | 19:49 | |
| dalek | p: 3ab8ab1 | jnthn++ | / (2 files): Add an OwnedResizablePMCArray, along the same lines as OwnedHash. |
20:23 | |
| p: 5308279 | jnthn++ | src/6model/serialization.c: Deserialize RPAs with their object ownership. This seems to fix the leak that saw parametric roles and pre-comp sometimes interact badly. |
|||
| adu | there seems to be current work on the M0 branch | 20:26 | |
| cotto | a bit, yes | 20:27 | |
| adu | cotto! | 20:28 | |
| your name is all over M0 | |||
| cotto | I need to find some free time that coincides with benabik's free time to hash out a thing | ||
| adu | need help? | ||
| cotto | that and a lack of cft are the only reason more hasn't happened in the last week | ||
| sure. what's your interest? | 20:29 | ||
| adu | well | ||
| in general, grammars, Perl6, Python, and Scheme all running on the same VM | |||
| specifically, not sure yet | 20:30 | ||
| maybe continuations | |||
| cotto | I've got a gist going with my current TODO list | 20:32 | |
| gist.github.com/2581153 | |||
| adu | what is this spec? | 20:33 | |
| where is it? | |||
| cotto | the main spec is in the m0 branch, docs/pdds/draft/pdd32_m0.pod | ||
| dalek | kudo/nom: d1f5db2 | jnthn++ | / (2 files): Bump NQP_REVISION to get bs fixes; a small tweak in Rakudo to account for the change too. |
20:34 | |
| adu | ah thanks | ||
| looks like you need help with the disassembler | 20:37 | ||
| dalek | kudo/nom: 570f2bb | jnthn++ | docs/ChangeLog: Few ChangeLog updates. |
||
| cotto | adu: that'll be needed but the debugger that nbrown++ is working on is also in a pretty immature state | 20:38 | |
| seen benabik | 20:40 | ||
| aloha | benabik was last seen in #parrot 4 hours 33 mins ago joining the channel. | ||
| dalek | kudo/nom: 7d33ee1 | kboga++ | / (2 files): Adds a slightly adjusted but mostly copy pasted version of ng's pack & unpack |
20:42 | |
| kudo/nom: f2e5c38 | jonathan++ | / (2 files): Merge pull request #66 from kboga/ng-pack-unpack Adds a slightly adjusted but mostly copy pasted version of ng's pack & unpack. |
|||
|
20:43
mdupont joined
|
|||
| dalek | kudo/nom: eb05804 | jnthn++ | docs/ChangeLog: Note pack and unpack in ChangeLog. |
20:51 | |
|
21:14
lucian joined
21:40
alvis joined
21:45
perlite_ joined
|
|||
| benabik | ~~ | 21:51 | |
| cotto | hio benabik | 22:21 | |
| benabik | o/ cotto | 22:47 | |
|
22:56
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:01 | |
| cotto | benabik: you had some concerns about untyped registers making life harder for the gc. | 23:07 | |
| benabik: what'd be necessary and sufficient for m0 to have a nice modern gc? | 23:08 | ||
| benabik | cotto: Yup. If you just have blank unorganized memory space, you have to make the GC guess which bits of it are pointers. It's not impossible, but it definitely makes for more work. | ||
| Coke | suggestion: make the gc live in m1 and write it in m0 | 23:12 | |
| we want as little in C as possible, neh? | 23:13 | ||
| benabik | I don't see that as the point. | ||
| I see the point as "get into the VM as soon as possible". | |||
| Coke | That actually sounds like the same point. | 23:15 | |
| benabik | If M0 shrinks down to a thin wrapper on top of x86, I don't see a point. | ||
| Coke: We can write a "VM" that gives no features on top of the standard processor and then write Parrot on top of that... We'd have basically no C, but don't really gain much. | 23:18 | ||
| cotto: Really the question is having a sane root set. I'd imagine that for a "no magic" VM, we'd want to say "these things here are pointers". Untyped register space gives use "these things here might be pointers, go and see if they are and if so then start sweeping them" | 23:22 | ||
| cotto | if gc-able things are allocated with a different op, it's easy for the interp to keep a list of pointers to them | 23:23 | |
| whiteknight | We want a clear set of registers set aside for GCable pointers. We're fighting to get to a precise GC, and throwing that all away is not a good idea | 23:24 | |
| benabik | The GC is probably going to have a global list of objects yes. But having to iterate over that list for every _possible_ pointer is not going to be the bastion of efficency. | 23:25 | |
| whiteknight | stack walking or walking blocks of memory to find pointers is bad and we shouldn't plan to do more of it | ||
| cotto | Is a copying/compacting gc too magical for m0? | 23:34 | |
| benabik | Possibly not but is even more difficult if we're not sure what is and isn't a pointer. | 23:35 | |
| cotto | agreed. The tradeoffs need lots of thought. | ||