Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-27

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 dalek parrot: 1cd5f8b | NotFound++ | src/platform/generic/socket.c:
00:03 dalek parrot: fix a problem with C string and prevent from happening again, and avoid coredumps in non-ipv6
00:03 dalek parrot: review: https://github.com/parrot/parrot/commit/1cd5f8bef8
00:05 KaeseEs am I best off reading the perldoc on parrot.h or looking through a PDD to see how PARROT_INTERP, ARGIN and friends do
00:07 cotto_work KaeseEs: what do you want to find out?
00:08 cotto_work PARROT_INTERP demacroizes to parrot_interp_t in include/parrot/interpreter.h, but I'm not sure that will make you less confused.
00:09 whiteknight ARGIN, ARGOUT, ARGMOD and friends basically add some hints to the compiler. They don't really change the code
00:09 whiteknight PARROT_INTERP is basically shorthand for "ARGMOD(parrot_interp_t *interp)"
00:10 KaeseEs cotto_work: well i'm looking at gc_ms2.c and there are a number of (general purpose I assume) macros that I figure I should learn to use properly before I start poking around :)
00:10 whiteknight it's more fun to use them improperly
00:11 NotFound KaeseEs: docs/dev/c_functions.pod
00:12 KaeseEs NotFound: thanks!
00:12 kurahaupo left #parrot
00:14 KaeseEs well here's my first trivial patch, s/compile-rime/compile-time/ in docs/dev/c_functions.pod :V #unless we are ancient mariners
00:14 whiteknight aarrgh
00:15 NotFound KaeseEs: congratulations, you are a parrot hacker now ;)
00:15 dalek parrot: ff6e589 | cotto++ | docs/dev/c_functions.pod:
00:15 dalek parrot: ENOANCIENTMARINER, noticed by KaeseEs++
00:15 dalek parrot: review: https://github.com/parrot/parrot/commit/ff6e589dd4
00:17 NotFound msg mikehh The g++ ipv6 problem should be fixed now
00:17 aloha OK. I'll deliver the message.
00:17 chromatic What if we had a string_to_cstring that took a static buffer?
00:17 Kristaba left #parrot
00:18 whiteknight Bam. supernova.
00:18 chromatic I assume length checks.
00:19 whiteknight that's not too bad an idea. something like _string_to_cstring_n
00:19 chromatic The stack-allocated buffer doesn't need to be freed.
00:19 whiteknight you would need to pass in a buffer and a maximum length
00:19 NotFound The problem will be deciding the appropiate length
00:19 whiteknight but yes, the ground there is fertile
00:19 NotFound And what to do if exceded
00:20 chromatic I can imagine passing a protocol name of longer than, say, 32 bytes to getsockaddrinfo will do something strange.
00:20 chromatic or at least is unlikely.
00:24 NotFound src/platform/generic/socket.c uses #ifdef PARROT_HAS_IPV6 but looks like PARROT_HAS_IPV6 is 0 when the detection fails, not undefined.
00:25 chromatic We're not consistent about our defines.
00:41 theory left #parrot
00:41 kurahaupo joined #parrot
00:42 cotto_work chromatic: if we were to standardize on one, would you care which?
00:44 whiteknight My vague preference is to #define FOO 0, instead of leaving it undefined
00:45 whiteknight but I think most of Parrot uses #ifdef/#ifndef instead to test definedness
00:45 chromatic #define FOO 0 seems better to me too.
00:46 NotFound Using 0 has this problem: people use #ifdef and forget to check other situations.
00:46 davidfetter left #parrot
00:46 cotto_work We can add a codingstd for #ifdef.
00:47 chromatic True, but #ifdef TYOP is false because it's a typo, not because we've deliberately not defined TYOP.
00:48 cotto_work We can't defend against every mistake.
00:48 chromatic That's why I prefer to define all of the symbols we expect to define, true or false, explicitly.
00:48 chromatic We can protect against #ifdef when we mean #if with coding standards.
00:49 chromatic We can let the preprocessor complain about unknown symbols and always know that that's a problem.
00:49 cotto_work sounds like a nice cpp trick
00:54 dalek parrot: 9d798a1 | NotFound++ | config/auto/ipv6.pm:
00:54 dalek parrot: PARROT_HAS_IPV6 is checked with #ifdef, then define it as 0
00:54 dalek parrot: review: https://github.com/parrot/parrot/commit/9d798a18a5
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: 3dfce68 | Whiteknight++ | compilers/imcc/ (2 files):
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: quick implement of the new imcc API functions. Kill all the remaining stuff for command-line argument processing
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/3dfce686ba
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: 95bdb72 | Whiteknight++ | compilers/imcc/ (3 files):
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: start forming the new interface for IMCC. The world will shake.
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/95bdb723dc
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: dd5f423 | Whiteknight++ | compilers/imcc/main.c:
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: lots of little fixes
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/dd5f423df0
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: e2e6af2 | Whiteknight++ | compilers/imcc/main.c:
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: completely unify the IMCC interfaces. There are two functions to compile something, both redirect to a single compilation routine.
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/e2e6af27b3
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: eb4cbdf | Whiteknight++ | compilers/imcc/main.c:
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: misc notes
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/eb4cbdf7cf
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: 2d59f41 | Whiteknight++ | compilers/imcc/ (2 files):
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: Merge remote branch 'origin/whiteknight/imcc_new_api' into whiteknight/imcc_compreg_pmc
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/2d59f4166d
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: f52e585 | Whiteknight++ | src/pmc/imccompiler.pmc:
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: update the imccompiler pmc skeleton to use the newer imcc api funcs
00:57 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/f52e585d4f
01:04 dalek parrot/whiteknight/imcc_info_struct: a522f26 | Whiteknight++ | / (2 files):
01:04 dalek parrot/whiteknight/imcc_info_struct: comment out the functions in the frontend that call IMCC, since those functions no longer exist. Fix build errors in compilers/imcc/pcc.c. miniparrot now builds (but with no calls in to IMCC, it does nothing)
01:04 dalek parrot/whiteknight/imcc_info_struct: review: https://github.com/parrot/parrot/commit/a522f266e8
01:19 vmspb left #parrot
01:29 kurahaupo left #parrot
01:30 mtk left #parrot
01:35 kurahaupo joined #parrot
01:36 mtk joined #parrot
01:52 theory joined #parrot
01:59 whiteknight the more work I do on IMCC, the more fragile I realize it is
01:59 whiteknight like a big house of cards held together by wind gusts
02:00 dalek parrot/whiteknight/imcc_new_api: a522f26 | Whiteknight++ | / (2 files):
02:00 dalek parrot/whiteknight/imcc_new_api: comment out the functions in the frontend that call IMCC, since those functions no longer exist. Fix build errors in compilers/imcc/pcc.c. miniparrot now builds (but with no calls in to IMCC, it does nothing)
02:00 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/a522f266e8
02:00 dalek parrot/whiteknight/imcc_new_api: c6da3a6 | Whiteknight++ | / (2 files):
02:00 dalek parrot/whiteknight/imcc_new_api: Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_new_api
02:00 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/c6da3a6f7d
02:00 dalek parrot/whiteknight/imcc_new_api: 419f040 | Whiteknight++ | / (10 files):
02:00 dalek parrot/whiteknight/imcc_new_api: headerizer. Add a new yyscanner.h file so we can use the definition of yyscan_t everywhere instead of occasionally calling it a void*.
02:00 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/419f040104
02:00 dalek parrot/whiteknight/imcc_new_api: 792ff99 | Whiteknight++ | compilers/imcc/main.c:
02:00 dalek parrot/whiteknight/imcc_new_api: several small fixes so that all files compile. miniparrot does not link because of missing symbols
02:00 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/792ff99f13
02:00 dalek parrot/whiteknight/imcc_new_api: 71e3fcd | Whiteknight++ | / (5 files):
02:00 dalek parrot/whiteknight/imcc_new_api: miniparrot links. No sense trying to run it, it isn't making any calls into IMCC right now
02:00 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/71e3fcd9db
02:01 dalek parrot/whiteknight/imcc_new_api: f317c59 | Whiteknight++ | MANIFEST:
02:01 dalek parrot/whiteknight/imcc_new_api: add the new header file to MANIFEST
02:01 dalek parrot/whiteknight/imcc_new_api: review: https://github.com/parrot/parrot/commit/f317c5972c
02:12 plobsing whiteknight: interesting ideas about exceptionhandler
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: a522f26 | Whiteknight++ | / (2 files):
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: comment out the functions in the frontend that call IMCC, since those functions no longer exist. Fix build errors in compilers/imcc/pcc.c. miniparrot now builds (but with no calls in to IMCC, it does nothing)
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/a522f266e8
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: c6da3a6 | Whiteknight++ | / (2 files):
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_new_api
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/c6da3a6f7d
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: 419f040 | Whiteknight++ | / (10 files):
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: headerizer. Add a new yyscanner.h file so we can use the definition of yyscan_t everywhere instead of occasionally calling it a void*.
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/419f040104
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: 792ff99 | Whiteknight++ | compilers/imcc/main.c:
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: several small fixes so that all files compile. miniparrot does not link because of missing symbols
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/792ff99f13
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: 71e3fcd | Whiteknight++ | / (5 files):
02:13 whiteknight plobsing: just a raw braindump after our conversation from yesterday
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: miniparrot links. No sense trying to run it, it isn't making any calls into IMCC right now
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/71e3fcd9db
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: f317c59 | Whiteknight++ | MANIFEST:
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: add the new header file to MANIFEST
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/f317c5972c
02:13 plobsing whiteknight: .param syntax in the middle of subs would also make coroutines which take parameters on subsequent invokations much less painfull
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: 72bd7d9 | Whiteknight++ | / (2 files):
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_compreg_pmc
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/72bd7d9d0b
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: b34dbcb | Whiteknight++ | / (11 files):
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: Merge branch 'whiteknight/imcc_new_api' into whiteknight/imcc_compreg_pmc
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/b34dbcb2aa
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: b8a94f4 | Whiteknight++ | src/pmc/imccompiler.pmc:
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: add in a preprocess method on the imccompiler PMC, so that we can access the functionality
02:13 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/b8a94f48fa
02:15 whiteknight plobsing: yeah, .param syntax anywhere would be nice
02:15 whiteknight I didn't think so a while ago, but it's seeming like a nice idea
02:16 whiteknight of course, I keep coming back to my idea of individual arg-fetching ops instead of .param directives
02:16 plobsing I'm thinking an arbitrary contiguous segment of '.param' compiles down to 1 get_params, regardless of where it is.
02:18 whiteknight it costs as much to construct a signature FIA and parse it out in get_params and fill_params() as it would to dispatch several smaller individual ops
02:18 whiteknight so a .param directive anywhere just parses down to a fetch_x_arg op
02:19 plobsing whiteknight: I'm unconvinced. doing all the arg processing in one place has good locality, for example.
02:19 whiteknight in this case, "good locality" = "fill_params is like 200 lines long, ugly, and buggy"
02:20 plobsing callgrind rakudo optimized and unoptimized. fill_params appears to be *very* ammenable to compiler optimizations.
02:20 kurahaupo left #parrot
02:20 plobsing individual ops... not so much
02:20 whiteknight we need a signature FIA (which we have to construct at compile time and save in the const table), then we need to parse it, then we need to loop over a jillion special cases
02:20 whiteknight individual ops would be much more amenable to tracing JIT
02:21 whiteknight I shouldn't have to ask every single parameter "are you an :optional?", "are you a :named?", "are you :slurpy?"
02:21 whiteknight I know that information when the sub is compiled
02:23 plobsing whiteknight: I hear the JIT-ammenability argument a lot. there are a few problems with it: (1) you're just pushing complexity somewhere else (we do this a lot in parrot) (2) we don't have a JIT (so the point is moot until we get one) (3) a JIT would have to be awfully smart to figure that out
02:24 whiteknight it's not a very good argument, admittedly. Of course, any JIT is going to reduce op dispatch costs to nil
02:24 whiteknight and we still end up with a much more efficient arg-fetching system than fill_params is now
02:24 whiteknight no looping, no checking. You just say "I need this", and we get it
02:25 plobsing whiteknight: a decent computed-goto core (for the record, the old cgoto was "decent", cgp was not) would also reduce op dispatch costs to virtually nil
02:26 whiteknight I won't nit-pick. That is true. cgoto would have been good to keep if (a) we had FAR fewer ops than we have now, and (b) it was workable on MSVC
02:27 whiteknight compared to some other problems we have, op dispatch costs in parrot are negligible
02:28 plobsing whiteknight: I have a workaround for cgoto on MSVC - tailcalls can be used to achieve the exact same effect.
02:29 plobsing msvc does tco AFAIK
02:29 whiteknight won't that cause stack overflow?
02:30 plobsing tco maintains a constant stack depth
02:33 plobsing what killed cgoto more than anything else was it wasn't used consistently when available. runcore and op-dispatch mechanism are orthogonal. if you have cgoto, slow core should dispatch using cgoto, profiling core, etc...
02:33 whiteknight right, assuming it does proper tco. We're probably going to have to give the compiler some very non-subtle hints that it's required
02:33 plobsing which lead to it not being used at all
02:34 whiteknight right. And it wasn't used by default because it wasn't available on MSVC
02:34 whiteknight I'm quickly losing my conviction that supporting MSVC is worthwhile
02:35 plobsing aren't you the author of Parrot#? isn't msvc kind of critical for most users of that library?
02:36 whiteknight Parrot# is .NET. Actually, I've never built it with VisualStudio, I've only used Mono
02:37 dalek parrot: 9c64677 | jimmy++ | / (3 files):
02:37 dalek parrot: fixed build with MingW GCC again
02:37 dalek parrot: review: https://github.com/parrot/parrot/commit/9c64677d6b
02:38 whiteknight actually, I suspect it won't build with MSVC at all, since I'm not importing the parrot library in the correct way
02:40 whiteknight I think there is serious win to be had with individual arg-fetch ops simply by not creating FIA signatures for each call site and storing them in the constants table
02:40 whiteknight and param signatures for each Sub
02:41 plobsing they get de-dupped
02:43 plobsing creating the FIAs is not really much of a cost (unless you count the tech debt in the code that builds them)
02:43 whiteknight It's very low on my priorities list obviously, but one day I would like to put together a proof-of-concept branch for this
02:44 whiteknight it seems like something I could put together in a weekend
02:44 plobsing and besides, supposing we did have arg-fetch ops, we'd still need signatures to make sure things matched up
02:44 whiteknight I don't think so. Maybe in a dynamic case or PIR->C method calls
02:45 whiteknight a "done_fetching_args" op would throw an arity mismatch exception after params were fetched if there were still some left in the args list
02:45 whiteknight IF the compiler inserted those, which wouldn't need to happen for all HLLs
02:46 plobsing yeah, I see that as a huge opportunity to fail
02:46 whiteknight I like the idea that we could do all sorts of fun new things: lazy arg fetching, default values for optional parameters (by passing a default to the fetch op), etc
02:47 plobsing python has similar argument capabilities. how does it handle things?
02:47 whiteknight I don't know python
02:49 chromatic It'd be nice to have subclassable signatures or something that could let us avoid the complexity of "Do you have named args?" where we know, statically, that a call doesn't.
02:52 dalek parrot/whiteknight/imcc_compreg_pmc: e10e12b | Whiteknight++ | / (2 files):
02:52 dalek parrot/whiteknight/imcc_compreg_pmc: use the new IMCC api functions in the frontend.
02:53 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/e10e12b0f7
02:53 whiteknight chromatic: exactly!
02:53 whiteknight we know a lot of information at compile time, and we throw it all away and then recompute it all in fill_params and Parrot_pcc_do_all_sorts_of_garbage()
02:53 chromatic That's a Parrot design pattern.
02:54 plobsing whiteknight: I see what you're saying.
02:54 whiteknight chromatic: our next Parrot book should be called "software design anti-patterns"
02:55 whiteknight "...by example"
02:55 chromatic After the NQP book,  yes.
02:58 plobsing python cheats. they special-case vanilla positional-only calls
02:59 whiteknight that's something I've argued for in the past
02:59 plobsing http://svn.python.org/view/*checkout*​/python/trunk/Python/ceval.c?revision​=82177&content-type=text%2Fplain
03:03 whiteknight okay, if I look at any more IMCC code I'm going to go cross-eyed
03:04 whiteknight so that's it for me tonight.
03:04 plobsing whiteknight: (back to exceptions) do you have any thoughts on making exceptionhandler setup less expensive?
03:04 whiteknight plobsing: a sparse handful. bacek was doing some promising work on the cached-eh branch
03:04 whiteknight saving a cached ExceptionHandler in the Sub instead of in the Context can help for reuse
03:06 whiteknight not calling can_handle on every handler in the context would help
03:06 whiteknight not involving the scheduler at all would be nice
03:08 whiteknight in terms of huge algorithmic improvements, I don't really have anything
03:08 whiteknight anyway, I am heading to bed now. talk to you tomorrow
03:09 dalek Heuristic branch merge: pushed 33 commits to parrot/annotations-tree by plobsing
03:09 whiteknight left #parrot
03:12 mikehh joined #parrot
03:22 kurahaupo joined #parrot
03:41 fbrito joined #parrot
03:41 fbrito left #parrot
03:41 sorear chromatic: can I do anything to help the p6call blogging?
03:59 kurahaupo left #parrot
04:01 kurahaupo joined #parrot
04:05 dmalcolm left #parrot
04:28 theory left #parrot
04:43 dalek parrot: 14bbee3 | plobsing++ | / (27 files):
04:43 dalek parrot: Merge branch 'master' into annotations-tree
04:43 dalek parrot: review: https://github.com/parrot/parrot/commit/14bbee38f6
04:43 dalek parrot: 69dc8de | plobsing++ | / (7 files):
04:43 dalek parrot: Merge branch 'annotations-tree'
04:43 dalek parrot: review: https://github.com/parrot/parrot/commit/69dc8ded9a
04:47 snarkyboojum joined #parrot
04:52 dalek parrot: bb69595 | plobsing++ | / (2 files):
04:52 dalek parrot: [codingstd] long lines and trailing whitespace
04:52 dalek parrot: review: https://github.com/parrot/parrot/commit/bb69595020
05:18 baest left #parrot
05:20 kurahaupo left #parrot
05:21 baest joined #parrot
05:39 kurahaupo joined #parrot
05:50 dukeleto ~~
05:51 plobsing hi duke!
05:54 rurban_ joined #parrot
05:54 dukeleto plobsing: wazzup?
05:56 plobsing not much. just merged annotations-tree (ipv6 got fixed!!)
05:56 rurban left #parrot
05:56 rurban_ is now known as rurban
06:01 Myhrlin_ left #parrot
06:57 JimmyZ joined #parrot
07:06 chromatic left #parrot
07:16 JimmyZ left #parrot
07:35 nopaste left #parrot
07:36 kurahaupo left #parrot
07:38 dukeleto plobsing: great to hear!
07:41 nopaste joined #parrot
07:43 dukeleto plobsing: what is next on your list?
07:43 JimmyZ joined #parrot
08:00 mj41 msg nwellnhof TapTinder windows machines https://gist.github.com/798223
08:00 aloha OK. I'll deliver the message.
08:10 fperrad joined #parrot
08:47 baest_ joined #parrot
08:50 baest left #parrot
09:17 mtk left #parrot
09:24 mtk joined #parrot
10:50 contingencyplan left #parrot
11:20 fbrito joined #parrot
11:20 fbrito left #parrot
11:35 whiteknight joined #parrot
11:57 whiteknight good morning, #parrot
11:58 JimmyZ good morning whiteknight
11:58 whiteknight hello JimmyZ, how are you today?
12:01 JimmyZ well, just a bit bored :)
12:04 whiteknight bored? oh no! Need to do more hacking!
12:08 bacek aloha, whiteknight
12:08 bacek rakudo: my $a := 'a b' => 'c d';
12:08 p6eval rakudo 549d2a:  ( no output )
12:08 bacek hmm
12:09 jnthn rakudo: my $a := 'a b' => 'c d'; say $a;
12:09 p6eval rakudo 549d2a: OUTPUT«a b       c d␤»
12:14 bacek jnthn, I've got segfault on latest parrot.
12:14 jnthn Oh.
12:14 jnthn :(
12:32 dalek nqp-rx: bffc552 | bacek++ | t/setting/01-resizablepmcarray.t:
12:32 dalek nqp-rx: Stylish change in test.
12:32 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/bffc552e0e
12:32 dalek nqp-rx: 7809892 | bacek++ | / (3 files):
12:32 dalek nqp-rx: Revert "Comment out split() function for now; it causes the Parrot build to fail"
12:32 dalek nqp-rx:
12:32 dalek nqp-rx: This reverts commit 5349f1795fb2dd7420a41be28c9d192c10cfb059.
12:32 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/7809892897
12:32 dalek nqp-rx: feb29e6 | bacek++ | / (2 files):
12:32 dalek nqp-rx: Use multi-dispatch to split on plain strings in setting
12:32 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/feb29e6a33
12:32 dalek parrot: 82cab12 | bacek++ | / (42 files):
12:32 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
12:32 dalek parrot: review: https://github.com/parrot/parrot/commit/82cab1230e
12:32 dalek parrot: 125d94c | bacek++ | ext/nqp-rx/src/stage0/nqp-setting.nqp:
12:32 dalek parrot: Update nqp-setting with fixed C<split>.
12:32 dalek parrot: review: https://github.com/parrot/parrot/commit/125d94c41c
12:43 dalek nqp-rx: 0bf82c9 | bacek++ | / (3 files):
12:43 dalek nqp-rx: Implement RPA.grep and rebootstrap setting.
12:43 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/0bf82c9325
13:13 woosley joined #parrot
13:26 Coke what's up with this commit: https://github.com/parrot/parrot/commit/​82cab1230e9f4536581879e29782db41339bf90d
13:26 Coke it's a huge merge commit from master to master with no explanation of what it's for?
13:27 kid51 joined #parrot
13:29 JimmyZ I guess it's git auto-merge
13:30 Coke bacek, ping.
13:53 fbrito joined #parrot
13:53 fbrito left #parrot
13:54 rurban_ joined #parrot
13:56 rurban left #parrot
13:56 rurban_ is now known as rurban
14:04 plobsing the diff looks like the reapplication of several recent commits
14:10 plobsing left #parrot
14:17 fbrito joined #parrot
14:17 fbrito left #parrot
14:23 bacek left #parrot
14:35 bacek joined #parrot
14:46 vmspb joined #parrot
14:47 whiteknight how do I add a new PMC to the build?
14:49 Coke did you try just reconfiguring?
14:49 whiteknight yeah, I just tried that. it worked
14:55 woosley left #parrot
14:58 whiteknight incoming
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 0c359f6 | Whiteknight++ | src/pmc/imccompiler.pmc:
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: add some more vtables to the imccompiler.pmc
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/0c359f6d83
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 4d2f47e | Whiteknight++ | src/embed/pmc.c:
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: add in an api wrapper for VTABLE_push_pmc
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/4d2f47e134
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 7e13aec | Whiteknight++ | frontend/parrot/main.c:
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: start updating the front-end to use the new imcc compiler PMC instead of direct calls into IMCC. Requires a lot more logic to set up all the necessary PMCs to make the call
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/7e13aec04d
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 02a326a | Whiteknight++ | / (4 files):
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: small fix and headerizer
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/02a326a77f
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 0e8ab9b | Whiteknight++ | frontend/parrot/main.c:
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: headerizer, and fix the frontend so it builds again
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/0e8ab9bde3
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: 077dcce | Whiteknight++ | src/pmc/imccompiler.pmc:
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: Several fixes so miniparrot, and parrot build. config.fpmc appears to be generated correctly
14:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/077dcce7b8
15:03 Coke there is src/pmc/pmc.num, but that's a relic.
15:03 Coke (and only needed for certain items.)
15:03 Coke (... and maybe not anything anymore.)
15:04 kid51 left #parrot
15:06 whiteknight yeah, there used to be a pmc-renumber make target, or something like that
15:14 fbrito joined #parrot
15:20 fbrito left #parrot
15:29 plobsing joined #parrot
15:30 Patterner left #parrot
15:30 Psyche^ joined #parrot
15:30 Psyche^ is now known as Patterner
16:00 plobsing left #parrot
16:13 cotto_work ~~
16:15 bacek left #parrot
16:34 Coke left #parrot
16:41 chromatic joined #parrot
16:44 dmalcolm joined #parrot
16:44 plobsing joined #parrot
16:52 JimmyZ left #parrot
16:52 dalek parrot: 117cff2 | NotFound++ | t/src/exit.t:
16:52 dalek parrot: rearrange a bit the C code in on_exit test to allow its full coverage
16:52 dalek parrot: review: https://github.com/parrot/parrot/commit/117cff273a
16:58 kid51 joined #parrot
17:01 dalek parrot: 2057f20 | NotFound++ | t/src/embed/strings.t:
17:01 dalek parrot: rearrange a bit the C code in wchar import/export test to allow its full coverage
17:01 dalek parrot: review: https://github.com/parrot/parrot/commit/2057f203d7
17:02 nopaste "kid51" at 192.168.1.3 pasted "t/steps/auto/ipv6-01.t: Needs adjustment after recent change to config/auto/ipv6.pm" (24 lines) at http://nopaste.snit.ch/29202
17:02 kid51 Can someone take a look at that, then run perl Configure.pl --test=build  (am at $job and cannot handle now).  Thanks.
17:02 kid51 left #parrot
17:04 mtk left #parrot
17:09 ambs joined #parrot
17:11 mtk joined #parrot
17:37 mtk left #parrot
17:43 whiteknight plobsing: ping
17:56 plobsing pong
17:57 fbrito joined #parrot
18:05 fbrito left #parrot
18:11 fbrito joined #parrot
18:11 fbrito left #parrot
18:12 dukeleto ~~
18:15 fbrito1 joined #parrot
18:15 fbrito1 left #parrot
18:36 ambs left #parrot
18:42 dalek parrot: bd43873 | jkeenan++ | t/steps/auto/ipv6-01.t:
18:42 dalek parrot: With NotFound's correction, HAS_IPV6 will always get defined inside _handle_ipv6_status(), so we don't need to check for definedness any more.
18:42 dalek parrot: review: https://github.com/parrot/parrot/commit/bd43873bfe
18:43 NotFound That thing was funny: a test that checked it was always defined, and the C code used definedness...
18:44 NotFound Looks like deliberately failing %-)
19:09 dalek winxed: r750 | NotFound++ | trunk/ (2 files):
19:09 dalek winxed: add --detach option to example fly
19:09 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=750
19:31 dalek parrot/whiteknight/imcc_compreg_pmc: 411027d | Whiteknight++ | / (3 files):
19:31 dalek parrot/whiteknight/imcc_compreg_pmc: a few changes and fixes. Have some bugs I'm debugging
19:31 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/411027d93a
19:31 whiteknight plobsing: (sorry for the delay. I had to go shovel my car out) If you have a few spare moments, can you take a quick look at whiteknight/imcc_compreg_pmc? I'm having some packfile issues and maybe you'd have an intuitive insight into it
19:32 whiteknight in compilers/imcc/main.c, lines 389 and 390. The way I have it now (assigning something to pf_raw->cur_cs), It fails when I try to -o a .pbc file file. pf->directory->segments is null
19:33 whiteknight when I don't assign to it, I can -o just fine, but then I get a segfault later doing the load_bytecode_sc op, because the packfile returned by IMCC has a NULL ->cur_cs
19:46 plobsing whiteknight: I'll have a look at it tonight.
19:48 whiteknight thanks. no rush.
19:48 whiteknight many things are different in that branch. let me know if you get disoriented
19:50 whiteknight many things
19:53 whiteknight i'm amaazed it runs at all
19:55 plobsing left #parrot
20:01 theory joined #parrot
20:09 Coke joined #parrot
20:11 whiteknight left #parrot
20:13 whiteknight joined #parrot
20:21 whiteknight left #parrot
20:24 plobsing joined #parrot
20:29 whiteknight joined #parrot
20:30 ambs joined #parrot
20:37 bacek joined #parrot
21:27 whiteknight left #parrot
21:31 whiteknight joined #parrot
21:33 ambs left #parrot
21:36 plobsing left #parrot
21:36 plobsing joined #parrot
21:38 theory left #parrot
21:43 dalek parrot: c35607d | NotFound++ | src/packfile/api.c:
21:43 dalek parrot: Fix c++ build:
21:43 dalek parrot: Cast required to convert integer types to enum
21:43 dalek parrot: Non void function need return. Also add a warning for non expected case
21:43 dalek parrot: review: https://github.com/parrot/parrot/commit/c35607d1d6
21:44 KaeseEs bacek: have you read any of david bacon's papers?  a professor pointed me towards them today, reading a comparison he did of several gc strats now
21:45 contingencyplan joined #parrot
21:51 slavorg left #parrot
21:54 rurban_ joined #parrot
21:56 rurban left #parrot
21:56 rurban_ is now known as rurban
21:59 dalek TT #540 reopened by doughera++: installed versions of dynext/*.so still link to -lparrot in build ...
21:59 dalek TT #540: http://trac.parrot.org/parrot/ticket/540
22:03 fperrad left #parrot
22:04 theory joined #parrot
22:08 * dukeleto imagines using the Bacon GC
22:24 bacek_at_work ~~
22:24 bacek_at_work KaeseEs, which one?
22:24 bacek_at_work Coke, pong (8 hours later :)
22:25 KaeseEs right now i'm looking at his comparison of concurrent gc strats, and i have his rt gc paper ("java without the coffee breaks") and his refcounter-on-steroids vs. m/s on the back burner
22:28 Coke bacek_at_work: just wondering what was up with the big honking commit that was a merge from master to master.
22:28 Coke makes it hard to review.
22:28 bacek_at_work Coke, I forgot to config master for automated rebase on pull.
22:29 bacek_at_work Sorry
22:35 dalek parrot: 02ca078 | NotFound++ | src/embed/embed_private.h:
22:35 dalek parrot: Fix most of 'might be clobbered' warnings
22:35 dalek parrot: Thaks to: http://lists.apple.com/archives/x​code-users/2003/Dec//msg00050.htm
22:35 dalek parrot: '' it's normally enough just to change their scope.''
22:35 dalek parrot: review: https://github.com/parrot/parrot/commit/02ca078fcb
22:39 Coke NotFound: ; that url in the commit message faisl. :(
22:40 jnthn ipec faisl :)
22:40 plobsing Coke: appropriately, it goes to notfound.html
22:41 NotFound Funny, it appears exactly that way in my browser, but fails if I paste it.
22:42 NotFound Direct copy from the browser: http://lists.apple.com/archives/xc​ode-users/2003/Dec//msg00050.html
22:46 Coke NotFound++
22:46 Coke NotFound++
22:49 dalek parrot: ced54a5 | NotFound++ | src/embed/api.c:
22:49 dalek parrot: Fix remaining 'might be clobbered' warning
22:49 dalek parrot: review: https://github.com/parrot/parrot/commit/ced54a52f7
23:08 dalek TT #1981 closed by NotFound++: Many new warnings like: warning: variable ‘interp’ might be clobbered by ...
23:08 dalek TT #1981: http://trac.parrot.org/parrot/ticket/1981
23:08 plobsing left #parrot
23:19 dukeleto NotFound++ # nice work getting rid of the gcc warnings without tears
23:20 cotto_work NotFound++
23:44 whiteknight left #parrot
23:44 kid51 joined #parrot
23:52 plobsing joined #parrot
23:53 dalek nqp-rx/nom: 2cf0a78 | jonathan++ | src/ (7 files):
23:53 dalek nqp-rx/nom: Drop the _hint variants of get and set attr - just fold it into one variant that handles the case where no hint is passed. Add slots to hold the native type variants, though they're not implemented or used anywhere yet.
23:53 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/2cf0a7860f
23:53 dalek nqp-rx/nom: 111559c | jonathan++ | src/metamodel/reprs/ (5 files):
23:53 dalek nqp-rx/nom: Implement the native attr get/bind in the various REPRs. Of course, a bunch of them don't actually support attributes, so the only interesting code is in P6opaque. Missing a attribute type check still.
23:53 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/111559c4a7
23:53 dalek nqp-rx/nom: 155b951 | jonathan++ | src/ops/nqp.ops:
23:53 dalek nqp-rx/nom: Ops for getting and binding native attrs.
23:53 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/155b951de1

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced