|
Parrot 0.8.1 "Tio Richie" Released | parrot.org | 588 RT | 11 trac Set by moderator on 5 December 2008. |
|||
|
00:03
allison joined
|
|||
| dalek | r33581 | pmichaud++ | trunk: | 00:07 | |
| : [rakudo]: $tagsets is already an AST, no need to $(...) it again. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33581 | |||
|
00:12
Andy joined
00:13
paco joined
00:26
mberends joined
00:33
mberends joined
00:37
paco joined,
paco left
00:39
rhr joined
00:41
mberends left
00:44
mberends joined
00:47
davidfetter joined
|
|||
| Coke | (#parrot, not #chinese) It's a drop in the bucket compared to the amount of #perl6 that goes on in here. | 00:47 | |
|
01:06
bacek joined
|
|||
| dalek | r33582 | pmichaud++ | trunk: | 01:08 | |
| : [library]: Add dumper for Capture PMCs. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33582 | |||
|
01:12
tetragon_ joined
01:16
allison joined
|
|||
| bacek | pmichaud: do you have any ETA for LTM? | 01:30 | |
| pmichaud | Feb. | 01:31 | |
| Feb 2009. | |||
| bacek | pmichaud: thanks. | 01:34 | |
| pmichaud: another question :) | |||
| How I can workaround absence of LTM? | |||
| pmichaud | what do you need LTM for? | 01:35 | |
| Coke | specify your REG with longest tokens first? =-) | ||
| bacek | I have <FunctionCall> ( foo() ), <Step> ( foo ), <Path> ( foo/bar ) | ||
| <Expr> is <Path> or <FunctionCall> | 01:36 | ||
| If I specify Path first, than 'foo()' treated as Step | |||
| pmichaud | I'm having trouble following this.... I can't tell what is a definition versus a subrule versus... | 01:37 | |
| can you give a Perl 6 example? | 01:38 | ||
| bacek | pmichaud: It's quite big... Formal XQuery grammar is about 150 rules. | ||
| pmichaud | can you make up a smaller example that shows why you need ltm? | 01:39 | |
| bacek | pmichaud: I'll try. Give me few minutes. | ||
| Coke wonders how long it will before rakudo has more bugs in RT than parrot. | 01:41 | ||
| pmichaud | whenever parrot gets below 200. | 01:42 | |
| (that's my guess.) | |||
| bacek | nopaste? | 01:50 | |
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| purl | well, nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) | ||
| bacek | Iceweasel can't establish a connection to the server at nopaste.snit.ch. | 01:52 | |
| pmichaud | I think nopaste.snit.ch is down at the moment | 01:53 | |
| oh, maybe not | |||
| it's working now. | |||
| bacek | While trying to retrieve the URL: nopaste.snit.ch/ | 01:54 | |
| The following error was encountered: | |||
| * Connection to 202.154.105.237 Failed | |||
| The system returned: | |||
| (61) Connection refused | |||
| strange... | |||
| purl | i guess strange is but true | ||
| bacek | pmichaud: rafb.net/p/Iuh4dO34.html | ||
| output: first 4 ok, last 5 not... | 01:55 | ||
| pmichaud | looking | 01:56 | |
| you have a $ in PathExpr | 01:57 | ||
| bacek | afk for few minutes | ||
| pmichaud | which means PathExpr can only occur at the end of the string -- i.e., not inside of a FunctionCall | ||
| bacek | pmichaud: (checking with original grammar) | 01:59 | |
| pmichaud: Ok. Full grammar doesn't have '$' in PathExpr. But I has much more rules for StepExpr. | 02:00 | ||
| pmichaud | what happens if you take the $ out of this one? | 02:01 | |
| do all of the tests pass then? | |||
| bacek | pmichaud: it works in reduced version | ||
| pmichaud | okay. I didn't see anything in this version that needs ltm. | 02:02 | |
| bacek extending reduced version to be more close to original... | 02:03 | ||
|
02:22
kid51 joined
|
|||
| pmichaud | I will need to leave for a while in 10 min | 02:33 | |
|
02:36
stockwellb joined
|
|||
| dalek | r33583 | pmichaud++ | trunk: | 02:42 | |
| : [rakudo]: Cleanup Capture definition slightly. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33583 | |||
| pmichaud | back later | 02:43 | |
|
02:52
apeiron joined
|
|||
| kid51 | Does anyone know when the following tests are run? They don't appear to be part of 'make test'. | 03:22 | |
| ./compilers/pirc/t/basic.t | |||
| ./compilers/pirc/t/macro.t | |||
| ./compilers/pirc/t/subflags.t | |||
| ./compilers/pirc/t/heredoc.t | |||
| ./compilers/pirc/t/stmts.t | |||
| They also appear to be the only place where the Parrot::Test::pirc_2_pasm* functions are used. | 03:23 | ||
| pmichaud | kid51: pirc is still under development. | 03:24 | |
| it's not (yet) part of any other subsystem, so it's okay if its tests aren't run. | 03:25 | ||
| but eventually we'll be replacing imcc with pirc | |||
|
03:26
klapperl_ joined
|
|||
| kid51 | I'm trying to write unit tests for all functions in Parrot::Test. These 4 functions are defined there, but are not documented at all. | 03:26 | |
| pmichaud | check with kjs -- I think he's the one doing most of the pirc stuff atm. | 03:27 | |
| away for a bit | |||
|
03:33
davidfetter joined
03:44
stockwellb joined
04:02
elmex_ joined
04:03
tak joined
04:06
stockwellb joined
04:09
Alias joined
04:11
AndyA joined
|
|||
| dalek | r33584 | pmichaud++ | trunk: | 04:17 | |
| : [core]: (capture.pmc) It helps to signify vtable with VTABLE. :-| | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33584 | |||
| Alias | libparrot is pretty large... | 04:21 | |
| Running perl6.exe for me creates an executable with a 14 meg initial memory footprint | |||
| How much bloat is there in the default build? | |||
| pmichaud | a lot, I suspect. | ||
| Alias | Is it just that libparrot.dll is statically linked to hell? | ||
| pmichaud | I don't know about that. There's a lot of debug code enabled in the default build. | 04:22 | |
| Alias | ah, ok | ||
| pmichaud | beyond that... I don't really know. | ||
| tewk | Doesn't it build unstripped by default | ||
| Alias | Also, Larry mentioned that 0.8.1 there was still lots of garbage collector work happening | ||
| pmichaud | Parrot internals are a bit beyond where I normally work. | ||
| yes, we're planning to replace the gc in the next two months. | |||
| Alias | So if me Perl 6 is leaking all over the place, that's nothing I should get concerned about right? | 04:23 | |
| my | |||
| pmichaud | right. | ||
| Alias | Figured as much | ||
| bacek | pmichaud: rafb.net/p/ThT7yQ35.html - I finally created reduced version of Grammar. | 04:26 | |
| pmichaud | StepExpr should be { <FunctionCall> | <AxisStep> } | 04:27 | |
| bacek | pmichaud: k. | 04:29 | |
| bacek is slightly stupid today... | 04:33 | ||
| rafb.net/p/3kXkj841.html | 04:34 | ||
| Here we go. 'ContextItemExpr' and '..' in AxisStep | |||
| pmichaud | can perhaps make ContextItemExpr be { '.' <!before '.'> } | 04:36 | |
| that prevents it from matching when there's a '..' | |||
| bacek | pmichaud: O! Thanks a lo | 04:37 | |
| a lot.. | |||
| pmichaud | even *with* LTM the STD.pm (Perl 6) grammar has to do that sort of thing from time to time. | 04:38 | |
| although Larry continues to tune things so that it's much less necessary | |||
| bacek | Perl6 grammar is much more complex than XQuery. | 04:41 | |
| My previous version was implemented in pure bison/flex | |||
| t/xqts/05-steps-axes (Wstat: 0 Tests: 73 Failed: 0) | 04:42 | ||
| TODO passed: 19, 70-72 | |||
| hooray! | |||
| pmichaud++ | 04:43 | ||
| allison | truly bizarre readline bug: at the end of every 2048 bytes it skips 2048 bytes, then reads the next 2048 bytes | 04:47 | |
| the exception to the rule seems to be when the end of the 2048 bytes falls exactly on the newline character, then it doesn't skip any bytes, but continues reading straight through the next 2048 bytes | 04:49 | ||
| dalek | r33585 | pmichaud++ | trunk: | 04:50 | |
| : [pct]: Switch PCT::Node to use Capture PMC instead of Capture_PIR. | |||
| : This results in another 7.5% speedup in the Rakudo action.pm benchmark. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33585 | |||
|
04:54
tetragon joined
|
|||
| bacek | pmichaud: does PGE::Match suppose to have .perl method? | 04:55 | |
| pmichaud | no. | 04:56 | |
| we'll create a Rakudo Match class that does, however. | |||
| chromatic | 2048 is suspicious, because it's half of 4096, which is the size of a page of memory. | 04:57 | |
| bacek | pmichaud: ok. | 04:58 | |
| dalek | r33586 | pmichaud++ | trunk: | 05:01 | |
| : [pheme]: Adjust pge2past to properly iterate over parse nodes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33586 | |||
| r33587 | pmichaud++ | trunk: | |||
| : [core]: Capture PMC now has a get_string vtable. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33587 | |||
| pmichaud | okay, I feel much better now that PGE and PCT are using Capture PMC instead of Capture_PIR. | 05:02 | |
| dalek | r33588 | pmichaud++ | trunk: | ||
| : [pct]: Eliminate the guts of PCT::Node's 'node' method. | |||
| : The current implementation is actually broken (it doesn't do | |||
| : what it's supposed to), we're not really using it yet, and so | |||
| : it's just creating more stuff to GC. We'll disable it for | |||
| : now, and reinstate it when we can do hll source line mapping (soon). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33588 | |||
| pmichaud | time for a break, then work on some other stuff. | 05:04 | |
| dalek | r33589 | pmichaud++ | trunk: | 05:05 | |
| : Add a DEPRECATION notice for Capture_PIR. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33589 | |||
| allison | chromatic: yes, 2048 is also one of the standard block sizes for kernel level I/O buffering | 05:19 | |
| purl | okay, allison. | ||
| chromatic | I wouldn't remember. Someone took my IO book. | 05:20 | |
| allison | chromatic: yes, and thanks for the loan :) | 05:24 | |
|
05:30
Andy joined
|
|||
| dalek | r33590 | allison++ | pdd22io_part2: | 05:39 | |
| : [pdd22io] Test to pin down readline bug. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33590 | |||
| chromatic | . o O { Pervasive multis using PCC even when written in C could get rid of a lot of code... especially for vtables.... } | 05:43 | |
|
06:04
tak joined
|
|||
| allison | oooh, it was caching the next and end pointers for the buffer, and not resetting the cache to the current values after filling the buffer | 06:22 | |
|
06:27
Theory joined
06:29
Andy joined
|
|||
| chromatic | That would do it. | 06:31 | |
| allison | and, fixing that drops the branch down to 4 failing tests | 06:36 | |
| dalek | r33591 | allison++ | pdd22io_part2: | 07:18 | |
| : [pdd22io] Account for final readline, with 0 bytes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33591 | |||
| chromatic | Only four failing tests? That's one fewer than trunk. | 07:26 | |
|
07:27
Debolaz joined
|
|||
| dalek | r33592 | allison++ | pdd22io_part2: | 07:28 | |
| : [pdd22io] Reset the current working values of the next and end pointers | |||
| : for the buffer after filling the buffer. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33592 | |||
| r33593 | chromatic++ | trunk: | 07:45 | ||
| : [src] Refactored internal namespace lookup and creation functions. There are | |||
| : more functions now, but they're saner, because they don't have to keep checking | |||
| : whether they're operating on a STRING, a Key, a String PMC, or an array PMC | |||
| : containing String PMCs. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33593 | |||
|
07:49
johbar joined
|
|||
| dalek | r33594 | chromatic++ | trunk: | 07:49 | |
| : [IMCC] Re-headerized IMCC, decorating function arguments appropriately. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33594 | |||
|
07:55
tak joined
07:59
iblechbot joined
|
|||
| dalek | r33595 | chromatic++ | trunk: | 08:06 | |
| : [src] Added more parameter decorations identified by make headerizer. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33595 | |||
| r33596 | chromatic++ | trunk: | 08:22 | ||
| : [src] Added remaining missing pointer parameter decorations, as identified by | |||
| : make headerizer. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33596 | |||
|
08:31
liangke joined
|
|||
| dalek | r33597 | duff++ | trunk: | 08:43 | |
| : [rakudo] rework of :nth() on .subst() to use ACCEPTS | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33597 | |||
|
09:10
Theory joined
09:12
Hadi joined
09:17
Hadi left
09:56
alvar joined
10:06
mberends joined
|
|||
| Tene | msg pmichaud PAST::Block already has a 'control' attribute. Should we use this for the EH lis? | 10:27 | |
| purl | Message for pmichaud stored. | ||
|
10:36
jimmy joined
10:38
MariachiElf joined
|
|||
| Tene | msg pmichaud You said that handlers should rethrow the exception unless the exception has been handled. Does this mean that if the exception has been handled, I should resume? | 11:12 | |
| purl | Message for pmichaud stored. | ||
| dalek | r33598 | moritz++ | trunk: | 11:31 | |
| : [rakudo] add regression tests for RT #61102 to t/spectest.data, | |||
| : and restore alphabetical order | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33598 | |||
|
11:35
riffraff joined,
tak joined
11:45
barney joined
|
|||
| dalek | r33599 | moritz++ | trunk: | 12:07 | |
| : [rakudo] add instance attribute tests to t/spectest.data | |||
| : (most of them are skipped, but a few actually pass) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33599 | |||
|
12:09
rff joined
12:13
masak joined
|
|||
| masak | chromatic++ # use.perl redesign | 12:16 | |
| (or was that 'abw++' ?) | |||
| jimmy | where? | 12:19 | |
| masak | jimmy: wardley.org/use.perl.org/test.html | 12:27 | |
| jimmy | somebody++, much more nicer | 12:29 | |
| masak | Coke: (the amount of #perl6 that goes on in here) I guess that's because it's difficult to implement Perl 6 without talking about it. :) | ||
| purl: karma somebody | |||
| purl | somebody has karma of 5 | ||
| masak | somebody deserves a lot more karma :) | ||
| jimmy | expecting perl.org is redesigned when perl6 out. | 12:31 | |
| Tene | I haven't heard of any plans for that. | 12:32 | |
| great idea, though | 12:33 | ||
| masak | jimmy: I don't think one event has anything to do with the other | ||
| Tene | it's been years since I've actually looked at perl.org/ | 12:34 | |
| masak | Tene: it currently looks like it hasn't been looked at in years :P | 12:35 | |
| s/in/for/ | |||
| ETOOCONFUSEDBYGRAMMAR | |||
| Tene | grammar-- | 12:36 | |
| karma grammar? | |||
| purl | grammar has karma of -8 | ||
| jimmy | perl.org needs sparkle, especially perl6 | 12:37 | |
| Tene | Okay, I've got the handlers themselves being generated nicely in PCT, now for the bits to push them on the stack. | ||
|
12:49
ElPenguin joined
|
|||
| dalek | r33600 | bernhard++ | trunk: | 12:50 | |
| : [m4] Make m4 work again, by using the simple syntax for calling indirect functions | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33600 | |||
| cognominal | sparkle? | 12:56 | |
| purl | i think sparkle is a module that developers can stick in their Cocoa applications (five-step install!) to get instant self-update functionality. sparkle.andymatuschak.org/ | ||
| ElPenguin | that sounds shiny | 12:57 | |
| masak | jimmy: 'sparkle' to me sounds like superficial PR. I'd say that's not what Perl 6 needs right now. | 12:59 | |
| jimmy | masak: aye, but future. | 13:00 | |
| masak | jimmy: first, it needs more people that realize that Perl 6 is great. then, word of mouth takes over. | ||
| I think Rakudo is already at a stage where it can impress people. | 13:01 | ||
|
13:01
kj joined
|
|||
| ElPenguin | still, pugs is ahead of rakudo. i know that's no help if you want to use parrot but *shrug* | 13:02 | |
| dalek | r33601 | bernhard++ | trunk: | 13:03 | |
| : [codingstd] remove a trailing space | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33601 | |||
| masak | ElPenguin: I keep hearing people saying "Pugs is ahead of Rakudo". still I can do things in Rakudo that I cannot do in Pugs. why is that? | ||
| do I have a different definition of "to be ahead" than other people? | |||
| ElPenguin wasn't aware of that | 13:04 | ||
| masak | ElPenguin: we're writing a wiki engine in Rakudo. that would not be possible in Pugs today. | ||
| masak thinks "Pugs is ahead" is old news | 13:05 | ||
| as in "superceded by more current news" | |||
| ElPenguin | haha | ||
| jimmy | masak: good things should be well spreaded with across-language , and documentations should be multi-language, and shiny web site acts as catalyst. | 13:06 | |
| masak | jimmy: yes, of course. that would be ideal. | ||
| jimmy: I have no objections. let's do it that way. | |||
| jimmy | masak: what i said is just why php used mostly, but not perl, which is also very good. and just do it. :) | 13:09 | |
| masak | jimmy: but my point is. updating use.perl odes not have to wait for the release of Rakudo | ||
| jimmy: PHP does do a few things right wrt documentation on the web, yes. | 13:10 | ||
| Tene | masak: what items specifically can rakudo do that pugs cannot? | ||
| I haven't looked at pugs in a qhile. | |||
| jimmy | masak: it sticks me with redesigning the use.perl | ||
| masak | Tene: for one thing, thanks to PGE, grammars are better developed | ||
| jimmy: that did not parse. please reformulate. | 13:11 | ||
| Tene: but I also believe that Pugs gets much of the array semantics wrong. | |||
| jimmy | masak: it sticks me in mind with redesigning the use.perl. is it right? | 13:12 | |
| masak | jimmy: no. "to stick sb in mind" is not an idiom. | ||
| jimmy | :( | ||
| masak | jimmy: what is it you want to say? | ||
| that is hurts your eyes to look at the page? | 13:13 | ||
| yes, mine too :P | |||
| jimmy should say I imagine that with redesigning the use.perl. | |||
| masak: yep | 13:14 | ||
| masak | ah. | ||
| jimmy | when my memory is the same as flash disk, and then i will good at english. | 13:17 | |
| s/will/will be/ | |||
|
13:19
Theory joined
|
|||
| Tene | Hmm. I wonder when pmichaud wakes on Sundays. | 13:21 | |
| dalek | r33602 | kjs++ | trunk: | 13:22 | |
| : [pirc] some cleanups. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33602 | |||
| r33603 | kjs++ | trunk: | 13:30 | ||
| : [pirc] change order of types, to match type values in pdd03. (I, S, P, N, having values 0, 1, 2, 3, respectively). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33603 | |||
| pmichaud | pmichaud awakes about now, I think. | ||
| it depends on the Sunday. | |||
| Tene | You have mail. | 13:34 | |
| pmichaud | for compatibility reasons, I'd prefer to leave the existing 'control' attribute alone. we may deprecate it. | 13:35 | |
| Tene nods. | |||
| I used 'handlers' | |||
| pmichaud | I'm not sure what to do in the handled case. | ||
| resume doesn't sound quite right. | |||
|
13:36
register joined
|
|||
| pmichaud | perhaps .return () | 13:36 | |
| Tene | Oh? Interesting. I can do that. .return () or .return (exception) ? | 13:37 | |
| pmichaud | whichever makes more sense. | ||
| I'm not sure about .return () either -- I'll have to wait and see when this actually gets used. | |||
| .return (exception) sounds okay to me for now. | |||
| Tene | .return (exception) for now, then. | ||
| jonathan has woken up too | |||
| pmichaud | it'll likely change. | ||
| jonathan | (For the second time today...afternoon nap for the win) | 13:39 | |
| Tene | mail has a patch and an example with output | ||
| pmichaud | excellent. I'm in the middle of another hack at the moment, will look at the pct stuff soonish (today for sure) | ||
| Tene | implementation is sketchy, needs some cleanups and finishing, but I wanted feedback before doing much more. | 13:40 | |
| pmichaud | definitely | ||
| I'm eager to see it | |||
|
13:41
rob joined
|
|||
| kj | jonathan: just to get your brains started, a wake-up question: PDD03 defines the flags such as slurpy etc. The pdd talks about bits, enumerates them, and explains them. However, for the types, bits 0-3 are indicated, but there seems to be an inconsistency: the values 0 to 3 seem to be used to encode the type (so, bits 0 and 1, not 0,1,2,3). | 13:42 | |
| Any idea? | 13:43 | ||
| jonathan | Well, it's possible both are true...the lower bits are reserved for types, but we don't use them all. | 13:45 | |
| kj | yeah. I just found the definitions of 'em | 13:47 | |
| jonathan | Ah, good, I was just looking for the appropriate .h file. | ||
| But if you've found it, that'll have The Answers, plus the constatns that I guess you should use. | 13:48 | ||
| kj | enums.h | ||
| jonathan | Aha. | ||
| kj | (not very descriptive) | ||
| jonathan | So PARROT_ARG_TYPE_MASK suggests that we do indeed reserve the lower 3 bits | 13:51 | |
| er, 4 | |||
| For types. | 13:52 | ||
| /* more to come soon */ | |||
| ... | |||
| So basically you just and 'em together. | |||
| I think nameds are fun because you make two entries - one for the name (with PARROT_ARG_NAME set) and the next one with the value to be passed. | 13:54 | ||
| kj | yeah, I think I'll just forget about those for now. Just focusing on getting sub calls to work without any arguments | ||
| Tene sleep for a bit. | 14:02 | ||
|
14:03
stockwellb joined
14:17
Hadi joined,
Hadi left
|
|||
| register | a question: the first fixup of tipe enum_fixup_sub in the bytecode is always the main function? | 14:29 | |
| jonathan | I think if there is one with :main set, that one is chosen instead. | 14:33 | |
|
14:37
tak joined
|
|||
| register | i asked this question because i am looking the jit code | 14:38 | |
| and in parrot_build_asm the number of register used is desumed by looking at the first fixup of type enum_fixup_sub | 14:39 | ||
|
14:53
apeiron joined
|
|||
| dalek | r33604 | kjs++ | trunk: | 14:59 | |
| : [pirc] implement bits of parrot calling conventions; the first argument to the 4 special ops (set_args etc) encode the flags/types. This is a first attempt. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33604 | |||
|
15:05
Whiteknight joined
15:17
tak joined
15:19
apeiron joined
|
|||
| dalek | r33605 | pmichaud++ | trunk: | 15:22 | |
| : [rakudo]: spectest-progress.csv update: 231 files, 4717 passing, 0 failing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33605 | |||
|
15:23
stockwellb joined
|
|||
| nopaste | "pmichaud" at 72.181.176.220 pasted "fun with operator fixes" (12 lines) at nopaste.snit.ch/14844 | 15:26 | |
| dalek | r33606 | kjs++ | trunk: | 15:28 | |
| : [pirc] remove instr_counter field from lexer structure. Now use stmt_counter. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33606 | |||
| Infinoid | hmm, still (or again) having trouble reaching nopaste.snit.ch | ||
|
15:33
kid51 joined
|
|||
| dalek | r33607 | jkeenan++ | testparrottest: | 15:35 | |
| : Create a directory to hold files used in the tests in t/perl/. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33607 | |||
| r33608 | jkeenan++ | testparrottest: | 15:37 | ||
| : Rearrange order of subs for easier editing. Correct one spelling error. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33608 | |||
| r33609 | jkeenan++ | testparrottest: | 15:39 | ||
| : Add tests for pir_2_pasm. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33609 | |||
| r33610 | jkeenan++ | testparrottest: | |||
| : Add directory to hold files used in testing of t/perl/Parrot_Test.t. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33610 | |||
| r33611 | pmichaud++ | trunk: | 15:41 | ||
| : [rakudo]: Fix assignment metaoperators, add reduction operators (e.g., [+]). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33611 | |||
|
15:42
Andy joined
15:43
Zaba joined
|
|||
| dalek | r33612 | kjs++ | trunk: | 15:48 | |
| : [pirc] fix something I shouldn't have committed; + nicer layout for offsets. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33612 | |||
| r33613 | jkeenan++ | testparrottest: | 15:57 | ||
| : Add or modify test files used in t/perl/Parrot_Test.t. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33613 | |||
|
15:59
tak joined
16:03
tetragon joined
|
|||
| dalek | r33614 | jkeenan++ | testparrottest: | 16:14 | |
| : There is no sub Usage() in this package. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33614 | |||
| r33615 | jkeenan++ | testparrottest: | 16:16 | ||
| : Change name of test file to reflect what it's actually doing. Correct one | |||
|
16:16
iblechbot joined
|
|||
| dalek | : punctuation error. | 16:16 | |
| diff: www.parrotvm.org/svn/parrot/revision?rev=33615 | |||
| r33616 | jkeenan++ | testparrottest: | |||
| : Add tests for example_output* test functions. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33616 | |||
|
16:20
stockwellb joined
|
|||
| dalek | r33617 | pmichaud++ | trunk: | 16:28 | |
| : [rakudo]: Add [,], [&], [|], and [^] reduction operators. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33617 | |||
| pmichaud | afk # lunch, then assignment and slices | 16:30 | |
| dalek | r33618 | kjs++ | trunk: | ||
| : [pirc] comments and todos. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33618 | |||
|
16:33
tak joined
|
|||
| Coke | masak: (implement perl6 without talking about it) and yet this channel is not, strictly speaking, about implementing perl6. so if we cut you guys some slack, no doubt we can cut those experimenting with chinese a little slack. | 16:37 | |
| masak | aye. | 16:38 | |
| especially if the Chinese is about terms related to Perl. | |||
| pmichaud++ # looking forward to those slices | 17:03 | ||
| dalek | r33619 | jkeenan++ | testparrottest: | 17:04 | |
| : Add example_error_output_* test functions. Correct one error-handling case. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33619 | |||
|
17:12
tak joined
17:22
apeiron joined
17:26
rdice joined
17:50
jan joined
17:53
Zaba joined
|
|||
| dalek | r33620 | jkeenan++ | testparrottest: | 17:57 | |
| : Change some inline comments to reduce confusion. Use identical syntax where possible. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33620 | |||
| r33621 | jkeenan++ | testparrottest: | 18:07 | ||
| : Make syntax more readable. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33621 | |||
| r33622 | jkeenan++ | testparrottest: | 18:10 | ||
| : Restructure an if-elsif block to make syntax more readable. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33622 | |||
| r33623 | coke++ | trunk: | 18:23 | ||
| : The 'global' syntax in PIR is [DEPRECATED]. replace its usage with explicit ops. | |||
| : (Which are also deprecated, one thing at a time.) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33623 | |||
| r33624 | fperrad++ | trunk: | 18:24 | ||
| : [book] | |||
| : - fix typo | |||
| : - remove trailing space | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33624 | |||
|
18:24
Hadi joined
18:25
particle joined
|
|||
| pmichaud | ....why not go ahead and switch to 'get_global' instead of using (deprecated) 'find_global'? | 18:25 | |
| Coke | the wrong kind of laziness. | 18:26 | |
| t/op/calling.t is failing in trunk? | 18:27 | ||
| pmichaud | yes. | ||
| dalek | r33625 | coke++ | trunk: | 18:37 | |
| : remove [DEPRECATED] 'global' syntax from parrot's PIR parser. Remove remaining core usage exposed by 'make test'. | |||
| : language developers, check your languages. (verified that npq & perl6 still work.) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33625 | |||
| r33626 | pmichaud++ | assign: | 18:42 | ||
| : Remove obsolete branch, preparing to create new one. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33626 | |||
| r33627 | pmichaud++ | assign: | |||
| : [rakudo]: Branch for refactoring assignment into assign op. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33627 | |||
| Coke | pmichaud: 60384 is in DEPRECATED and in the parrot queue; but the last comment from 11/26 says you're moving the ticket back to the perl6 queue. | 18:43 | |
| pmichaud | looking | ||
| moved. | 18:44 | ||
| rejected #43485 | 18:46 | ||
| parrt RT queue down to 584. :-) | |||
| *parrot | |||
| moritz | so with RT + track we're below 600. YaY. | 18:50 | |
| Tene awake now. Running an errand, then back to hacking. | 18:53 | ||
| Coke | we need to start counting stalled again. =-) | 18:56 | |
|
18:56
Whiteknight joined
|
|||
| allison | hrmmmm... now have 8 bytes lodged in the front of the read buffer... | 19:02 | |
|
19:11
Hadi left
|
|||
| dalek | r33628 | coke++ | trunk: | 19:12 | |
| : remove unused function dump_mmd (per RT#60626) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33628 | |||
| kid51 | Failures in t/op/calling.t: smolder.plusthree.com/app/public_pr...m/8467/166 | 19:14 | |
| moritz | kid51: andreas kƶnig writes on the list. "git bisect blames svn.perl.org/parrot/trunk@33559" | 19:15 | |
| kid51 | IMCC problems: above my pay grade. Who gets to fix? | 19:19 | |
| Tene | pmichaud: ETA on review of my mail? | 19:20 | |
| pmichaud | kid51: I think those tests represent deprecated features. | ||
| the correct solution is probably to remove the tests. | |||
| Tene: will do it now | |||
| Tene | :) | ||
| Coke checks the failurs. | 19:21 | ||
| pmichaud | Tene: I was thinking that 'handled' would be an attribute of the PAST::Control block, as opposed to checking the status of the exception. | 19:26 | |
| Coke | kid51, pmichaud: fixed. | ||
| pmichaud | perhaps we don't need to do anything special at all -- perhaps parrot's handlers dtrt thing already. | ||
| Coke | kid51++ # forcing me to actually look at the failures. | 19:27 | |
| kid51: regarding your recent requests for comment: If something isn't used in the testing code, I'd rip it out. | |||
| dalek | r33629 | coke++ | trunk: | ||
| : Fix test broken by r33559. | |||
| : When removing a deprecated feature, be sure nothing is testing the deleted feature. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33629 | |||
| Coke | we've already had a some cases where some behavior was enshrined in tests that we didn't actually care about. | 19:28 | |
| so if you can delete code, and 'make test' still works... I'd say go for it. | |||
| pmichaud | ...what about the case where we're adding new features that have tests but aren't part of 'make test' yet? | 19:29 | |
| we don't want to rip those out. | |||
|
19:30
Limbic_Region joined
|
|||
| pmichaud | (pirc being the current example) | 19:30 | |
| Tene: is the 'handled' attribute of exceptions actually used/set anywhere? | 19:33 | ||
| Tene | pmichaud: lemme check. | 19:34 | |
| pmichaud | + ops.'push_pirop'('resume = exception["resume"]') | ||
| should be | |||
| ops.'push_pirop'('set', 'resume', 'exception["resume"]') | |||
| Tene | Ah. Yes. | 19:35 | |
| pmichaud | + ops.'push_pirop'('resume()') | ||
| should be | |||
| ops.'push_pirop'('call', 'resume') # or something like that | 19:36 | ||
| Tene | A glance over 'ack handled' suggests that it's used in a couple of places. | ||
| 'call' or 'invoke'? Lemme check docs/ops. | |||
| pmichaud | pdd23 doesn't discuss the handled attribute at all | ||
| 'call' is a special pirop | |||
| call, callmethod, tailcall | |||
| Tene | Ah. | ||
| Right. | |||
| We're not using resume anymore anyway, as we're moving to .return (exception) | 19:37 | ||
| pmichaud | we want to keep the "tree" nature of POST nodes so that they can later be turned into PBC directly w/o going through PIR | ||
| Tene | That's a literal too, in my current copy. How should I represent that? | ||
| pmichaud | ops.'push_pirop'('return', 'exception') | 19:38 | |
| the "special" pirops are call, callmethod, return, tailcall, and inline | |||
| (special because they don't otherwise fit the <opcode> <arg>, <arg>, <arg> syntax | 19:39 | ||
| Tene | nodnod | ||
| pmichaud | I'm not fond of 'type' as an attribute name -- too generic. | 19:40 | |
| maybe 'controltype' | 19:41 | ||
| could re-use 'pasttype' | |||
| (since it's describing the "type" of the PAST::Control node) | |||
| other than those items, this looks like a really good start. | |||
| (even with those items, this looks like a really good start) | |||
| Tene | How do you feel about the wrap_handler architecture? | 19:42 | |
| kid51 | Coke: While I will eventually delete unused code from lib/Parrot/Test.pm, I'm going have to proceed with caution. The test coverage provided by t/perl/Parrot_Test.t was very low. I've been improving it, but there's a ways to go. Evidence: All my tests were passing -- but my last 2 commits completely borked 'make test' in the testparrottest branch. | ||
| pmichaud | + types = new 'ResizablePMCArray' | 19:44 | |
| ...leftover code? | |||
| Tene | Yeah. | ||
| pmichaud | I was expecting something like wrap_handler, yes. | ||
| instead of | |||
| kid51 | Other problems with Parrot::Test: 1) many of its functions are never used in the Parrot test suite; 2) much of its code is *only* applicable in some languages/*/t/ -- which means that thorough testing could only be done by adding languages tests. | ||
| pmichaud | + eq type, 'CONTROL', type_control | ||
| I'd want to look up the values in a hash. | |||
| similar to the %valflags hash | 19:45 | ||
| Tene | We also have types that are "All types except the following ..." | ||
| pmichaud | in initialization, I would do | 19:46 | |
| Tene | So it's either .'handle_types' or .'handle_types_except' | ||
| Or potentially types for checking severity instead. | |||
| pmichaud | $P0 = split ' ', '.CONTROL_RETURN .CONTROL_OK .CONTROL_BREAK .CONTROL_CONTINUE ...' | ||
| $P1 = get_global '%!controltypes' | 19:47 | ||
| $P1['CONTROL'] = $P0 | |||
| Tene | Are we generating a ".include 'runtime/include/include_types.pasm'"? | ||
| pmichaud | We can. | ||
| that's probably better in the generated PIR anyway (having the constant strings instead of their values) | 19:48 | ||
| or we could require the pct caller to make sure the .include is done somewhere. | 19:49 | ||
| Tene nods. | |||
| dalek | r33630 | jkeenan++ | testparrottest: | ||
| : Revert to r33620. My attempts to refactor caused tests in 'make test' to | |||
| : begin to fail massively. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33630 | |||
| Tene | Any ideas on how to handle the different operations there? handle_types/handle_types_except/severity? Possibly have %!controltypes be a hash of hashes? | ||
| pmichaud | which control types do we have that mean "everything except..."? | 19:50 | |
| Tene | Perl 6's CATCH is "everything except control exceptions" or something, iirc. | ||
| Or there was a block that meant that. | |||
| pmichaud | okay, then | 19:51 | |
| $P1['CONTROL'] = 'handle_types .CONTROL_RETURN .CONTROL_OK .CONTROL_BREAK .CONTROL_CONTINUE ...' | |||
| $P1['CATCH'] = 'handle_types_except .CONTROL_RETURN .CONTROL_OK ...' | |||
| first value indicates the method to call, remaining values indicate params to pass | 19:52 | ||
|
19:52
clunker3__ joined
|
|||
| Tene | Then split it and push_pirop with :flat? | 19:53 | |
| pmichaud | yeah, something like that. | ||
| purl | yeah, something like that is what I'd do as well | ||
| Tene | Excellent. | ||
| pmichaud | although part of me feels like negation should be handled in the node, not in the exception type | ||
| so that the PAST generate treats 'CATCH' as being ! 'CONTROL' | 19:54 | ||
| Tene | Eventually we'll be rewriting this to deal with a real class hierarchy instead of integer types. | ||
| I expect that would come out that that refactor. | |||
| pmichaud | or maybe the PAST::Control node should have 'handle_types' and 'handle_types_except" attributes | ||
| so that someone can do: :handle_types('CONTROL') | 19:55 | ||
| or :handle_types_except('CONTROL') # CATCH | |||
| Tene | Could be. Also min_severity and max_severity? | ||
| pmichaud | I'd prefer not to add them until we know we need them and how they'll be used. | ||
| Tene | Okay. | ||
| pmichaud | my philosophy in PCT has been "don't add it until I have a real use case." | 19:56 | |
| Tene nods. | |||
| pmichaud | oh, don't use the node names as PIR labels | 19:57 | |
| generate a POST::Label node | |||
| Tene | What did you mean by "* The 'name' attribute of a PAST::EH (or whatever) node is its label (e.g., for when we do next/last/redo followed by a label)" then? | 19:58 | |
| pmichaud | OUTER: while ( ... ) { next OUTER; } | ||
| (in perl 6) | |||
| the "OUTER" is going to correspond to an exception handler of some sort. | |||
| Tene | Ah. | ||
| pmichaud | so we'd have a node with name :OUTER | ||
| Tene | Okay. | ||
| pmichaud | but the labels still need to be unique. | 19:59 | |
| and I'm not certain that every HLL label will be a valid PIR label. | |||
| Tene nods. | |||
| pmichaud | I still haven't worked out the details for that yet, but will get there. | 20:00 | |
|
20:07
contingencyplan joined
|
|||
| pmichaud | afk for a bit | 20:08 | |
|
20:16
MariachiElf joined
|
|||
| Coke | pmichaud: in general, you shouldn't be doing it that way: you should be adding the tests first. =-) | 20:24 | |
| (from many 10s of minutes ago) | |||
| are we targetting w2k? or was XP our cutoff? | 20:28 | ||
| (41095) | |||
|
20:29
Hadi joined,
Hadi left
|
|||
| Coke sees jarkko didn't fall for his trick. | 20:30 | ||
|
20:38
gryphon joined
20:39
riffraff joined
|
|||
| dalek | r33631 | chromatic++ | trunk: | 20:41 | |
| : [src] Added string_free(), along the lines of temporary_pmc_free() and with | |||
| : similar caveats. This function lets you recycle a STRING header you *know* is | |||
| : unused. It also respects COW semantics. In a single hotspot, this function | |||
| : gives us a 9.16% improvement in the Rakudo-building benchmark. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33631 | |||
| Tene | pmichaud: where should I generate the .include 'runtime/include/except_types.pasm' ? | 20:42 | |
| Coke | that file is already generated, no? | 20:44 | |
| runtime/parrot/include/except_types.pasm ? | |||
| Tene | That's right. | ||
| I'm asking where in PAST::Compiler I should generate a ".include 'include/except_types.pasm'" instruction | 20:45 | ||
| dalek | r33632 | allison++ | pdd22io_part2: | 20:46 | |
| : [pdd22io] Document commented out test lines to be enabled when debugging readline failure. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33632 | |||
| Tene | Other than that, I think I'm done. | 20:47 | |
| Coke | is there a preamble section? | 20:49 | |
| Tene | Not that I've seen so far. Still looking. | ||
| pmichaud | there's not a preamble section, but there ought to be | 20:51 | |
| I haven't decided where that should go yet. | 20:52 | ||
| Tene | You want me to commit this, then? | ||
| pmichaud | as long as all tests pass, yes. | ||
| Tene | We might want .push_handler on PAST::Control nodes. | 20:53 | |
| Coke | allison: went through RT's open tickets and updated trac.parrot.org/parrot/wiki/IOTasklist | ||
| allison | Coke: excellent, thanks! | 20:54 | |
| dalek | r33633 | chromatic++ | trunk: | ||
| : [PMC] Revised Class PMC's isa_pmc() entry, which is a huge hotspot for Rakudo. | |||
| : Most of the changes are to use string_free() on temporary strings, with some | |||
| pmichaud | ...push_handler? | ||
| dalek | : additional refactoring to make control flow slightly clearer. | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33633 | |||
| Tene | pmichaud: erm, on PAST::Stmts and such | ||
| Oh, and I still need to wrap_handlers in PAST::Block | 20:55 | ||
| pmichaud | I was thinking that .handlers on PAST nodes would return an array that we could push/unshift/whatever | ||
| instead of trying to write 'push_handler' 'pop_handler' 'shift_handler', etc. | |||
| dalek | r33634 | chromatic++ | trunk: | ||
| : [examples] Reverted an accidental change I made to this file in r33325; I | |||
| : decreased the number of iterations for profiling. Thanks to Andreas Koenig for | |||
| : noticing. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33634 | |||
| Tene | Yeah, that works. | 20:56 | |
| pmichaud | similar to the way that .loadinit returns a PAST::Stmts node that we can manipulate directory | ||
| *directly | |||
| (but in the .handlers case we can just vivify an array) | |||
| dalek | r33635 | tene++ | trunk: | 20:57 | |
| : [PCT]: Add a PAST::Control node | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33635 | |||
| Tene | pmichaud: I don't quite feel up to figuring out the right place to wrap things in PAST::Block's as_post right now. | 21:10 | |
| I'll try again later if you don't get to it soon, though. | |||
| pmichaud | okay | ||
| I'll look into it when I'm done with array/slicing | 21:11 | ||
| so, tonight or early tomorrow | |||
|
21:11
ruoso joined
|
|||
| pmichaud | I have _really_ good momentum right now so I'm hoping to get a lot done | 21:11 | |
| I'm happy I managed to get [+] working :-) | |||
| rakudo: say [*] 1..4; | |||
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| pmichaud | bah. | ||
| Tene | lame | ||
| pmichaud | rakudo: say <No output (you need to produce>, <output to STDOUT)>; | 21:12 | |
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| pmichaud | at least _that_ still works. :-) | ||
| Tene | yep, segfaults. | ||
| Works outside of screen, breaks in screen. | 21:14 | ||
| I guess I could just run it backgrounded instead of in screen... | |||
| Yeah, let's do that. | |||
|
21:15
polyglotbot joined
21:16
polyglotbot joined
|
|||
| Tene | rakudo: say 'omg' | 21:16 | |
| polyglotbot | OUTPUT[omgā¤] | ||
| Tene | rakudo: say [*] 1..10 | ||
| polyglotbot | OUTPUT[3628800ā¤] | ||
| moritz | just yesterday my girlfriend learned about factorials, and asked me if 100! can be written on one line ;-) | 21:17 | |
| Tene | pmichaud++ | ||
| rakudo: say [*] 1..100 | |||
| polyglotbot | OUTPUT[9.33262154439441e+157ā¤] | ||
| pmichaud | say [-] 1..100; | 21:18 | |
| rakudo: say [-] 1..100; | |||
| polyglotbot | OUTPUT[-5048ā¤] | ||
| pmichaud | that seems... faster than I'd expect normally. | ||
| Tene | Are there new spectests we're passing for [*] ? | 21:20 | |
| pmichaud | I don't know. | ||
| Tene | 'kay. :) | ||
| pmichaud | I just felt like implementing it because it'll be cool to show off. | ||
| Coke | rakudo: say [+] 1..100 | ||
| polyglotbot | OUTPUT[5050ā¤] | ||
| Coke | rakudo: say [+] 1..1000 | 21:21 | |
| polyglotbot | OUTPUT[500500ā¤] | ||
| Coke | rakudo: say [+] 1..1e4 | ||
| polyglotbot | OUTPUT[50005000ā¤] | ||
| pmichaud | when we get say [+] =$fh to work, I'll be really happy :-) | ||
| (if it doesn't work already.) | |||
| nopaste | "tene" at 166.70.38.237 pasted "NQP demo for new EH PCT stuff" (45 lines) at nopaste.snit.ch/14845 | ||
| moritz | pmichaud: it doesn't (at least last time I tried =$fh was next to useless) | 21:22 | |
| pmichaud | can't reach snit.ch yet | ||
| GeJ | Good morning everyone | ||
| Infinoid | Tene: still working on a more "correct" fix for that... ran into a crash in a different place though | ||
| Tene | statement not terminated properly for [+] =$fh | ||
| Infinoid | (polyglotbot and screen, I mean) | ||
| pmichaud | anyway, that comes with the IO refactors | ||
| Tene | Okay, offline for a while. | 21:25 | |
|
21:35
particle1 joined
|
|||
| Coke | GeJ: morning | 21:36 | |
| dalek | r33636 | fperrad++ | trunk: | 21:43 | |
| : [book] | |||
| : - fix typo | |||
| : - remove trailing space | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33636 | |||
|
21:52
TiMBuS joined
|
|||
| Infinoid | if anyone with some C-fu is bored, I'd love a second pair of eyes. Trac #18 has some patches to fix the jit buffer issues that polyglotbot was experiencing, but it doesn't quite work and I've run out of ideas why. | 22:05 | |
| Whiteknight | i'll take a gander at it | 22:10 | |
| Infinoid | thanks. I'm also posting to parrot-ev about it | 22:11 | |
| s/ev/dev/ | 22:12 | ||
| Whiteknight | I actually have no idea how Parrot's JIT works | ||
| Infinoid | you give it some memory, it sticks some machine code in there | 22:13 | |
| from my perspective, that's all that matters :) | |||
| the issue is that the memory you give it needs to be executable, which malloc() stuff is not guaranteed to be. that's why polyglotbot was busted. | 22:14 | ||
| Whiteknight | right | ||
| Infinoid | so that's the motivation | ||
| Whiteknight | It makes sense to me, especially since data execution preventions is present in several OSes and in some hardware architectures | ||
| having that "feature" on would prevent heap or stack memory from being executed | 22:15 | ||
| Infinoid | yeah, non-executable stacks and heap are becoming more common | ||
| Whiteknight | so yes, we should use mmap instead of malloc | ||
| Infinoid | and that's what my patch does. the trouble is that mmapped memory also needs to be freed using munmap, and one yak led to another, and here I am debugging some weirdness in ManagedStruct.destroy() | 22:16 | |
| Whiteknight | nice | 22:22 | |
| I definitely need to learn more about this whole subsystem. I wonder who knows enough to give a rundown about it? | |||
| Infinoid | which subsystem? PMCs? | ||
| fortunately, this hack doesn't really have to get into the actual guts of JIT at all | 22:24 | ||
|
22:25
tetragon joined
|
|||
| dalek | r33637 | infinoid++ | trunk: | 22:30 | |
| : [cage] Fix some trailing spaces. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33637 | |||
| Whiteknight | Infinoid, your diffs are all looking reasonable to me | 22:42 | |
| they compile? | |||
| Infinoid | they compile | ||
| Whiteknight | Infinoid++ | 22:43 | |
| Infinoid | they run under gdb, too. but not standalone, inexplicably | ||
| if what I'm seeing is correct, the value of "ptr" is changing between the fprintf statement and the function call | 22:52 | ||
| so I've gotta be missing something. | |||
| dalek | r33638 | allison++ | pdd22io_part2: | 22:55 | |
| : [pdd22io] Neglected to set cached version of buffer flags when resetting buffer | |||
| : to empty. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33638 | |||
|
23:07
register joined
23:18
bacek_ joined
23:24
apeiron joined
|
|||
| riffraff | anyone knows if and how src/io/io_string.c is used ? | 23:29 | |
| allison | riffraff: it's used for mock objects | 23:49 | |
| they act like filehandles, but only store the bytes in a string and read back from the string | |||
|
23:55
Alias joined
|
|||
| allison | all test successful in the I/O branch! | 23:55 | |
| Infinoid | allison++ | 23:58 | |