|
Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | test gc_massacre branch | close 25 tickets; remove deprecated items (especially CodeString); Set by moderator on 21 September 2010. |
|||
|
00:00
davidfetter joined
|
|||
| dukeleto | cotto: ping | 00:02 | |
| cotto: check out the recent link i added to GitMigration about post-receive hooks | 00:05 | ||
| dukeleto goes for a run | |||
| dalek | tracwiki: v35 | dukeleto++ | GitMigration | 00:09 | |
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
| chromatic | bacek, is your example because the PMC pointer *was* on the stack (and that memory was never scrubbed) or because something that looks like the PMC's pointer is on the stack? | 00:20 | |
| bacek_at_work | chromatic, either of this | ||
| in case on gcms2 I suspect we have some dangling pointer on stack | |||
| chromatic | The latter seems like a coincidence, especially with stack and memory randomization. | 00:21 | |
| bacek_at_work | probably. But my point is that current "timely destruction" is unpredictable. | 00:22 | |
| chromatic | Agreed. | ||
| It's easy to imagine possibilities (however far-fetched) where this could occur again. | |||
| bacek_at_work | indeed. | 00:23 | |
| I really want to deprecate "timely destruction" and implement something like .net's using() keyword. It's not trivial for CPS VM but can be done (me think) | 00:26 | ||
| chromatic | Is that like Python's with? | ||
| bacek_at_work | chromatic, I don't know python. | 00:27 | |
| chromatic | I don't know C#. | ||
| When we have Lorito, we shouldn't have to walk the system stack. | |||
| bacek_at_work | C<using(new Foo) { ... }; > Foo.dispose will be invoked after "}" | 00:28 | |
| chromatic | Looks like Python's with. | ||
| bacek_at_work | may be. | ||
| btw, even with Lorito we have to walk C stack. Modulo low-level "new_p_p_p" implementation. | 00:31 | ||
| chromatic | I think we can avoid it. | 00:33 | |
| whiteknight | me too. I think we can avoid it | 00:36 | |
| and we should if we can | |||
| To enforce that, we are probably going to have to erect barriers between runloops recursed into by extensions | 00:37 | ||
| chromatic | I'd like to avoid recursing into runloops -- at least recursing at the Lorito runloop level. | 00:38 | |
|
00:39
patspam joined
|
|||
| bacek_at_work | anyway, if there is no objections I'll mark test as todo and merge branch tonight. | 00:43 | |
| I do want to start on GenGC sooner than later. | 00:44 | ||
| chromatic | +1 | ||
| whiteknight | chromatic: yeah, I wish. The problem is extensions. If extensions can be called by Parrot, and call into Parrot, we get recursions | ||
| or, really really creepy abuses of setjmp | |||
| chromatic | Only at the C level. | 00:45 | |
| "only" | |||
| dukeleto, ping | |||
| whiteknight | I'm liking my third idea about timely destruction the more I think about it. If we have a timely_destroy opcode that calls VTABLE_destroy and morphs the target to Null, we should be safe from crashing | ||
| I like it a hell of a lot now that I really think about it | |||
| chromatic | That's a good way to find bugs too. | ||
| Without crashing. | |||
| whiteknight | when you say "kill this PMC", it's because you want it dead even if there are outstanding references | 00:46 | |
| safe thing is to make those references harmless | |||
| if we assume that "eventually" nobody will be writing PIR/PASM/Lorito by hand, and everything meaningfull will be done by code generators, things should be pretty safe | 00:47 | ||
| chromatic | If we require explicit marking of these PMCs, we can even do escape analysis at runtime for little cost. | 00:48 | |
| That is, if we assume: | |||
| 1) we tie their destruction to the "ending" of their contexts | 00:49 | ||
| 2) we use contexts to shuffle PMCs and STRINGs between contexts at invoke/return | |||
| Then we can store a list of destructables with the appropriate context | |||
| Anything in that list that escapes to a caller context (probably on the return invocation of a continuation) takes that flag with it to its caller's list | 00:50 | ||
| Right at the point of invocation, where we're pretty sure we'll never recycle that context (because it's not a reified continuation), we destroy and morph everything on that list that hasn't escaped. | |||
| If it's escaped, it's not on the list. | |||
|
00:50
dngor left
|
|||
| chromatic | If it's never been on the list, the standard GC will get it. | 00:50 | |
|
00:50
dngor joined
00:51
davidfetter left
|
|||
| dukeleto | chromatic: pong | 00:53 | |
| chromatic | They have me on their confirmed list. | 00:54 | |
| ww | |||
| whiteknight, why does PMC_IS_NULL() have to get smarter? | |||
| whiteknight | because it has to check whether p == NULL and p->vtable->base_type == enum_class_NULL | 00:55 | |
| not p == PMCNULL, which is easier/faster | |||
| chromatic: are you thinking about doing escape analysis at the Parrot level? I always sort of envisioned doing it at the HLL level | 00:56 | ||
| chromatic | Morph to the singleton Undef, which is easier. | 00:59 | |
| bacek_at_work | Undef isn't singleton | 01:01 | |
| And have different semantics | |||
| chromatic | Right, Null is singleton. | 01:02 | |
| whiteknight | I don't care if we morph it to SantaClause. So long as we don't set pmc->vtable to 0xdeadbeef, we're probably okay | ||
| chromatic | Works for me. | ||
| ... except that morphing to a singleton is silly. | 01:05 | ||
| I think we can get away with leaving PMC_IS_NULL unmodified though. | 01:06 | ||
| whiteknight | well, if we were going to have more than one null, we would make it not a singleton | ||
| but again, I don't care what we morph it to. We could morph it to a Float with NaN for all I care | |||
| actually, we shouldn't do that | 01:08 | ||
| either make Null not a singleton, or make a Null-alike type that isn't a singleton | |||
| Undef is probably not the right choice either, but maybe it could be | 01:09 | ||
| shit. I wish we had put in a deprecation notice about timely destruction nonsense on Monday | 01:14 | ||
| anyway, it's bedtime now | 01:15 | ||
| goodnight | 01:16 | ||
|
01:16
whiteknight left
|
|||
| bacek_at_work | chromatic, can you create trac ticket for deprecating "timely destruction"? | 01:34 | |
| (and put some kind of excerpt from irc into it) | |||
| And let's create DeadBeef PMC :) | 01:35 | ||
|
01:42
kid51 joined
01:52
mikehh left
01:58
ascent left
01:59
AzureStone left
02:02
ruoso joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "Rakudo's test summary on gc_massacre branch." (6 lines) at nopaste.snit.ch/23553 | 02:03 | |
| bacek_at_work | moritz, can you have a look at nopaste.snit.ch/23553 ? | ||
| dalek | TT #1799 created by ronaldws++: Allow for rw bffer to be passed by nci 'B' signature. | 02:05 | |
| TT #1799: trac.parrot.org/parrot/ticket/1799 | |||
|
02:06
mikehh joined
02:15
AzureStone joined
|
|||
| dalek | TT #36 closed by jkeenan++: Harmless test errors on Win32Vista | 02:22 | |
| TT #36: trac.parrot.org/parrot/ticket/36 | |||
|
02:29
preflex left
02:33
preflex joined
02:35
janus left
02:36
kid51 left
02:37
kid51 joined
02:43
kid51 left
03:07
ash_ left
03:15
kid51 joined
03:18
ash_ joined
03:19
kid51 left
03:20
ash__ joined
03:22
ash_ left,
ash__ is now known as ash_
|
|||
| plobsing | (1163468234 - 1158078900)/1163468234 | 03:36 | |
| aloha | 0.00463212818580486 | ||
| dalek | rrot: r49253 | plobsing++ | branches/typesafe_consttable (51 files): sync with trunk |
03:42 | |
|
03:51
janus joined
03:58
patspam left
|
|||
| dalek | rrot: r49254 | plobsing++ | branches/typesafe_consttable/src/main.c: fix C++ build. |
03:59 | |
|
04:16
eternaleye joined
|
|||
| dalek | rrot: r49255 | plobsing++ | trunk (121 files): merge typesafe_consttable branch |
04:16 | |
| rrot: r49256 | plobsing++ | branches/typesafe_consttable: branch merged |
|||
| rrot: r49257 | bacek++ | branches/gc_massacre/config/gen/makefiles/root.in: Fix test_string dependency |
|||
| rrot: r49258 | plobsing++ | trunk (2 files): remove dead code - PackFile_Constant and add_const_key |
04:33 | ||
| rrot: r49259 | plobsing++ | trunk/src/packout.c: todo implemented |
04:50 | ||
|
04:52
ash_ left
05:00
theory left
05:06
frodwith_ left
|
|||
| chromatic | Hm, who wants to bet that t/run/options.t has two failures now? | 05:33 | |
| plobsing | seems to run fine for me | 05:37 | |
| chromatic | Hmm. Me too. I learned something new about Subversion. | 05:38 | |
| plobsing | looking at a hexdump of perl6.pbc, fixup segments have a lot of strings that are already in the consttable | 05:41 | |
| chromatic | Should the PBC be smaller now? | 05:42 | |
| plobsing | it is supposed to be. it isn't for some reason. I'm looking into that atm | ||
| it should drop one sizeof(opcode_t) for every string and num constant | |||
| chromatic | That could be 15% or more. | 05:44 | |
| plobsing | I can drop a sizeof(opcode_t) for pmc constants once I un-special-case Keys | 05:45 | |
| what is the fixup table even for anyways? | 05:46 | ||
| chromatic | During compilation it's useful, but in PBC I have no idea. | 05:47 | |
| plobsing | if eval.pmc is to be beleived, it is an ordered mapping of "name" => "sub" within the constant table. | 05:52 | |
| yay more special case handling code wasting colossal amounts of space | 05:53 | ||
| chromatic | Incompatible versions of `core_ops' oplib. Found 2.8.0 but loaded 2.7.0? | 05:54 | |
| Oh, it linked against libparrot.so.2.7.0 | 05:55 | ||
| plobsing | looks like you're running an old parrot | ||
| chromatic | That did it. | 05:57 | |
| That did it. | 06:06 | ||
| NotFound | winxed compiler pbcs are bigger after the merge | 06:19 | |
| About a 0.5% | 06:21 | ||
| plobsing | NotFound: yes. I know. not sure as to why. they should still be faster though. | ||
|
06:21
fperrad joined
|
|||
| plobsing | NotFound: if you figure it out, let me know. | 06:23 | |
| NotFound | If the string in the fixup segment are duplicated, that is a lot of strings | ||
| plobsing | they were like that before | 06:24 | |
| and per the spec, they're supposed to point into the const table. | |||
| but I'm not even sure why we have a fixup table anymore | |||
| chromatic | Does anything read it? | 06:25 | |
| plobsing | a quick ack for PackFile_FixupEntry shows only Eval.pmc uses it. | ||
| all the rest appears to be support code | |||
| chromatic | Hm, so an eval operation must take place in the context of a compilation unit. | 06:26 | |
| I can understand why it needs its own fixups: the lack of required forward declarations, of course. | 06:27 | ||
| bacek_at_work | plobsing, FixupEntry contains Subs boundaries within ByteCode segment | 06:28 | |
| chromatic | Don't Subs know their own? | ||
| bacek_at_work | Not in PBC | ||
| plobsing | bacek_at_work: incorrect. fixup tables point to sub constants | ||
| bacek_at_work | plobsing, ah, yes. It's other way around. | 06:29 | |
| plobsing | so um, why are we maintaining that information? is walking all the subs in a packfile linearly really an operation we want to optimize for at the expense of space and speed elsewhere? | 06:31 | |
| bacek_at_work | plobsing, hmmm. We can have 1000x more constants than subs. | ||
| Premature optimisation ftw | |||
| plobsing | much less of a problem now that pmc constants are separate from str and num constants | 06:32 | |
| bacek_at_work | yes. | ||
| chromatic | Especially when we have to walk the subs in a packfile anyway to thaw them. | ||
| bacek_at_work | But I don't think we should put any effort into current PBC format. | ||
| moritz | bacek_at_work: the failure in properties-derived.rakudo is probably related to your ICU version | ||
| bacek_at_work | Lorito's PBC will change it dramatically | ||
| moritz, ok, thanks. | |||
| moritz | I've had failure reports from other platforms too | ||
| chromatic | We'll have better PBC for Lorito if we understand what we need from PBC now. | 06:33 | |
| (and remove some of the worst problems of it now) | |||
| bacek_at_work | makes sense | ||
| plobsing | I'm not waiting for Lorito. Lorito has been comming RSN for months. Everything could change. But if we wait, nothing will. | ||
| bacek_at_work | ask for excuses, not for permissions | ||
| NotFound | In a hexdump of the pbc I don't see anything obviously wrong | 06:34 | |
| plobsing needs sleep. will work on size problem tomorrow | 06:43 | ||
|
06:50
plobsing left
06:54
chromatic left
|
|||
| bacek | ~~ | 07:12 | |
| dalek | rrot: r49260 | bacek++ | branches/gc_massacre (34 files): Sync branch with trunk before merge back. \tsrc/call/context_accessors.c |
07:23 | |
| rrot: r49261 | bacek++ | branches/gc_massacre (3 files): Remove experimental GC TMS. MS2 now is TriColour effectively |
07:40 | ||
| TT #1800 created by bacek++: [DEPRECATED] Current behaviour of "timely destruction" is deprecated. | 07:49 | ||
| TT #1800: trac.parrot.org/parrot/ticket/1800 | |||
| rrot: r49262 | bacek++ | branches/gc_massacre/MANIFEST: "Regenerate" MANIFEST. |
07:58 | ||
| rrot: r49263 | bacek++ | branches/gc_massacre/src/main.c: Remove one more bit of TMS GC. |
|||
| rrot: r49264 | bacek++ | branches/gc_massacre/src (2 files): Bring files irrelvant to branch from trunk |
|||
| rrot: r49265 | bacek++ | branches/gc_massacre/src/gc (2 files): Remove more leftovers of TMS GC |
|||
| rrot: r49266 | bacek++ | branches/gc_massacre/t/pmc/filehandle.t: Skip filehandle test |
|||
|
08:01
slavorgn left
08:15
contingencyplan left
|
|||
| mikehh | bacek: you need more testing on gc_massacre | 08:17 | |
| bacek: should be a ? there | |||
| bacek | mikehh, is it question? | ||
| mikehh, :) | 08:18 | ||
| On which platform are you now? | |||
| mikehh | Ubunty 10.10 beta amd64 | ||
| Ubuntu | 08:19 | ||
| bacek | can you switch to i386? I'm on amd64 | ||
| And finally testing it before merge back. | |||
| mikehh | can give it a try | ||
| bacek | ok, thanks | ||
| mikehh | brb | ||
|
08:21
mikehh left
|
|||
| bacek | aloha, msg mikehh Ignore MANIFEST failures. We can fix them after merge | 08:27 | |
| aloha | bacek: OK. I'll deliver the message. | ||
|
08:29
ascent joined
|
|||
| dalek | rrot: r49267 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c: Really destroy Fixed_Allocator |
08:30 | |
| rrot: r49268 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Implement gc_ms2_finalize |
|||
|
08:32
luben_work joined
08:35
slavorgn joined
|
|||
| dalek | rrot: r49269 | bacek++ | trunk (30 files): Merge branch gc_massacre back to trunk. Default GC set MS2 now |
08:48 | |
| rrot: r49270 | bacek++ | trunk/src/gc/gc_ms2.c: Temporary disable gc_ms2_finalize. It doesn't play nicely with threads. |
|||
| sorear | wait, wait | 08:50 | |
| fixed allocators gone? | |||
|
08:51
mikehh joined
09:10
AzureStone left,
AzureStone joined
09:18
tadzik joined
09:21
AzureStone left
|
|||
| dalek | rrot: r49271 | mikehh++ | trunk/MANIFEST.SKIP: re-generate MANIFEST.SKIP |
09:22 | |
|
09:22
AzureStone joined
|
|||
| mikehh | bacek: got to go to the dentist now - will fix codetest failures etc, when I get back | 09:26 | |
| tadzik | guys, my Perl 6 code ran with Rakudo is up to 33% faster on the latest revision compared to 2.6.0. Big kudos to all the Parrot team | 09:46 | |
| * 2.8.0, pardon | 09:48 | ||
|
09:51
he joined
09:55
lucian joined
10:08
masak joined
10:49
ruoso left
|
|||
| mikehh | gotta love dentists - they are definately required, but you don't want to go anywhere them - mouth is still numb | 11:19 | |
| s/them/near them/ | 11:20 | ||
| dalek | rrot: r49272 | mikehh++ | trunk (8 files): add svn properties |
11:21 | |
|
11:33
plobsing joined
|
|||
| Coke sees his name go by in backscroll and it's not highlighted. odd. | 11:35 | ||
| sorear: no need for name calling, jerkbag. | |||
| dalek | rrot: r49273 | mikehh++ | trunk/src/pmc/exceptionhandler.pmc: fix codetest failure - line length |
11:38 | |
|
11:42
PacoLinux left
|
|||
| mikehh | Hey Coke, why was you guys so CRU-EL to purl? | 11:42 | |
| Coke | I personally am not a huge fan of the #perl-style interjections. factoids are nice, but not when we share them with 4chan. | 11:52 | |
|
11:52
whiteknight joined
|
|||
| Coke ponders doing a benchmark to see if latest parrot is faster on partcl. | 11:54 | ||
| dalek | rrot: r49274 | mikehh++ | trunk/compilers/imcc/pbc.c: run make headerizer to get rid of missing assert args failure |
11:55 | |
|
11:55
esskar left
|
|||
|
11:56
esskar joined
|
|||
| mikehh | bacek: You still around? | 12:02 | |
| whiteknight | good morning, #parrot | 12:07 | |
| mikehh | msg backk, you still have some g++ comments in src/gc/gc_ms2.c in function gc_ms2_finailize - but I can't find anywhere that function is called | 12:24 | |
| aloha | OK. I'll deliver the message. | ||
|
12:25
ruoso joined
|
|||
| mikehh | bah, misspelling | 12:26 | |
| msg bacek, you still have some g++ comments in src/gc/gc_ms2.c in function gc_ms2_finailize - but I can't find anywhere that function is called | |||
| aloha | OK. I'll deliver the message. | ||
| Coke | ah, partcl-nqp on parrot trunk certainly fails faster, anyway. | 12:27 | |
| plobsing knows why is larger after typesafe_consttable merge - keys are no longer being de-dupped for some reason. | 12:30 | ||
| Coke | the string changes broke partcl's build. | ||
| STRING *value = Parrot_str_new_noinit(interp, enum_stringrep_one, 128); | 12:31 | ||
| whiteknight | mikehh: in a recent commit he mentioned that he disabled that function for some reason | 12:33 | |
| mikehh | whiteknight: yeah found it | 12:34 | |
| Coke hates hates hatest developing on parrot. ;) | |||
| whiteknight | Coke: Then I think you're in the wrong open source project. Because this *is* parrot | 12:35 | |
| :) | |||
| mikehh | gonna just replace the c++ comments for the moment (to get codetest to pass) | ||
| Coke | whiteknight: oh, I'm pretty sure I am too. :P | 12:36 | |
| Coke now gets to figure out what commit broke partcl's build, and which commit broke partcl-nqp's tests. | |||
| whiteknight | what about Parrot are you hating on? | ||
| ah, dependency hell. Gotcha | 12:37 | ||
| Coke will have to let them both rot for now. Hopefully he'll be able to get back to it. | 12:38 | ||
| does smolder provide a way to report build failures? | 12:43 | ||
| whiteknight | that's a very good question | 12:45 | |
| Coke | either way, IWBNI if we had some way for HLLs to report that. | ||
| to perhaps prevent the several month cycle I find myself going through. | |||
| dalek | rrot: r49275 | mikehh++ | trunk/src/gc/gc_ms2.c: replace c++ comments to get codetest to pass |
12:46 | |
| Coke | ugh. and I'm having linking problems, picking up the wrong version of parrot in ~/bird when trying to test installs with older version numbers. | 12:54 | |
|
13:05
plobsing left
13:06
contingencyplan joined
|
|||
| Coke | the breakage for partcl-old was introduced between 2.7.0 & 2.8.0 | 13:09 | |
|
13:17
patspam joined
13:18
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
13:19
tadzik left
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#194) fulltest) at r49275 - Ubuntu 10.04 i386 (gcc) | 13:31 | |
| brb | 13:46 | ||
|
13:47
mikehh left
|
|||
| dalek | kudo: 08317ed | moritz++ | docs/announce/2010.09: [release] mention "now" and "time" being terms; deprecation notice for Bool stringification |
13:50 | |
|
13:50
PacoLinux joined
|
|||
| moritz would love to make the release now, but can't (for lack of a release name) | 13:53 | ||
| if nobody comes up with a suggestion real soon, I'll just take a .pm group whose name I like | |||
| atrodo | Cincinnati! Even though it has been active in years tho, before my time in fact | 13:54 | |
| moritz | hey, I've even been to cininnati! | 13:55 | |
| (though I'd welcome some Perl 6 related names :-) | |||
| atrodo | It's a nice city | ||
|
13:55
pjcj joined
|
|||
| moritz | it has a university with skewed walls :-) | 13:57 | |
|
13:57
mikehh joined
|
|||
| atrodo | UC? (Never been to any of the campuses around town) | 13:59 | |
| moritz | no idea, I just remember seeing it while driving by | ||
| (and it's been, like, 10 years ago :-) | |||
|
14:02
mikehh_ joined,
Austin joined,
Austin left
14:04
mikehh left,
mikehh_ is now known as mikehh
|
|||
| mikehh | opbots, names | 14:04 | |
|
14:14
fperrad left
14:21
fperrad joined
14:37
hatseflats joined
14:44
bacek left
14:49
tadzik joined,
aloha left
14:58
luben_work left
15:12
theory joined
15:20
patspam left
15:23
fperrad left
15:25
fperrad joined
15:35
mythosil joined
15:41
allison left
15:46
ruoso left
15:59
theory left
16:00
ruoso joined
16:30
chromatic joined
16:32
mythosil left,
theory joined
16:39
necrolyte joined
|
|||
| chromatic | Hm, Rakudo startup is some 14.64% faster today than last night. | 16:40 | |
| jnthn | Wow...what happened? :-) | 16:42 | |
| tadzik | gc_massacre :) | 16:43 | |
| some of my scripts went 33% faster | |||
| jnthn | \\o/ | 16:44 | |
| Didn't spot the merge | |||
| bacek++! | |||
| chromatic | That's good, there's our 10-12% speed improvement for next month's release. I'll see you all in a month. | 16:46 | |
|
16:48
szabgab_ left
|
|||
| chromatic | Oh, 33% faster than 2.6.0? That sounds right. | 16:48 | |
| atrodo | Only 66% to go! | 16:51 | |
| Coke wishes partcl could enjoy that improved parrot! | 16:52 | ||
| chromatic | You're probably falling afoul of charset_massacre, Coke. | 16:53 | |
| Next area of speedup, how about Class isa() and isa_pmc()? | |||
| Actually the vtable override problem is suspect. | 16:54 | ||
| Coke | chromatic: very likely, though the specific function that is complaining during the build isn't mentioned anywhere in any deprecation notice on the site. | ||
| it was definitely borked for me in the last release. I will attempt to bisect and open a ticket as time permits. | |||
|
16:55
masak left
|
|||
| Coke | Do we have some kind of HLL test farm? | 16:56 | |
| chromatic | r48833 | ||
|
16:56
fperrad left
|
|||
| jnthn | chromatic: fwiw, neither Rakudo nor nqp will use either of those much in a couple of months. | 16:56 | |
| If all goes to plan, anyways. | |||
| chromatic | We'll see! | 16:58 | |
| Coke | chromatic: assuming that's the revision that borked me, is there a ticket for that one? | 16:59 | |
|
16:59
kid51 joined
|
|||
| NotFound | chromatic: I think the problem with 'ExceptionHandler' vs ['ExceptionHandler'] that rakudo had may be the symptom of a problem: HLLs are in some cases getting instances of PMCProxies instead of the PMC they ask. | 16:59 | |
| chromatic | What kind of ticket are you looking for, Coke? | 17:00 | |
| Coke | the deprecation ticket. | ||
| or the ticket describing the statement of work for that branch. | |||
| I only see #1777 & #1779 that mention that branch's name. | |||
| chromatic | I don't understand what seeing a ticket does for you. | 17:01 | |
| Coke | chromatic: if that commit changed something that broke my HLL, i'd like to be able to find the docs that tell me how to fix it. | ||
| or, barring that, add my docs when I figure out what to do. | 17:02 | ||
| chromatic | =item C<STRING * Parrot_str_new_init(PARROT_INTERP, const char *buffer, UINTVAL | ||
| len, const STR_VTABLE *encoding, UINTVAL flags)> | |||
| Given a buffer, its length, an encoding, a character set, and STRING flags, | |||
| creates and returns a new string. Don't call this directly. | |||
| NotFound | "Use some of the wrong and deprecated functions instead" ? | 17:03 | |
|
17:03
necrolyte left
|
|||
| kid51 | pastebots? | 17:04 | |
| paste? | |||
| Coke | paste is nopaste.snit.ch/ | ||
| NotFound | Coke: forget paste | ||
| Coke | chromatic: if your answer is meant to tell me to use a different function, I'm not using that function. | ||
| I forgot paste | |||
| chromatic | Yeah, and there should be an entry on the deprecations wiki page that tells you which function to use instead. | 17:05 | |
| (and we shouldn't export functions you shouldn't use, which bothers me more than that line in the docs) | |||
| Coke | but I'm not using that function. ;) | ||
| but yah, the function I am using is not marked PARROT_API. | |||
| nopaste | "kid51" at 192.168.1.3 pasted "gc_massacre branch: make testb: t/pmc/threads.t failures" (448 lines) at nopaste.snit.ch/23568 | 17:06 | |
| NotFound | Coke: I can grant that even without reading your code. | ||
| Coke | so no deprecation needed, point. | ||
| Coke sighs. | |||
| NotFound | Coke: What is the problem? Build errors? | 17:09 | |
| Coke | NotFound: partcl has build errors. partcl-nqp has test failurs. | 17:10 | |
| *failures | |||
| parrot repo at charset_massacre mergeback minus 1 doesn't build here. will try harder to bisect later. | 17:11 | ||
| NotFound | partcl is still github.com/partcl/partcl ? | ||
| Coke | no, partcl is github.com/partcl/partcl | 17:12 | |
| partcl-nqp is github.com/partcl/partcl-nqp | |||
| nopaste | "NotFound" at 192.168.1.3 pasted "Patch for partcl" (44 lines) at nopaste.snit.ch/23569 | 17:20 | |
|
17:24
bluescreen joined,
sjn left
17:25
sjn joined
|
|||
| tadzik | chromatic: than 2.8.0 | 17:29 | |
| chromatic | Amazing. | ||
| tadzik | I know it sounds insane, but there was one script performing like this | ||
| shame I don't remember which one :) | |||
| chromatic | Seems to use more memory though. | 17:32 | |
| tadzik | dunno | 17:33 | |
| whiteknight | kid51 was actually seeing decreased performance on his system | 17:34 | |
| so that's weird. We might need to see a more robust set of benchmarks | |||
| I think bacek disabled the gc_finalize thing | |||
| Coke | NotFound: is the encoding of that string binary? | 17:35 | |
| chromatic | kid51 has like 256M | ||
| Coke | or whatever binary is called these days? | ||
| if only we had some way to tell parrot to only use a fixed amount of memory. | |||
| NotFound: also, that method is not exported, so I would like to avoid that one too. | 17:36 | ||
| s/exported/part of the API/ | |||
| but it's probably good enough for old-school partcl. Danke. | 17:37 | ||
| chromatic | If anything deserves PARROT_API, Parrot_str_new() and Parrot_str_new_constant() apply. | ||
| Coke | what's the difference these days with immutable strings, btw? | 17:40 | |
| chromatic | What do you mean "difference"? | ||
| Oh, I know what you mean. | 17:41 | ||
|
17:41
bluescreen left
|
|||
| chromatic | constant strings coalesce into a single instance when you create them. | 17:41 | |
| NotFound | Coke: Did we have a string public api? | 17:43 | |
| Coke: the encoding of a new_constant? Not sure if it's ascii or default, and not sure if there is a difference. | 17:46 | ||
| Looks like is: Parrot_default_encoding_ptr | 17:48 | ||
|
17:51
davidfetter joined
17:54
ash_ joined
17:56
bluescreen joined
|
|||
| Coke | NotFound: probably not or I would be using private functions and getting borked. | 18:11 | |
| *wouldn't | |||
| chromatic: so if I'm just creating an empty string to append to, then it doesn't matter. Also partcl's src/binary.c should probably be using a ByteBuffer instead. | |||
| (but it hugely predates all the *Buffers) | 18:12 | ||
|
18:12
silug left
|
|||
| chromatic | That's the biggest problem, yes. | 18:16 | |
| Partcl is a mix of Parrot: TOS and Parrot: TNG API calls. | 18:17 | ||
| Coke | chromatic: I update them whenever the old ones break. | 18:19 | |
| if you don't want folks using the old ones, add a "warn". | |||
| dalek | kudo: 74a156f | moritz++ | / (3 files): [release] name is Milan. Bump VERSION |
18:20 | |
|
18:34
theory left
18:38
jan left
|
|||
| atrodo | chromatic> Since you asked about it a few days ago i wanted to let you know that I think my lorito prototype has a mostly usable base now | 18:38 | |
| chromatic | What can it do? | 18:39 | |
| atrodo | The major things are Math, Goto/Conditionals, Make new PMCs, manipulate the data in the PMC, call methods, push/pop arguments, lookup methods on a pmc | 18:41 | |
| chromatic | How about calling C functions? | 18:44 | |
| atrodo | Yep, it can do that too | 18:45 | |
| chromatic | Sounds like most of what we need. | 18:48 | |
| atrodo | Although nothing fancy like NCI, and doesn't pretend to have a calling convention | ||
| Yep. I was going to do some documentation and tests and then play with some PMCs | 18:49 | ||
|
18:53
lucian left
18:59
lucian joined
19:01
jmcadams joined
19:06
s1n joined
|
|||
| chromatic | Maybe we can port some ops to it. | 19:07 | |
| atrodo | Maybe | 19:11 | |
| mikehh | chromatic: any way we can sort out the COST_STRING macro onto multiple lines to get it to conform to line length | 19:13 | |
|
19:13
plobsing joined
|
|||
| chromatic | That requires fixing #line processing in several broken C compilers. | 19:13 | |
| mikehh | CONST_STRING | 19:14 | |
| damn | |||
| chromatic | If someone wants to file a Cage Cleaner ticket to extract those into temporary variables and use them, that's fine too. | ||
| dalek | kudo: c50ac91 | moritz++ | build/Makefile.in: [build] release should not rely on dead pugs svn. Quick and ugly Unix-only hack. |
19:15 | |
| mikehh | let me research the problem - any docs on it? | ||
| chromatic | Offhand I don't know, this was probably in the RT days. | 19:16 | |
| mikehh | not just necessarily parrot ones | ||
| chromatic | I know LLVM's clang had #line problems, but they may have fixed it now. | ||
| dalek | kudo: 0d3c66e | moritz++ | docs/release_guide.pod: [docs] update release guide * VERSION bumping * remove section on spectest numbers * update description of t/spec handling to git usage |
19:21 | |
|
19:23
nwellnhof joined
|
|||
| nwellnhof | Hmm, it seems that gc_massacre got merged with the provisional 256MB threshold. | 19:23 | |
| I don't get a single GC run triggered during a Parrot build. | 19:24 | ||
| chromatic | Parrot or Rakudo? | 19:25 | |
| nwellnhof | Parrot. | ||
| tadzik | --debugging=0 Disable debugging, default = 1, from Configure.pl | ||
| so is it enabled or disabled by default? | 19:26 | ||
| moritz | it's enabled by default | ||
| tadzik | and that causes some performance loss? | 19:27 | |
| chromatic | debugging? Yes. | ||
| tadzik | alright | 19:28 | |
| ash_ | does --optimize turn off debugging? | ||
| chromatic | I believe so, yes. | ||
| moritz doesn't believe so | 19:29 | ||
| nwellnhof | The 256MB threshold is really bad for testing. I always found it helpful to lower the GC threshold to some KB for testing purposes. | 19:31 | |
| tadzik | will check | ||
| nwellnhof | The 256MB threshold is also an utter waste of memory for many programs. | 19:32 | |
| I think I'm gonna port the dynamic threshold to MS2 if that's OK with bacek. | 19:33 | ||
| tadzik | --optimize does not turn off debugging | ||
| chromatic | Please do. | ||
| I thought optimize defined NDEBUG. | |||
| tadzik | well, the /usr/bin/parrot md5sum is different after adding --debugging=0 | ||
| nwellnhof | afk # for another round of drinks | ||
|
19:34
nwellnhof left
19:46
theory joined
|
|||
| chromatic | I usually check the Makefile to see the flags themselves. | 19:48 | |
| -DNDEBUG at the end of my CFLAGS | |||
|
20:03
patspam joined
20:06
Khisanth left
20:09
ruoso left
20:12
Khisanth joined
20:15
kid51 left
20:18
silug joined
|
|||
| dalek | nxed: r666 | NotFound++ | trunk/winxedst1.winxed: optimize if for some common conditions |
20:25 | |
| NotFound | Here comes the winxed of the beast... | ||
| dalek | rrot: r49276 | plobsing++ | trunk (7 files): separate different types of PackFile_ConstTable_rlookup |
20:26 | |
|
20:28
ruoso joined
|
|||
| ttbot | Parrot trunk/ r49276 i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/402030.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 20:29 | |
| ash_ | NotFound: what if the parrot interp set the encoding of the interp to the env var LC_ALL or LANG? | ||
|
20:30
theory left
|
|||
| NotFound | ash_: What do you mean by "the encoding of the interp" ? | 20:30 | |
| ash_ | trac.parrot.org/parrot/changeset/49252 | ||
| NotFound | ash_: please don't show me my own code as explanation X-) | 20:31 | |
| ash_ | oh | 20:33 | |
| wasn't the issue that the interp doesn't set the encoding to utf8? | |||
| i might be thinking of the wrong problem, if its even a problem | |||
| NotFound | ash_: the question is more complicated IMO. We can set some encoding on the stdhandles at startup, we can set some default for newly opened FileHandles, or both. | 20:34 | |
| But setting some encoding as default in the whole interpreter, I think is wrong. | 20:35 | ||
| ash_ | what if it was a compile-time configuration that let you set the default? | ||
| NotFound | ash_: what I have a machine with some users using a LANG with utf8 encoding and others a LANG with iso-8859-1? | 20:36 | |
| ash_ | in my mind, you can configure the default at: compile time, runtime startup or per-instance of a FileHandler | ||
| good point | 20:37 | ||
| NotFound | And what if a lot of code breaks because no one expect that default encoding change? | ||
| ash_ | hmm | 20:39 | |
| well, how would one go about setting the encoding anyway? | |||
| NotFound | I think the filehandles approach is workable, but needs wide discusion. | ||
| To follow the principle of less surprise, we need to know what people will expect. | 20:40 | ||
| ash_ | tbh, i expect ascii unless i am explicitly saying something else, but i don't do much with other languages because i speak english, so i am probably not the general case | 20:41 | |
| NotFound | ash_: if you excpet ascii, why were you surprised by the problem with rakudo interactive mode? | 20:42 | |
| ash_ | i wasn't, but someone using the try.rakudo.org site tried printing polish, and it got garbled | 20:43 | |
| dalek | rrot: r49277 | plobsing++ | trunk/src/packout.c: fix assertions. 0 is allowed as well |
||
|
20:43
theory joined
|
|||
| ash_ | so, in an effort to get it to work right, i have been trying to find out whats wrong, and someone told me readline was part of the problem | 20:43 | |
| which is how we got to where we are today | 20:44 | ||
| NotFound | Ah, good. We're starting to have users (or potential users) worried by that things. | ||
| ash_ | i am not saying ascii is right, but i do want to 'work' when you try things like printing polish characters, assuming everything is correctly configured and setup | ||
| NotFound | I don't know how try,rakudo works, but if is using a web page that allows non-ascii characters, surely should do something about it. | 20:46 | |
| ash_ | well, its working now | 20:47 | |
| but i had to configure parrot without readline | |||
| NotFound | I think a workable approach is, as you said, using environmental vars to get an encoding from the locale, and use that data to set the encoding of the std handles. | ||
| For windows, I don't know what to do. | 20:48 | ||
| ash_ | try rakudo is fine, currently, but readline is an issue and i was hoping to see if we could figure out how/why it was doing the wrong thing | 20:49 | |
|
20:50
Andy left
20:51
whiteknight left
|
|||
| NotFound | What's the url? try.rakudo.org/ ? | 20:54 | |
| ash_ | yup | 20:55 | |
| dalek | ast: 29b04a9 | moritz++ | S0 (4 files): fix tests for Bool stringification |
||
| NotFound | Doesn't load. | ||
| ash_ | ya... i am having some timeout issues | ||
| one sec | |||
|
20:55
M_o_C joined
20:56
M_o_C left
|
|||
| ash_ | try it now | 20:58 | |
| say 'ZażóÅÄ gÄÅlÄ jaÅŗÅ' is an example someone tried that wasn't working before | 20:59 | ||
| and it still not working on the live server, but on my test server i fixed it | |||
|
21:00
jan joined
|
|||
| dalek | kudo: 40d0d49 | moritz++ | src/builtins/Bool.pir: make True and False stringify as Bool::{True,False} as per spec |
21:01 | |
| kudo: a820a44 | moritz++ | src/builtins/Bool.pir: Merge branch 'bool-str' |
|||
| NotFound | The problem is that I don't know enough perl6 do check what is doing. | 21:03 | |
| ash_ | thats fine, i have logs that tell me what crashes the server | 21:04 | |
| that was one of the things that crashed it before | 21:05 | ||
| the polish characters | |||
| jnthn | Guess it made you polish your code a bit. :-) | ||
| ash_ | ya | ||
| sleep 15 # or any number > 15 works like it should now, the server considers that a timeout and kills the repl | 21:06 | ||
| and restarts it, so you can keep playing, but it does kill it properly | |||
| NotFound | How can I get the length and bytelength of a string in perl6? | 21:11 | |
| ash_ | .chars | 21:12 | |
| for length | |||
| bytelength is... i don't know... | |||
| oh, in windows i found how to get the default encoding | 21:13 | ||
|
21:13
Andy joined
|
|||
| ash_ | you have to query the win32 api for LOCALE_USER_DEFAULT | 21:13 | |
| NotFound | say "JuliƔn".chars; -> 7 | 21:14 | |
| Wrong | |||
| ash_ | rakudo: say "JuliƔn".chars; | ||
| p6eval | rakudo 0d3c66: OUTPUTĀ«6ā¤Ā» | 21:15 | |
| NotFound | But in command line it says 6 | ||
| ash_ | hm... | ||
| i am use a month-ish old version of rakudo... | |||
|
21:15
bluescreen left
|
|||
| ash_ | on the server, i'll update that | 21:15 | |
| can't hurt | |||
| NotFound | I've built it right now with parrot trunk. | ||
| ash_ | is current trunk saying 7? | 21:16 | |
| NotFound | No, it says 6. The web says 7 | ||
| tadzik | web uses repl | 21:17 | |
| ash_ updating try.rakudo.org | |||
| NotFound | $ ./perl6 --encoding=iso-8859-1 | ||
| > say "JuliƔn".chars; | |||
| 7 | |||
| Looks like rakudo is using its own way to recode things. | 21:18 | ||
| You can try to use --encoding=utf8 on try.rakudo.org | |||
| ash_ | ash@feather3:/var/www/try.rakudo.org/frontend$ ~/Projects/rakudo/perl6 | 21:19 | |
| > say "JuliƔn".chars; | |||
| 6 | |||
| weird, i wonder why the website says 7 | |||
| might be an html encoding error? or javascript? /shrug i'll look into it | 21:20 | ||
| NotFound | ash_: I guess is using env vars for defaut if there is no --encoding option, and the web server environment doesn't provide an appropiate value. | ||
|
21:20
ruoso left
|
|||
| ash_ | that sounds probable | 21:21 | |
| NotFound | Using an explicit --encoding=utf8 may be the appropiate solution. | 21:22 | |
| ash_ | hmmm, i set it, but its still returning 7 | 21:23 | |
| it has something to do with my p6safe script that sets rakudo into safemode | 21:26 | ||
| github.com/moritz/try.rakudo.org/bl.../p6safe.pl is the script, it overrides a bunch of file IO ops in pir to make sure people can't do "bad things" | |||
| but it's not respecting --encoding=utf8 for some reason | 21:27 | ||
| NotFound | my $*ARGFILES = open '../frontend/data/input_text.txt'; What does this? | 21:29 | |
| ash_ | sets stdin to be the contents of the file | ||
| so if you try to read from stdin you get something useful | |||
| rakudo: say lines | |||
| p6eval | rakudo 0d3c66: OUTPUTĀ«Land der Berge, Land am Strome,Land der Ćcker, Land der Dome,Land der HƤmmer, zukunftsreich!Heimat bist du groĆer Sƶhne,Volk, begnadet für das Schƶne,vielgerühmtes Ćsterreich,vielgerühmtes Ćsterreich!HeiĆ umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken | ||
| ..Herzen ⦠| |||
| ash_ | its that text | ||
| NotFound | open has some way to specify text mode? | 21:30 | |
| ash_ | ya, you mean like read it as binary data right? | 21:31 | |
| NotFound | It may be. | 21:32 | |
| ash_ | thats not the repl part, thats just text for stdin, Perl6::Compiler.interactive(); starts the repl | 21:33 | |
| NotFound | Yeah, but the problem seems to be that is not using the encoding for its input. | 21:35 | |
| ash_ | the repl still uses stdin as its input, the $*ARGFILES is for all perl6 related io functions | 21:36 | |
|
21:39
mikehh left
|
|||
| NotFound | How do you pass named parameter to a sub in perl6? | 21:39 | |
| tadzik | sub(foo => 'bar') | ||
| or sub(:foo<bar>) | |||
| TIMTOWTDI, as always | |||
| sorear | sub(|($foo => $bar)) if you need a variable name | 21:40 | |
| sub(:$foo) if you want to pass $foo with the name 'foo' | |||
| ash_ | if the server goes down, its my fault, i am upgrade rakudo (and parrot) | ||
| sorear | sub(|%foo) if you have a few named parameters in a hash | ||
| NotFound | ash_: try this: Perl6::Compiler.interactive(:encoding<utf8>); | 21:41 | |
| ash_ | prints 6 now | 21:42 | |
| NotFound | Good | ||
| ash_ | restarting the repl server | 21:43 | |
| sweet i broke it /grubmles | 21:44 | ||
| NotFound | say "JuliƔn"; | ||
| ā | |||
| Rakudo REPL has timedout... reaping. | |||
| ash_ | i did make, not make install /duncehat | 21:45 | |
| ā say "JuliĆ”n".chars; | |||
| 6 | |||
| say 'ZażóÅÄ gÄÅlÄ jaÅŗÅ' works too now | |||
| NotFound | say "JuliƔn"; | 21:46 | |
| ā | |||
| JuliƔn | |||
| Good | |||
| ash_ | parrot still needs to be configured without readline, which isn't that big of a deal, but it would be nice if that worked with readline too | 21:47 | |
| NotFound | ash_: What parrot is it using? | 21:48 | |
| ash_ | cat build/PARROT_REVISION | ||
| 49192 2.8.0 | |||
| NotFound | My fix for readline is 49252 | 21:49 | |
| You can try to apply that patch. | 21:50 | ||
| ash_ | even after that, i built my local parrot/rakudo with latest trunks of both and it still doesn't work right | ||
| > say "JuliƔn"; | |||
| JuliĆĀ”n | |||
| with readline and your patch | |||
| NotFound | Someone with good knowledge of rakudo internals should take a look at the problem, then. | 21:51 | |
| ash_ | i'll file a bug report | 21:54 | |
|
21:54
tadzik left
|
|||
| NotFound | In the meantime, try.rakudo.org is working, isn't it? | 21:55 | |
| ash_ | yup | ||
| NotFound | World domination advances! | 21:56 | |
|
22:01
mikehh joined
|
|||
| ash_ | NotFound: actually, i just double checked, i must of let Configure build parrot, your changes do make readline work with utf8 in the repl | 22:01 | |
| NotFound++++ | |||
| NotFound | Good! | ||
| ash_ | are the gc_massacre changes in trunk now too? | 22:02 | |
| chromatic | yes | 22:03 | |
| ash_ | wonder if it gives rakudo any speed boosts, i'll check | ||
| jnthn | ash_: Hmm...I just tried it and it doesn't seem to respond? | 22:04 | |
| NotFound | ash_: according several people, there is huge boost since 2.8 | ||
|
22:05
patspam left
|
|||
| ash_ | jnthn: try again, the repl server was frozen | 22:05 | |
| rakudo: print "ƦưÄ»·āĸþø" | 22:06 | ||
| p6eval | rakudo 0d3c66: OUTPUT«æðÄ»·āĸþø» | ||
| ash_ | thats what froze it | ||
| hmm | |||
| jnthn | oh, was that me? | ||
| I tried | |||
| say "Š¾ŃŠ»ŠøŃно!" | |||
| NotFound | ash_: that is a friend from other channel I asked to do some test | ||
| ash_ | i know what that is | 22:07 | |
| ugh | |||
| NotFound | He did: print ~ƦĆưÄƦĆưÄÅÄƦĆÄ | ||
| ash_ | print is bad :-( | ||
| mikehh | neither purl nor aloha is currently in the channel | ||
| NotFound | I told him say, but... | ||
| ash_ | i thought i fixed that, but i look for \\n>\\s to see when the repl is waiting on a new line, to tell when its done | 22:08 | |
| but print doesn't put in the extra \\n | |||
| so my logic is wrong | |||
| jnthn | o~"Bot silence is golden..." | ||
| mikehh | jnthn: yeah but messages and karma is not being monitored | 22:09 | |
| ash_ | ask him to try again | ||
| the more he breaks it, the more i fix it :P | |||
| mikehh | and questions are not being answered if youi have 'em | 22:10 | |
| purl can be annoying at times, but I think her usefullness overrides this | 22:11 | ||
| plobsing | coverage? more than makes up for it for me. | ||
| mikehh | and you can always reemove some of the annoyances | ||
| plobsing | for the few times I actually have to use that | ||
| ash_ | NotFound: also, i started the tutorial parts of the site, on try.rakudo.org if you type "chapter 1" it takes you to the first tutorial, they are more test cases right now, but they work | 22:13 | |
| mikehh | I definately object to purl removal from the channel | ||
| NotFound | ash_: nice, I need to learn some perl6 | ||
| ash_ | NotFound: hopefully soon, the tutorial will be able to help you out, but currently its more a proof of concept than a full tutorial, still working on that | 22:14 | |
| NotFound | ash_: yeah, it works | 22:16 | |
|
22:18
patspam joined
22:19
Andy left
|
|||
| ash_ | NotFound: .bytes returns the number of bytes in a string | 22:27 | |
| say "JuliƔn".bytes; | |||
| rakudo: say "JuliƔn".bytes; | |||
| p6eval | rakudo 0d3c66: OUTPUTĀ«7ā¤Ā» | ||
| sorear | Bytes... in what encoding? | 22:28 | |
| My Perl6 impl uses UCS-2 most of the time | |||
| opbots, names | |||
| ash_ | it uses the default encoding, but you can specify an encoding too | 22:29 | |
| rakudo: say "C".bytes("UTF-16") # i don't know if rakudo supports utf-16 yet | 22:30 | ||
| p6eval | rakudo 0d3c66: OUTPUTĀ«No applicable candidates found to dispatch to for 'bytes'. Available candidates are:ā¤:(Mu ;; *%_)ā¤ā¤ in main program body at line 22:/tmp/IyKc5osahwā¤Ā» | ||
| mikehh | NotFound: c++ objects to src/main.c line 404, -> else if (argc > arg + 14 [argc (int) and arg (const char * = argv[pos])] | 22:46 | |
| NotFound | mikehh: What's that supposed to do? | 22:48 | |
|
22:49
kid51 joined
|
|||
| kid51 | ~~ | 22:49 | |
| NotFound | mikehh: arg + 14 is a char* | 22:50 | |
| mikehh | NotFound: I presume it is supposed to test for overflow from r49246 by chrom,atic | ||
| chromatic | |||
| NotFound: yes comparing int to char * | 22:51 | ||
|
22:51
s1n left
|
|||
| NotFound | mikehh: I fail to understand his intention. | 22:52 | |
| mikehh | which of course c++ objects to | ||
| NotFound: not sure I do | 22:53 | ||
| NotFound: I think he is trying to check for overflow or something, not sure that will work | 22:54 | ||
| chromatic: ping | 22:55 | ||
| chromatic | pong | ||
| NotFound | mikehh: well, I'll ve very surprised if argc is bigger that arg + 14 in any known OS ;) | ||
| mikehh | I don't understand what you were doing in r49246, c__ objects to it | ||
| s/c__/c++/ | 22:56 | ||
| or should i say | |||
| chromatic | Yeah, for some reason I thought argc was the length of an element of argv. | ||
| NotFound | I guess some reason is too much hours looking for optimizations. | 22:57 | |
| chromatic | strlen(arg) should be better there. | ||
| mikehh | damnit - just dropped my wireless mouse under my desk and can't see it | 22:58 | |
|
22:59
davidfetter left
|
|||
| mikehh | ah found it | 22:59 | |
| NotFound | mikehh: Just hold the wire... Oh, wait! | ||
|
23:01
lucian left
|
|||
| NotFound | chromatic: I think there is no need to that check, strncmp stops at string end | 23:01 | |
| chromatic | You're right. | 23:03 | |
| That's not the problem though; the problem is trying to read past the end of that string. | 23:06 | ||
| /* arg should start with --gc-threshold *and* contain more chars */ | 23:07 | ||
| else if (strncmp(arg, "--gc-threshold", 14) == 0 | |||
| && strlen(arg) > 14) { | |||
| NotFound | Mmmm... I think that checiking if arg[14] is, '\\0', '=' or else will be a better check, | 23:10 | |
| mikehh | what you are checking for is that --gc-threshold has a valid argument | 23:11 | |
| NotFound | And that is --gc-threshold and not something like --gc-threshold-foobar | 23:12 | |
| chromatic | Right. | ||
| The next character could be '=' or the value could be in the next argument. | 23:13 | ||
| If the next character is anything other than '=' and there's no next argument, it's wrong. | |||
| NotFound | Then the valid values are '=' and zero | ||
| chromatic | Right. | ||
| NotFound | And the strncpm check grants that [14] is not out of mem | 23:14 | |
| mikehh | is --gc_threshold = nnn valid? | 23:15 | |
| chromatic | It's invalid. | ||
| NotFound | mikehh: I don't know any program that accepts that kind of options. | ||
| mikehh | no whitespace then | 23:16 | |
| NotFound | mikehh: is not whitespace, viewed from argv[] | 23:17 | |
| mikehh | 'k | ||
| nopaste | "chromatic" at 192.168.1.3 pasted "A better patch; passes t/run/options.t for me" (40 lines) at nopaste.snit.ch/23576 | 23:19 | |
|
23:20
whiteknight joined
|
|||
| NotFound | chromatic: looks good | 23:20 | |
| whiteknight | good evening, #parrot | 23:21 | |
| sorear | whiteknight++ # release | ||
| whiteknight | sorear: You're always standing by with the karma! | 23:22 | |
|
23:24
dngor left,
dngor_ joined
|
|||
| dalek | nxed: r667 | NotFound++ | trunk/winxedst1.winxed: condition optimization also in do while |
23:25 | |
| mikehh | but we don't have no karma recordin' bot loaded at the moment :-{ | 23:29 | |
| bacek_at_work | ~~ | 23:31 | |
|
23:32
dngor_ is now known as dngor
|
|||
| dalek | rrot: r49278 | chromatic++ | trunk/src/main.c: [main] Improved --gc-threshold arg processing. about what's necessary and why. t/run/options.t should still pass after this commit. We need more testing of command-line options. |
23:32 | |
| whiteknight | no karma bot? The only reason I hack on Parrot is for the karma | 23:36 | |
| screw this. I'm out of here | |||
| sorear | whiteknight: that's why we're moving to git; you can batch up karma and push when aloha joins | 23:41 | |
| whiteknight | haha, that's sneaky! | ||
| dalek | rrot: r49279 | mikehh++ | trunk/src/main.c: fix codetest failure - parentheses should not have space immediately |
23:49 | |
| nopaste | "kid51" at 192.168.1.3 pasted "gc_massacre branch: t/pmc/threads.t: failures on Darwin/PPC" (267 lines) at nopaste.snit.ch/23577 | 23:57 | |