|
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. |
|||
| kid51 | Just posted to list re gc_massacre branch, t/pmc/filehandle.t test 22 | 00:08 | |
| chromatic | I get the same result. | 00:10 | |
| cotto | works fine for me on x86 | 00:12 | |
| luben | It looks I missed ps today :) I'll post my reports next week | 00:17 | |
| chromatic | kid51, your gdb run is weird because you gave ./parrot as the first argument to the parrot process. | 00:18 | |
| cotto | all tests pass for gc_massacre on ubuntu/x86 | ||
| luben | reading the irclogs now. I have something to say about exception handlers and continuations | ||
| whiteknight | luben: do tell | 00:19 | |
| luben | Some months ago I have tried to implement perl6 subroutine/method semantics in scheme | 00:20 | |
| and see what are the performance implications of differend implementation details | 00:21 | ||
| I was working with mzScheme, now known as raket | |||
| In it there is different type of continuations - full continuation (as our Continuation PMC) but also escape continuations - that could only go down the stack and not resume from where they where invoked | 00:23 | ||
| whiteknight | we used to have RetContinuations | 00:24 | |
| they were not as cheap as they could have been | |||
| kid51 | chromatic: What should I have done? | ||
| kid51 not very familiar with gdb | 00:25 | ||
| luben | my experiments is scheme showed that using escape cont was tens of times faster that using full continuation | ||
| chromatic | kid51, there's no crash so no reason to run gdb. | ||
| Even so, if you want to run a program and pass arguments, you don't need to specify the program itself as its first argument. | |||
| luben | s/is/in/ | 00:26 | |
| chromatic | (gdb) run t/pmc/filehandle_22.pir # would have worked fine | ||
| cotto | You can also use gdb --args to run the program as normal, with arguments, but under gdb | ||
| I like that trick. | |||
| whiteknight | thats what I do | 00:27 | |
| kid51 | cotto | ||
| not sure what you mean | 00:28 | ||
| cotto | You can run gdb --args ./parrot --foo --bar path/to/file.pbc and gdb will pass those arguments to the parrot executable when you run | 00:31 | |
| kid51 | got it. thanks | 00:36 | |
| cotto | np | ||
| (or p. I hear they're the same.) | |||
|
00:39
kid51 is now known as kid51_at_dinner
|
|||
| dalek | rrot: r49216 | plobsing++ | branches/typesafe_consttable/src (3 files): fix pbc_merge, pbc_dump, and pbc_disassemble |
00:43 | |
|
00:46
whiteknight left
00:50
davidfetter left
|
|||
| bacek_at_work | aloha, | 00:54 | |
| kid51_at_dinner, I'll look at problem with filehandle_22.t. I suspect that test is slightly incorrect. | 00:55 | ||
| Looks like '$P0' from test kept alive by CallContext. We discussed similar issue few weeks ago. | 00:57 | ||
| GeJ | clock? | 00:58 | |
| purl | GeJ: LAX: Tue 5:58pm PDT / CHI: Tue 7:58pm CDT / NYC: Tue 8:58pm EDT / LON: Wed 1:58am BST / BER: Wed 2:58am CEST / IND: Wed 6:28am IST / TOK: Wed 9:58am JST / SYD: Wed 10:58am EST / | ||
| GeJ | Bonjour everyone. | ||
| G'Day bacek. | |||
| bacek_at_work | GeJ, g'day | 00:59 | |
| dalek | rrot: r49217 | bacek++ | branches/gc_massacre/t/pmc/filehandle.t: Cleanup CallContext in filehandle.t to really test timely destruction. Looks like old GC exposing some weird bug passing this test and destroying object which is actually referenced. |
01:17 | |
| rrot: r49218 | nwellnhof++ | branches/string_macros: Use new string macros |
|||
| rrot: r49219 | nwellnhof++ | branches/string_macros (6 files): [str] Add own encoding for null string |
|||
| rrot: r49220 | nwellnhof++ | branches/string_macros (2 files): [str] String API optimizations preparation of the following commits that will move these checks directly into the encoding functions, and switch a lot of Parrot code to the new string macros. With the exception of STRING_length and STRING_byte_length, the string macros don't check the string argument for NULL pointers. So the following commits also fix some places that still didn't use STRING_IS_NULL and STRINGNULL. |
|||
| rrot: r49221 | nwellnhof++ | branches/string_macros (20 files): [str] Switch to STRING_ord macro Also modifies Parrot_str_indexed to accept negative indices as well. The old string_ord function can finally be deprecated. |
01:34 | ||
| cotto | dukeleto, ping | ||
| rrot: r49222 | nwellnhof++ | branches/string_macros (46 files): [str] Switch to STRING_equal macro |
|||
| rrot: r49223 | nwellnhof++ | branches/string_macros (24 files): [str] Switch to STRING_substr macro |
|||
| rrot: r49224 | nwellnhof++ | branches/string_macros (8 files): [str] Switch to STRING_hash macro |
|||
| rrot: r49225 | nwellnhof++ | branches/string_macros (8 files): [str] Switch to STRING_compare macro |
|||
| rrot: r49226 | nwellnhof++ | branches/string_macros (13 files): [str] Switch to STRING_index macro changes the index opcode to throw when the source string is null. If this change causes problems, we can add a deprecation notice or revert it. |
|||
| purl | dalek: that doesn't look right | ||
| rrot: r49227 | nwellnhof++ | branches/string_macros/src/string/encoding (3 files): [str] Make some string code work without ICU |
|||
| kid51_at_dinner | grrrrr. r49217 gets t/pmc/filehandle.t Test 22 to pass on Linux/i386 -- but not on Darwin/PPC. | 01:37 | |
|
01:37
kid51_at_dinner is now known as kid51
01:40
nwellnhof left
|
|||
| bacek_at_work | kid51, strange... | 01:42 | |
| kid51 | Indeed | ||
|
01:49
dngor left,
dngor joined
01:51
davidfetter joined
|
|||
| dukeleto | howdy | 02:01 | |
| cotto | dukeleto, do you have github commit messages with a full diff working? | 02:02 | |
|
02:07
davidfetter left
02:14
GodFather joined
|
|||
| dukeleto | cotto: in what way? emails? | 02:23 | |
| cotto: github only does diffstats on their commit hooks | 02:24 | ||
| can somebody add 2.8.0 to trac? | 02:27 | ||
| dukeleto tries to do it | 02:28 | ||
| dukeleto did it | 02:30 | ||
| dalek | TT #1797 created by dukeleto++: parrot --gc-threshold coredumps when given no threshold | 02:34 | |
| TT #1797: trac.parrot.org/parrot/ticket/1797 | |||
| chromatic | That's easy enough to fix. | ||
|
02:35
GodFather left,
janus left
|
|||
| dukeleto | chromatic: i talked to nwellenhof and he said that the stress_strings.pir slowdown was caused by changing the gc_threshold in 48585 | 02:37 | |
| chromatic: it makes parrot use less memory as a tradeoff for speed. I am not sure we should be trading speed for memory use at this point. | |||
| chromatic: I think our speed concerns are more dire than our memory use, currently. | |||
| chromatic: but I am not sure how "real-world" the stress_strings.pir benchmark is. It is kind of a pathological case for the GC, no? | 02:38 | ||
| chromatic | Let's benchmark Rakudo with it. | 02:39 | |
| That benchmark is very pathological. | |||
|
02:48
ash_ left
02:52
kid51 left
|
|||
| luben | I have benchmarked rakudo startup with some different values for gc-threshold | 02:53 | |
| look here: luben.spnet.net/gc-time-mem.png | |||
| chromatic | What are the axes? | ||
| purl | the axes are 1-d =) | ||
| luben | the blue line is time in ms | ||
|
02:54
janus joined
|
|||
| luben | axes are time and gc-threshold values | 02:54 | |
| the red line is memory consumtion * 6 (in order to overlap with time) | |||
| plobsing | we seem to get decent returns on trading memory for speed until gc-threshold ~= 75 | 02:55 | |
| luben | yes, I think 75 will be good overall compromise | 02:56 | |
| chromatic | How does the stress_strings benchmark fare at 75? | ||
| luben | I have a chert, moment to find it | 02:57 | |
| here it is: luben.spnet.net/gc-threshold-string.png | 02:58 | ||
| axes are time in secons/gc-threshold | |||
| chromatic | 75 there is decent. | 02:59 | |
| luben | yes | ||
| chromatic | We'll have to redo these benchmarks with gc ms 2 | 03:01 | |
|
03:03
theory left
|
|||
| plobsing | it would be nifty if there were some way to run that benchmark programatically. I'd like to zoom in on 75. | 03:04 | |
| luben | gc_masacre branch eats a lot more memory compared to trunc | ||
| chromatic | bacek fixed some of that | ||
| luben | let's find the numbers of yesterday | 03:05 | |
| bacek_at_work | chromatic, most of them actually. | 03:06 | |
| chromatic | I don't want to overpromise for you. | ||
| bacek_at_work | :) | 03:07 | |
| luben | ok, without gc-threshold compile of core.pm eats around 600M. the branch (tested 1 hour ago) eats around 850M | 03:08 | |
| trunc was tested 2 days ago. I have now some issues compiling rakudo on trunc | |||
| all these numbers are on linux/amd64 | 03:09 | ||
| bacek_at_work | luben, you can play with gc_threshold value on line 630 in src/gc/gc_ms2.c. | ||
| Currently I run GC after 256M of allocated memory. | 03:10 | ||
| Which means we have up to 256M of garbage. | |||
| luben | bacek, I'll try now | 03:11 | |
| bacek_at_work | luben, if you have time to make it configurable via CLI it would be nice. | ||
| aloha, msg mikehh gc_massacre branch should be buildable with g++ | 03:13 | ||
| aloha | bacek_at_work: OK. I'll deliver the message. | ||
| dalek | rrot: r49228 | plobsing++ | branches/typesafe_consttable/src/pmc/packfileconstanttable.pmc: reimplement PackfileConstantTable with typesafe consttable |
03:15 | |
| rrot: r49229 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c: Explicit cast allocated memory. Fix c++ build. |
|||
| rrot: r49230 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Use String GC to allocated Buffers. Fixes c++ build. |
|||
| luben | with 128M in gc_ms2 core.pm build in 730M in time comparable with trunc | 03:21 | |
| with 64M in gc_ms2, core.pm builds in 640M, but slower than trunc | 03:30 | ||
| dalek | rrot: r49231 | plobsing++ | branches/typesafe_consttable (2 files): fix PackfileConstantTable methods and bring packfileconstanttable.t up to date with current interface |
03:33 | |
| rrot: r49232 | mikehh++ | failed to fetch changeset: [html_cleanup] merge with trunk at r49200 |
03:50 | ||
|
03:52
echosystm joined
|
|||
| echosystm | i keep hearing talk about parrot, threading and JIT | 03:52 | |
| does parrot lack these features? | |||
| plobsing | echosystm: parrot's threading is considered LTA, and it's JIT subsystem was ripped out last year because it was causing problems. | 03:54 | |
| bacek_at_work | echosystm, Old JIT implementation was removed due maintenance hell, threading was in this year GSoC. | ||
| echosystm | okie doke | ||
| dalek | rrot: r49233 | mikehh++ | branches/html_cleanup (3 files): [html_cleanup] - re-generate MANIFEST |
04:24 | |
|
04:35
davidfetter joined
|
|||
| dukeleto | lollerskates: imgur.com/jacoj | 04:41 | |
| chromatic | doc.cat-v.org/inferno/concurrent_gc/ | ||
| dukeleto | echosystm: parrot has some threading, and we are planning a large refactor called "Lorito" to implement JIT properly | 04:42 | |
|
04:42
Austin joined
|
|||
| dukeleto | Austin: welcome, stranger | 04:42 | |
| Austin | Hiya, duke. | ||
|
04:43
Austin left
|
|||
| dukeleto | guess he doesn't like me. | 04:43 | |
| chromatic: is that algorithm implementable after we merge gc_massacre ? | 04:44 | ||
| chromatic | I'm not sure. | 04:46 | |
| I haven't absorbed the details of the gc_massacre interface changes. | |||
| plobsing | where would be a good place to stash metadata in PBC? annotations segment? | 04:50 | |
| chromatic | What kind of metadata? | 04:51 | |
| plobsing | "static dependancies" as described recently on parrot-dev | 04:52 | |
| chromatic | I'd rather have a metadata segment. | 04:55 | |
| plobsing | what is an annotations segment other than a metadata segmetn? | 04:56 | |
| s/segmetn/segment/ | |||
| dalek | rrot: r49234 | mikehh++ | branches/gc_massacre/src/gc (2 files): [gc_massacre] run make headerizer |
04:58 | |
| rrot: r49235 | plobsing++ | branches/typesafe_consttable/t/pmc/packfile.t: update packfile.t to current PackfileConstantTable interface |
|||
| chromatic | I suppose you can see it that way, yes. | 05:01 | |
| dalek | rrot: r49236 | plobsing++ | branches/typesafe_consttable/src/packfile.c: c_macro_args.t doesn't seem to appreciate my 'clever' use of macros |
05:15 | |
| cotto | dukeleto, I mean emails similar to what we get from svn now. istr that that's one of the remaining blockers. | 05:17 | |
|
05:18
chromatic left
|
|||
| mikehh | gc_massacre branch: All tests PASS (pre/post-config, make corevm/make coretest, smoke (#161) fulltest) at r49234 - Ubuntu 10.10 beta amd64 (g++-4.5 with --optimize) | 05:21 | |
| dukeleto | cotto: if we want emails like what we get now, githubs default post-receive hook is not going to work | 05:23 | |
|
05:30
aloha left
|
|||
| dalek | rrot: r49237 | plobsing++ | branches/typesafe_consttable/src (2 files): document static functions in pod |
05:32 | |
| rrot: r49238 | plobsing++ | branches/typesafe_consttable/src/packdump.c: [codingstd] trailing whitespace |
|||
|
05:32
bacek left
|
|||
| dalek | rrot: r49239 | plobsing++ | branches/typesafe_consttable (4 files): expand and eliminate convenience macro that can't possibly satisfy c_macro_args.t |
06:06 | |
|
06:09
ascent_ left
|
|||
| cotto | dukeleto, how much effort would it take to get the equivalent of parrot-commits set up? | 06:28 | |
| NotFound | bacek_at_work: trac.parrot.org/parrot/changeset/49217/ the test showed a problem, fixing the test instead of the problem is the wrong approach | 06:31 | |
| bacek_at_work | NotFound, problem doesn't exist in GC MS2. I hope to rip out old GC MS. | 06:32 | |
| NotFound | bacek_at_work: if the problem doesn't exist, don't fix the test. | ||
| bacek_at_work | fixed test actually test desired behaviour. | 06:33 | |
| NotFound | bacek_at_work: I don't desire to call dummy subs, | ||
| bacek_at_work | test is testing that FileHandle.destroy actually close filehandle | 06:34 | |
| NotFound | bacek_at_work: is testing that the destruction happen when it should. | 06:35 | |
| bacek_at_work | sweep 0 # a lazy GC has to close the PIO | ||
| ? | |||
| NotFound | bacek_at_work: that means the the object should be collected, no matter how lazy the gc is, IMO | 06:39 | |
| bacek_at_work | NotFound, I don't quite understand how "lazy GC" suppose to work. Basically original test shows that it's really bad idea. | ||
| dalek | rrot: r49240 | plobsing++ | branches/typesafe_consttable/include/parrot/context.h: fix optimized build |
||
| NotFound | bacek_at_work: you think is a good idea to keep alive an unreferenced object? | 06:41 | |
| bacek_at_work | NotFound, it's referenced in CallContext for current sub. | 06:42 | |
| And old GC kills it. | |||
| NotFound | bacek_at_work: that is the problem | ||
| bacek_at_work | NotFound, hmm. Why? | ||
| NotFound | bacek_at_work: that callcontext object should be cleaned while collecting return values. | 06:43 | |
| bacek_at_work | NotFound, probably. But it's out of scope for gc_massacre branch or filehandle.t. | ||
| NotFound | bacek_at_work: if you change that, be ready to having to reopen and refix old bugs. | 06:44 | |
| bacek_at_work | NotFound, erm. Can you explain it? Which bugs? | 06:45 | |
| NotFound | bacek_at_work: the kind of bugs that that test prevents., | ||
| bacek_at_work | erm. This test doesn't prevent any bugs. In unmodifed version it actually exposes bug in old GC. | 06:46 | |
| GC MS2 collect _less_ objects because it's more precise. | |||
| NotFound | You replace in some place one oor several ops with a method or function call, and misteriously a bug appears in undeterminated conditions. | ||
| bacek_at_work | So, it's doing less harm. | ||
| NotFound | bacek_at_work: What bug? The test was working. | 06:47 | |
| bacek_at_work | NotFound, because of bug in old GC. | ||
| Which collect object prematurely. | |||
| In "lazy mode" | |||
| NotFound | bacek_at_work: You mean that the object is actually in the context and is colected anyway? | 06:49 | |
| bacek_at_work | exactly | ||
| NotFound | bacek_at_work: then someone broke it recently. | ||
| bacek_at_work | NotFound, may be. | ||
| NotFound | Marvelous,. | 06:50 | |
| We brreak something, the break other thing to hide it. | |||
| bacek_at_work | Welcome to parrot. | ||
| NotFound | Fine, but we should deprecate timely destruction if we keep going that way. | 06:51 | |
| bacek_at_work | We should deprecate "lazy GC" actually. | 06:53 | |
| timely destruction works (fsvo). | |||
| But I would like to see more generic solution for it. | |||
| NotFound | We can deprecate the full GC in one shot, to save time- | ||
| bacek_at_work | Similar to C# using(). | 06:54 | |
| NotFound, no one promise "full GC in shot". | |||
| dalek | rrot: r49241 | plobsing++ | branches/typesafe_consttable/src/packfile.c: [codingstd] line length |
06:56 | |
| sorear | bacek_at_work: can you explain timely destruction? I don't understand how it works. | 06:58 | |
| bacek_at_work | sorear, I can explain how it "suppose" to work. | 06:59 | |
| You register PMC using needs_destroy opcode. GC will remember number of "impatient objects". During "lazy GC" it will stop after seeing number of "impatient objects" without doing "full GC" | 07:00 | ||
| NotFound | bacek_at_work: having to insert calls to dummy functions just to be sure that the context isn't storing some info remaining from previous function or method calls is horribly wrong, IMO | 07:01 | |
| bacek_at_work | NotFound, I was actually wrong about CallContext. Looks like FileHandle found in system stack. | 07:02 | |
| NotFound | In System stack? Urgh. | ||
| Then we have a real problem. | 07:03 | ||
| bacek_at_work | Yes. In system stack. | ||
| NotFound | And then, deprecating timely destruction is no more a joke. | ||
| bacek_at_work | nopaste.snit.ch/23523 | 07:04 | |
| NotFound, check pointer in FileHandle_open and backtrace. | |||
| errm... | 07:05 | ||
| Wrong pointer | |||
| NotFound | bacek_at_work: I suspect that some unitialized variable in the call chain is keeping remainings from previous calls. | 07:06 | |
| bacek_at_work | NotFound, may be. | ||
| NotFound | And that means heisenbugs wherever someone trusts timely destruction. | 07:07 | |
| bacek_at_work | NotFound, +1 to deprecate it than. | 07:09 | |
| NotFound | bacek_at_work: that trace is from trunk or from the branch? | 07:11 | |
| Ah, gc_ms2.c | 07:13 | ||
|
07:26
barney joined
07:27
plobsing left
07:29
echosystm left
07:51
tadzik joined
07:57
bacek joined
08:02
aloha joined
|
|||
| bacek | aloha, humans | 08:04 | |
|
08:30
hudnix left,
barney left,
hudnix joined
08:35
bacek left
08:38
bacek joined
08:40
aloha left,
bacek left
08:46
aloha joined,
bacek joined
|
|||
| tadzik | Parrot used to build with LDFLAGS=-Wl,--as-needed, now it does not. Is it known? | 08:59 | |
| dalek | TT #828 closed by bacek++: Separate out GC String Core | 09:06 | |
| TT #828: trac.parrot.org/parrot/ticket/828 | |||
|
09:09
ascent joined
|
|||
| dalek | TT #670 closed by bacek++: Rearranging the GC interface | 09:24 | |
| TT #670: trac.parrot.org/parrot/ticket/670 | |||
|
09:42
sjn left,
sjn joined
|
|||
| bacek | msg jnthn You'll love r49242 :) | 09:56 | |
| purl | Message for jnthn stored. | ||
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot: r49242 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c: Made GC MS2 marking non-recursive. Close TT#1723 after merge back to trunk. |
10:03 | |
|
10:05
fperrad joined
|
|||
| bacek | fperrad, ping | 10:10 | |
|
10:21
lucian joined
|
|||
| fperrad | bacek, pong | 10:43 | |
| dalek | rrot: r49243 | bacek++ | branches/gc_massacre (84 files): Merge branch 'master' into gc2 \tsrc/call/context_accessors.c \tsrc/gc/gc_ms.c \tsrc/gc/string_gc.c \tsrc/pmc/imageio.pmc |
10:55 | |
|
11:15
kurahaupo joined,
contingencyplan left
11:23
bkuhn joined
11:40
masak joined
11:42
plobsing joined
11:49
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:52 | |
|
11:57
kurahaupo left
|
|||
| whiteknight | bacek: ping | 12:02 | |
|
12:16
lucian left
12:20
whiteknight_ joined
12:21
whiteknight left
12:22
whiteknight_ is now known as whiteknight
|
|||
| plobsing | rakudo segfaults with trunk. anyone know why this is? | 12:25 | |
| moritz | I think somebody mentioned a revision in the backlog; but I can't remember it :( | 12:26 | |
| plobsing | moritz: do you recall that on #parrot or #perl6? | 12:27 | |
| moritz | I think it was here | ||
| plobsing will check the logs | |||
| found it. r49204 reported by nwellnhof++. moritz++ | 12:31 | ||
| pmichaud | just revert 49204 for now. | ||
| plobsing | that's the plan. my ultimate goal is to see how typesafe_consttable affects rakudo startup (I'm feeling lucky) | ||
|
12:34
whiteknight left
12:38
bluescreen joined
12:45
bluescreen left,
bluescreen joined
|
|||
| dalek | kudo: 8156beb | moritz++ | src/glue/enum.pm: fix .pick and .roll on enums |
12:47 | |
|
12:49
arnsholt joined
12:55
whiteknight joined
13:04
ruoso joined
|
|||
| dalek | rrot: r49244 | pmichaud++ | trunk/compilers/pct/src/PAST/Compiler.pir: [pct]: Change ExceptionHandler to be created with newp_p_ic to avoid segfault when building Rakudo. |
13:08 | |
| rrot: r49245 | pmichaud++ | branches/gc_massacre/compilers/pct/src/PAST/Compiler.pir: [pct]: Change ExceptionHandler to be created with newp_p_ic to avoid segfault when building Rakudo. |
|||
|
13:14
patspam joined
13:19
Patterner left
13:29
Psyche^ joined,
Psyche^ is now known as Patterner
13:34
patspam left
13:40
patspam joined
13:43
patspam1 joined
13:44
tadzik left
13:46
patspam left
13:47
davidfetter left
13:52
tadzik joined
13:56
patspam1 left
13:57
davidfetter joined,
davidfetter left
|
|||
| dalek | ast: 44e9d50 | moritz++ | S32-hash/exists.t: [exists.t] remove some wrong assumptions about how True stringifies |
13:58 | |
| sECuRE | i got a question about src/io/socket_unix.c:Parrot_io_accept_unix. in the source, a new socket PMC is created (newio), but if newsock is -1, it is not destroyed. does this happen automatically for some reason or is this a bug? | 14:01 | |
|
14:05
ruoso left
14:06
lucian joined
14:10
patspam joined
|
|||
| NotFound | pmichaud: ping | 14:13 | |
| sECuRE: no need to destroy, garbage collection will do it. | 14:15 | ||
|
14:15
nwellnhof joined
|
|||
| sECuRE | NotFound: alright, thanks | 14:15 | |
| another question: i want to call a function of the sockaddr pmc from src/io/socket_unix.c. how would i declare that without a VTABLE entry? should i use a METHOD? is there something else? | 14:16 | ||
|
14:16
lucian left
|
|||
| NotFound | sECuRE: what function? | 14:17 | |
| purl | function is declared in debug.h and defined in debug.c but is only used in imcc/pbc.c , and the const_table is used in a lot of places unrelated to pdb. | ||
| NotFound | purl: forget function | ||
| purl | NotFound: I forgot function | ||
| sECuRE | NotFound: i need two different functions to initialize the sockaddr | ||
| NotFound: so, iād need init(struct addrinfo *res) and init(struct sockaddr_storage *addr) | 14:18 | ||
| alternatively, init(struct sockaddr_storage *addr, int len) would be enough for both. but as far as i see it, one can only use init() because itās a VTABLE override, right? | 14:20 | ||
| NotFound | You have also init_pmc, but you are limited to one PMC parameter | ||
| sECuRE | hrm, so do i need to create a helper struct? i need two parameters | 14:21 | |
| or, alternatively, a function set_length which is called afterwards | |||
| that would be even better in terms of memory usage in this case | |||
|
14:21
ruoso joined
|
|||
| moritz | maybe abuse the set_integer vtable for that? | 14:22 | |
| just like my @h; @h = 10; in perl 5 :-) | |||
| sECuRE | hm, possible | ||
| purl | NOT! | ||
|
14:22
purl joined
|
|||
| NotFound | sECuRE: that PMC has very little encapsulation, I think is better to use directly its data rather than playing games with is vtable- | 14:22 | |
| sECuRE | ok. is there a header i should include for that? | 14:23 | |
| just using Parrot_Sockaddr_attributes did not work | |||
|
14:23
patspam1 joined
|
|||
| sECuRE | (unknown type) | 14:23 | |
| NotFound | pmc/pmc_sockaddr.h, i think | ||
| sECuRE | ah, thanks | 14:24 | |
|
14:25
patspam left
|
|||
| sECuRE | yop, works | 14:27 | |
|
14:28
lucian joined
14:34
silug joined
14:35
patspam joined
14:38
patspam1 left
14:40
patspam1 joined
14:43
ash_ joined,
patspam left
|
|||
| Coke | moritz: he's back already. | 14:46 | |
| moritz | Coke: still gave me a certain satisfaction | 14:47 | |
| Coke | why not ban him? | 14:48 | |
| I thought that's the direction we were going in. | |||
|
14:51
davidfetter joined
|
|||
| moritz | Coke: I'd love to, but I didn't feel like making that decision for the channel as whole | 14:54 | |
| so, straw poll | |||
| davidfetter | if it's about telling purl to sleep with the fishes, count my vote as +1 | 14:55 | |
| moritz | what do you think about banning purl permanently? [ ] ban [ ] don't ban [ ] dunno | ||
| davidfetter | ban | ||
| moritz also votes ban | |||
| whiteknight | murder. Ban is fine too | 14:56 | |
|
14:57
chromatic joined
|
|||
| Coke | ban (we have aloha) | 15:01 | |
| moritz | 4:0 | 15:02 | |
| Coke | botsnack? | 15:03 | |
| purl | thanks Coke :) | ||
|
15:04
davidfetter left
|
|||
| dalek | TT #1797 closed by chromatic++: parrot --gc-threshold coredumps when given no threshold | 15:08 | |
| TT #1797: trac.parrot.org/parrot/ticket/1797 | |||
| rrot: r49246 | chromatic++ | trunk (2 files): [main] Fixed --gc-threshold args segfault TT #1797. check the length of the arguments before the getopts processor does so. The good news is that fixing this here avoids other potential crashes and memory infelicities. |
|||
| NotFound | "memory infelicities"... I like that concept. | 15:10 | |
| chromatic | Who knows what you'll find if you walk past the end of argv? | 15:15 | |
| ash_ | undefined behavior? seg faults? | 15:16 | |
| moritz | you'll probably find decorative bytes. | ||
| chromatic | No wonder it crashed; it was gnawing on the crenellations. | 15:18 | |
| NotFound | To end of argv and beyond! | ||
| mikehh | aloha is not reliable yet | 15:19 | |
| -1 on banning purl | 15:20 | ||
|
15:31
patspam1 left
|
|||
| Coke | ok. can we ban aloha then? ;) | 15:43 | |
|
15:46
patspam joined
15:48
lucian left
15:52
nwellnhof left
15:57
theory joined
|
|||
| mikehh | aloha is an experimental replacement for purl, but still experimental :-} | 16:00 | |
| poor innocent bots being abused by parrot developers | 16:04 | ||
|
16:37
masak left
|
|||
| moritz | sECuRE++ # trac.parrot.org/parrot/ticket/1798 | 16:50 | |
| dalek | TT #1798 created by mstapelberg++: IPv6 support for Parrot | 16:54 | |
| TT #1798: trac.parrot.org/parrot/ticket/1798 | |||
| Coke | geez, do we even support ipv4 yet? | 16:59 | |
| sECuRE | yap, works for me at least ;) | 17:00 | |
| Coke | ooh, patch. mstapelberg++ | ||
| sECuRE | ;) | ||
| Coke | oh, is secure==mstapelberg? | ||
| sECuRE | yap | ||
| Coke | sECuRE++ #then. | ||
| sECuRE | ;) | ||
| dukeleto loves the smell of patches in the morning. It's the smell of victory. | 17:02 | ||
| sECuRE: i am looking at your patch now. Would you mind adding a few tests for it? | |||
| sECuRE | dukeleto: thatās the next thing on my todo list ;) | 17:03 | |
| you are talking about the roast test-suite, right? | |||
| moritz | parrot also has a test suite | ||
| sECuRE | ah, ok | 17:04 | |
| dukeleto | sECuRE: I am talking about adding tests to the t/ directory of parrot for your ipv6 patch | ||
| sECuRE: the test should probably just attempt to connect to localhost via ipv6, because you can't assume there will be network access in our tests | 17:05 | ||
| sECuRE | yap. i see that the current tests are very basic (just check instantiation) | ||
| did you have a look at roastās IO::Socket::INET tests, by chance? | 17:06 | ||
| they have to work with spawning separate processes because threads/forks are missing in rakudo so far | |||
| dukeleto | sECuRE: i have not | ||
| sECuRE | because the 'accept' call blocks and you canāt connect/accept at the same time | ||
| jnthn | bacek: Great! \\o/ bacek++ bacek++ | 17:07 | |
| sECuRE | also, i wonder how similar the tests will be as rakudo basically just wraps around the parrot calls for sockets | ||
| dukeleto | sECuRE: borrowing tests from rakudo is fine, but we need a few tests in parrot to verify that it works | 17:09 | |
| sECuRE | alright. what do you suggest to solve the concurrency problem with connect/accept? | ||
| dukeleto | sECuRE: we have PIR and Perl based tests in the parrot test suite. It looks like you might need a perl-based tests so you can deal with concurrency | 17:10 | |
| sECuRE | ah, yap, perl-based sounds good :) | ||
| dukeleto | sECuRE: basically, the perl-based tests spawn PIR programs and do stuff with the output | ||
| sECuRE | ok, iāll have a look at it in a few minutes | 17:11 | |
| dukeleto | sECuRE: awesome! The docs for the relevant PMCs should also be updated to say they support ipv6 | ||
| dalek | nxed: r662 | NotFound++ | trunk/winxedst1.winxed: search for class in scope were not propagated from inside a class, fixed |
||
| sECuRE | dukeleto: iāve updated most of the PMC docs. which are still missing? | 17:12 | |
| dukeleto | sECuRE: I saw you updated the docs in the .pmc files, but we also have docs in our docs/ directory, in POD format as well. | 17:14 | |
| sECuRE | ah, ok. | ||
| dukeleto | sECuRE: docs in *.pmc files are more for devs, where the docs in docs/ are more geared toward users | ||
| sECuRE | yap | ||
| dalek | ast: ea847c7 | moritz++ | S0 (6 files): remove more wrong uses of True and False as 0 and 1 (still more left); make good use of nok() function |
17:20 | |
| ast: 672abda | moritz++ | S06-multi/type-based.t: [type-based.t] fix another Bool stringification usage |
|||
|
17:21
lucian joined
|
|||
| dukeleto | sECuRE: does you patch only work on unixy systems? | 17:22 | |
|
17:26
davidfetter joined
|
|||
| dukeleto | davidfetter: hello fine sir | 17:26 | |
| davidfetter | hai | 17:27 | |
|
17:27
lucian left
|
|||
| davidfetter | is purl gone? | 17:27 | |
|
17:31
contingencyplan joined
|
|||
| Coke | botsnack | 17:35 | |
| aloha, davidfetter? | |||
| aloha | Coke: I have no idea. | ||
| davidfetter | hai Coke | ||
| Coke | aloha? | ||
| aloha, you are super slow! | |||
| aloha | Coke: Okay. | ||
| jnthn | you? | 17:37 | |
| aloha, you? | |||
| aloha | jnthn: you are super slow! | ||
| jnthn | :P :P | ||
|
17:37
lucian joined
|
|||
| pmichaud | (straw poll) ban purl | 17:39 | |
|
17:44
patspam left
|
|||
| dalek | rrot: r49247 | pmichaud++ | branches/gc_massacre/src/gc/api.c: [gc]: Enable ms2 to properly report itself to interpinfo as "ms2" instead of "unknown". |
17:44 | |
|
17:44
lucian left
|
|||
| davidfetter | +1 for banning purl | 17:46 | |
| cotto | -1 until we have karma transferred | 17:49 | |
| pmichaud | karma pmichaud | 17:50 | |
| aloha | pmichaud has karma of 129. | 17:51 | |
| pmichaud | purl: karma pmichaud | ||
| banned already? cool! | |||
| 17:51 <purl> pmichaud has karma of 4301 | |||
| I'm more than willing to lose my stash of karma to see the end of the endlessly annoying purlbot :) | |||
|
17:56
ash_ left
17:58
patspam joined
18:14
patspam1 joined
18:15
ash_ joined
18:17
patspam left
18:22
pjcj left
18:27
ash_ left
18:31
ruoso left
18:45
patspam1 left
18:47
ruoso joined
|
|||
| dalek | rrot: r49248 | NotFound++ | trunk/src/scheduler.c: avoid an if/else with identical branches and some cleaning in the function Parrot_cx_find_handler_local |
18:53 | |
|
19:01
patspam joined
19:03
whiteknight_ joined
19:06
whiteknight left,
whiteknight_ is now known as whiteknight
19:17
ash_ joined
19:18
whiteknight_ joined
19:21
whiteknight left,
whiteknight_ is now known as whiteknight
19:25
bluescreen left
|
|||
| dalek | rrot: r49249 | pmichaud++ | trunk (2 files): [docs]: Remove obsolete (and incorrect) draft/pdd31_hll_interop.pod . |
19:27 | |
|
19:33
M_o_C joined
19:39
lucian joined
19:40
bluescreen joined
|
|||
| TimToady | [no phone today] | 19:42 | |
| chromatic | I brushed my teeth and everything. | 19:47 | |
|
19:48
ruoso left
19:54
allison left
19:55
allison joined
19:57
Andy joined
20:03
whiteknight left,
ruoso joined
|
|||
| GeJ | Bonjour everyone. | 20:03 | |
|
20:07
fperrad left
20:11
M_o_C left
20:14
bluescreen left
|
|||
| dalek | nxed: r663 | NotFound++ | trunk/winxedst1.winxed: optimize logical not and comparators in stage 1 |
20:32 | |
|
20:55
ash_ left
20:59
ash_ joined
21:00
kid51 joined,
ruoso left
21:02
patspam left
|
|||
| dalek | nxed: r664 | NotFound++ | trunk/examples/fly.winxed: use closures instead of invokable objects for opengl callbacks in example fly |
21:07 | |
|
21:08
patspam joined,
patspam left
21:11
perlite left,
perlite joined
|
|||
| mikehh | opbots, names | 21:28 | |
|
21:29
ash__ joined,
ash_ left,
ash__ is now known as ash_
|
|||
| kid51 | -1 on banning purl | 21:30 | |
| dalek | rrot: r49250 | jkeenan++ | branches/gc_massacre (2 files): Set svn metadata properties. |
||
|
21:33
kid51 left
21:35
eternaleye left
21:39
tadzik left
|
|||
| dalek | nxed: r665 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable compiler |
21:42 | |
| sorear | What idiot banned purl | 21:46 | |
| don't you know you can just ask it to be removed | |||
| mikehh | sorear: I think it was moritz earlier in a consipracy with Coke and others | 22:04 | |
| poor bots being victimized by parrot developers | |||
|
22:05
lucian left
22:07
bkuhn left
|
|||
| ash_ | is there an alternative to readline that does support unicode? | 22:24 | |
| GeJ | ash_: I thought readline had support for that already. | 22:28 | |
| 4.3 says something about "editing and displaying multibyte characters" | 22:30 | ||
| ash_ | hmm, the perl6 repl doesn't work with readline enabled, disabling readline lets unicode work in the perl6 repl | ||
| i thought someone told me that readline doesn't support unicode | |||
| i guess i might of been misinformed | 22:31 | ||
| GeJ | Not necessarily. I have limited experience with Unicode and realine. | 22:33 | |
| ash_ | i am re-building to test it again | 22:34 | |
| GeJ | But I seem to remember to have it working in bash with accentuated characters in bash. | 22:35 | |
| GeJ writes "I will read twice what I just typed before hitting the <Enter> key." | 22:36 | ||
| dalek | rrot: r49251 | NotFound++ | trunk/t/pmc/bytebuffer.t: fix ByteBuffer tests that were passing for wrong reasons |
22:38 | |
| NotFound | src/pmc/filehandle.pmc:385 Parrot_str_new(INTERP, r, 0) --> This will not give you unicode, no matter what readline supports. | 22:39 | |
| ash_ | > say 'ZażóÅÄ gÄÅlÄ jaÅŗÅ' | 22:48 | |
| Zaà ¼Ć³à à gĆĆ Ć | |||
| jaĆ ĀŗĆ | |||
| is perl6 with readline | |||
| it works fine without readline, so... maybe i am jumping to conclusions, but... | 22:49 | ||
| s/perl6/rakudo/ | |||
|
22:59
whiteknight joined
23:01
davidfetter left
|
|||
| whiteknight | good evening, #parot | 23:02 | |
| or #parrot | |||
| or whoever you are | |||
| GeJ | Hello Andrew. | 23:04 | |
| ash_ | i cant find anything in the readline doc's saying unicode doesn't work... | 23:05 | |
| NotFound | ash_: haven't you read my comment? | 23:06 | |
| ash_ | NotFound: so.... why does rakudo work without readline? i am not sure i understand what you mean | 23:07 | |
| NotFound | ash_: because without that readline, that line isn't compiled. | ||
| whiteknight | hello GeJ | 23:09 | |
| ash_ | NotFound: so, what does it take to support a unicode str in parrot? is there a Parrot_str_new? | 23:11 | |
| s/there a/there a different/ | |||
| or alternative | |||
| NotFound | ash_: I'm trying something... | 23:12 | |
| ash_ | i don't know the STRING* related things very well | ||
| NotFound | ash_: no one does | ||
| ash_ | lol | ||
| whiteknight | IMCC creates strings in other encodings from literals in the code. Might be good to figure out what functions it calls | 23:16 | |
| ash_ | what does Parrot_io_reads do? | 23:20 | |
| does that support uicode? | |||
| unicode* | |||
| NotFound | Take a look at 49252 | 23:22 | |
| ash_ | so your grabbing the encoding from the interp, then reading the string as that encoding? | 23:24 | |
| NotFound | But even with that change, someone must set the encoding of the stdin handle to utf8 | 23:25 | |
| ash_ | does parrot have any sort of flags to say the core is running as utf8? or something? | 23:26 | |
| NotFound | ash_: no, from the FileHandle that is (suppossed to be) using. | ||
| ash_ | what is a safe 'default' for that? should there be a flag you give to parrot to say that stdin is utf8? or latin1 or w/e other encodings are supported | 23:27 | |
| or can you say, INTERP.encoding = 'utf8' | 23:28 | ||
| NotFound | ash_: there is no default and nothing is safe. | ||
| ash_ | well, then can you assume ascii unless told otherwise | 23:29 | |
| dalek | rrot: r49252 | NotFound++ | trunk/src/pmc/filehandle.pmc: use the FileHandle encoding in readline_interactive |
||
| NotFound | ash_: you can assume ascii and the enter a non-ascii string. That's why I said nothing is safe. | 23:30 | |
| s/the/then | |||
| ash_ | but is that user error? or a bad assumption? | ||
| NotFound | ash_: I prefer to not qualify it, the words that come to my mind may be rude X-) | 23:31 | |
| ash_ | well, to give users the ability to control the encoding, what is the best way to ask? is it going to be a flag to the executable, or should it be a method on the INTERP? or something? i don't know how to solve this obviously, just making suggestions | 23:33 | |
| ash_ changing classrooms | 23:34 | ||
|
23:34
ash_ left
23:53
ash_ joined
|
|||
| ash_ | NotFound: should i email the mailing list on the issue? (of readline and utf8 | 23:58 | |
| ) | |||