Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot Developer Summit: 2200 UTC 29 Jan | Goals: Fix ipv6-related failures | Test imcc_interfaces and annotations-tree branches
Set by moderator on 26 January 2011.
dalek rrot: 1cd5f8b | NotFound++ | src/platform/generic/socket.c:
fix a problem with C string and prevent from happening again, and avoid coredumps in non-ipv6
00:03
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:05
cotto_work KaeseEs: what do you want to find out? 00:07
PARROT_INTERP demacroizes to parrot_interp_t in include/parrot/interpreter.h, but I'm not sure that will make you less confused. 00:08
whiteknight ARGIN, ARGOUT, ARGMOD and friends basically add some hints to the compiler. They don't really change the code 00:09
PARROT_INTERP is basically shorthand for "ARGMOD(parrot_interp_t *interp)"
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
NotFound KaeseEs: docs/dev/c_functions.pod 00:11
KaeseEs NotFound: thanks! 00:12
00:12 kurahaupo left
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
NotFound KaeseEs: congratulations, you are a parrot hacker now ;) 00:15
dalek rrot: ff6e589 | cotto++ | docs/dev/c_functions.pod:
ENOANCIENTMARINER, noticed by KaeseEs++
NotFound msg mikehh The g++ ipv6 problem should be fixed now 00:17
aloha OK. I'll deliver the message.
chromatic What if we had a string_to_cstring that took a static buffer?
00:17 Kristaba left
whiteknight Bam. supernova. 00:18
chromatic I assume length checks.
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.
whiteknight you would need to pass in a buffer and a maximum length
NotFound The problem will be deciding the appropiate length
whiteknight but yes, the ground there is fertile
NotFound And what to do if exceded
chromatic I can imagine passing a protocol name of longer than, say, 32 bytes to getsockaddrinfo will do something strange. 00:20
or at least is unlikely.
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:24
chromatic We're not consistent about our defines. 00:25
00:41 theory left, kurahaupo joined
cotto_work chromatic: if we were to standardize on one, would you care which? 00:42
whiteknight My vague preference is to #define FOO 0, instead of leaving it undefined 00:44
but I think most of Parrot uses #ifdef/#ifndef instead to test definedness 00:45
chromatic #define FOO 0 seems better to me too.
NotFound Using 0 has this problem: people use #ifdef and forget to check other situations. 00:46
00:46 davidfetter left
cotto_work We can add a codingstd for #ifdef. 00:46
chromatic True, but #ifdef TYOP is false because it's a typo, not because we've deliberately not defined TYOP. 00:47
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.
We can protect against #ifdef when we mean #if with coding standards.
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
dalek rrot: 9d798a1 | NotFound++ | config/auto/ipv6.pm:
PARROT_HAS_IPV6 is checked with #ifdef, then define it as 0
00:54
rrot/whiteknight/imcc_compreg_pmc: 3dfce68 | Whiteknight++ | compilers/imcc/ (2 files):
quick implement of the new imcc API functions. Kill all the remaining stuff for command-line argument processing
00:57
rrot/whiteknight/imcc_compreg_pmc: 95bdb72 | Whiteknight++ | compilers/imcc/ (3 files):
start forming the new interface for IMCC. The world will shake.
rrot/whiteknight/imcc_compreg_pmc: dd5f423 | Whiteknight++ | compilers/imcc/main.c:
lots of little fixes
rrot/whiteknight/imcc_compreg_pmc: e2e6af2 | Whiteknight++ | compilers/imcc/main.c:
completely unify the IMCC interfaces. There are two functions to compile something, both redirect to a single compilation routine.
rrot/whiteknight/imcc_compreg_pmc: eb4cbdf | Whiteknight++ | compilers/imcc/main.c:
misc notes
rrot/whiteknight/imcc_compreg_pmc: 2d59f41 | Whiteknight++ | compilers/imcc/ (2 files):
Merge remote branch 'origin/whiteknight/imcc_new_api' into whiteknight/imcc_compreg_pmc
rrot/whiteknight/imcc_compreg_pmc: f52e585 | Whiteknight++ | src/pmc/imccompiler.pmc:
update the imccompiler pmc skeleton to use the newer imcc api funcs
rrot/whiteknight/imcc_info_struct: a522f26 | Whiteknight++ | / (2 files):
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
01:19 vmspb left 01:29 kurahaupo left 01:30 mtk left 01:35 kurahaupo joined 01:36 mtk joined 01:52 theory joined
whiteknight the more work I do on IMCC, the more fragile I realize it is 01:59
like a big house of cards held together by wind gusts
dalek rrot/whiteknight/imcc_new_api: a522f26 | Whiteknight++ | / (2 files):
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
rrot/whiteknight/imcc_new_api: c6da3a6 | Whiteknight++ | / (2 files):
Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_new_api
rrot/whiteknight/imcc_new_api: 419f040 | Whiteknight++ | / (10 files):
headerizer. Add a new yyscanner.h file so we can use the definition of yyscan_t everywhere instead of occasionally calling it a void*.
rrot/whiteknight/imcc_new_api: 792ff99 | Whiteknight++ | compilers/imcc/main.c:
several small fixes so that all files compile. miniparrot does not link because of missing symbols
rrot/whiteknight/imcc_new_api: 71e3fcd | Whiteknight++ | / (5 files):
miniparrot links. No sense trying to run it, it isn't making any calls into IMCC right now
rrot/whiteknight/imcc_new_api: f317c59 | Whiteknight++ | MANIFEST:
add the new header file to MANIFEST
02:01
plobsing whiteknight: interesting ideas about exceptionhandler 02:12
dalek rrot/whiteknight/imcc_compreg_pmc: a522f26 | Whiteknight++ | / (2 files):
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
rrot/whiteknight/imcc_compreg_pmc: c6da3a6 | Whiteknight++ | / (2 files):
Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_new_api
rrot/whiteknight/imcc_compreg_pmc: 419f040 | Whiteknight++ | / (10 files):
headerizer. Add a new yyscanner.h file so we can use the definition of yyscan_t everywhere instead of occasionally calling it a void*.
rrot/whiteknight/imcc_compreg_pmc: 792ff99 | Whiteknight++ | compilers/imcc/main.c:
several small fixes so that all files compile. miniparrot does not link because of missing symbols
rrot/whiteknight/imcc_compreg_pmc: 71e3fcd | Whiteknight++ | / (5 files):
miniparrot links. No sense trying to run it, it isn't making any calls into IMCC right now
whiteknight plobsing: just a raw braindump after our conversation from yesterday
rrot/whiteknight/imcc_compreg_pmc: f317c59 | Whiteknight++ | MANIFEST:
add the new header file to MANIFEST
plobsing whiteknight: .param syntax in the middle of subs would also make coroutines which take parameters on subsequent invokations much less painfull
dalek rrot/whiteknight/imcc_compreg_pmc: 72bd7d9 | Whiteknight++ | / (2 files):
Merge branch 'whiteknight/imcc_info_struct' into whiteknight/imcc_compreg_pmc
rrot/whiteknight/imcc_compreg_pmc: b34dbcb | Whiteknight++ | / (11 files):
Merge branch 'whiteknight/imcc_new_api' into whiteknight/imcc_compreg_pmc
rrot/whiteknight/imcc_compreg_pmc: b8a94f4 | Whiteknight++ | src/pmc/imccompiler.pmc:
add in a preprocess method on the imccompiler PMC, so that we can access the functionality
whiteknight plobsing: yeah, .param syntax anywhere would be nice 02:15
I didn't think so a while ago, but it's seeming like a nice idea
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.
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
so a .param directive anywhere just parses down to a fetch_x_arg op
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"
plobsing callgrind rakudo optimized and unoptimized. fill_params appears to be *very* ammenable to compiler optimizations. 02:20
02:20 kurahaupo left
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
individual ops would be much more amenable to tracing JIT
I shouldn't have to ask every single parameter "are you an :optional?", "are you a :named?", "are you :slurpy?" 02:21
I know that information when the sub is compiled
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:23
whiteknight it's not a very good argument, admittedly. Of course, any JIT is going to reduce op dispatch costs to nil 02:24
and we still end up with a much more efficient arg-fetching system than fill_params is now
no looping, no checking. You just say "I need this", and we get it
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:25
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:26
compared to some other problems we have, op dispatch costs in parrot are negligible 02:27
plobsing whiteknight: I have a workaround for cgoto on MSVC - tailcalls can be used to achieve the exact same effect. 02:28
msvc does tco AFAIK 02:29
whiteknight won't that cause stack overflow?
plobsing tco maintains a constant stack depth 02:30
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
plobsing which lead to it not being used at all
whiteknight right. And it wasn't used by default because it wasn't available on MSVC 02:34
I'm quickly losing my conviction that supporting MSVC is worthwhile
plobsing aren't you the author of Parrot#? isn't msvc kind of critical for most users of that library? 02:35
whiteknight Parrot# is .NET. Actually, I've never built it with VisualStudio, I've only used Mono 02:36
dalek rrot: 9c64677 | jimmy++ | / (3 files):
fixed build with MingW GCC again
02:37
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:38
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
and param signatures for each Sub
plobsing they get de-dupped 02:41
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
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
whiteknight I don't think so. Maybe in a dynamic case or PIR->C method calls
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
IF the compiler inserted those, which wouldn't need to happen for all HLLs
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
plobsing python has similar argument capabilities. how does it handle things? 02:47
whiteknight I don't know python
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:49
dalek rrot/whiteknight/imcc_compreg_pmc: e10e12b | Whiteknight++ | / (2 files):
use the new IMCC api functions in the frontend.
02:52
whiteknight chromatic: exactly!
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()
chromatic That's a Parrot design pattern.
plobsing whiteknight: I see what you're saying. 02:54
whiteknight chromatic: our next Parrot book should be called "software design anti-patterns"
"...by example" 02:55
chromatic After the NQP book, yes.
plobsing python cheats. they special-case vanilla positional-only calls 02:58
whiteknight that's something I've argued for in the past 02:59
plobsing svn.python.org/view/*checkout*/pyth...xt%2Fplain
whiteknight okay, if I look at any more IMCC code I'm going to go cross-eyed 03:03
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?
whiteknight plobsing: a sparse handful. bacek was doing some promising work on the cached-eh branch
saving a cached ExceptionHandler in the Sub instead of in the Context can help for reuse
not calling can_handle on every handler in the context would help 03:06
not involving the scheduler at all would be nice
in terms of huge algorithmic improvements, I don't really have anything 03:08
anyway, I am heading to bed now. talk to you tomorrow
dalek Heuristic branch merge: pushed 33 commits to parrot/annotations-tree by plobsing 03:09
03:09 whiteknight left 03:12 mikehh joined 03:22 kurahaupo joined 03:41 fbrito joined, fbrito left
sorear chromatic: can I do anything to help the p6call blogging? 03:41
03:59 kurahaupo left 04:01 kurahaupo joined 04:05 dmalcolm left 04:28 theory left
dalek rrot: 14bbee3 | plobsing++ | / (27 files):
Merge branch 'master' into annotations-tree
04:43
rrot: 69dc8de | plobsing++ | / (7 files):
Merge branch 'annotations-tree'
04:47 snarkyboojum joined
dalek rrot: bb69595 | plobsing++ | / (2 files):
[codingstd] long lines and trailing whitespace
04:52
05:18 baest left 05:20 kurahaupo left 05:21 baest joined 05:39 kurahaupo joined
dukeleto ~~ 05:50
plobsing hi duke! 05:51
05:54 rurban_ joined
dukeleto plobsing: wazzup? 05:54
plobsing not much. just merged annotations-tree (ipv6 got fixed!!) 05:56
05:56 rurban left, rurban_ is now known as rurban 06:01 Myhrlin_ left 06:57 JimmyZ joined 07:06 chromatic left 07:16 JimmyZ left 07:35 nopaste left 07:36 kurahaupo left
dukeleto plobsing: great to hear! 07:38
07:41 nopaste joined
dukeleto plobsing: what is next on your list? 07:43
07:43 JimmyZ joined
mj41 msg nwellnhof TapTinder windows machines gist.github.com/798223 08:00
aloha OK. I'll deliver the message.
08:10 fperrad joined 08:47 baest_ joined 08:50 baest left 09:17 mtk left 09:24 mtk joined 10:50 contingencyplan left 11:20 fbrito joined, fbrito left 11:35 whiteknight joined
whiteknight good morning, #parrot 11:57
JimmyZ good morning whiteknight 11:58
whiteknight hello JimmyZ, how are you today?
JimmyZ well, just a bit bored :) 12:01
whiteknight bored? oh no! Need to do more hacking! 12:04
bacek aloha, whiteknight 12:08
rakudo: my $a := 'a b' => 'c d';
p6eval rakudo 549d2a: ( no output )
bacek hmm
jnthn rakudo: my $a := 'a b' => 'c d'; say $a; 12:09
p6eval rakudo 549d2a: OUTPUT«a b c d␤»
bacek jnthn, I've got segfault on latest parrot. 12:14
jnthn Oh.
:(
dalek p-rx: bffc552 | bacek++ | t/setting/01-resizablepmcarray.t:
Stylish change in test.
12:32
p-rx: 7809892 | bacek++ | / (3 files):
Revert "Comment out split() function for now; it causes the Parrot build to fail"

This reverts commit 5349f1795fb2dd7420a41be28c9d192c10cfb059.
p-rx: feb29e6 | bacek++ | / (2 files):
Use multi-dispatch to split on plain strings in setting
rrot: 82cab12 | bacek++ | / (42 files):
Merge branch 'master' of github.com:parrot/parrot
rrot: 125d94c | bacek++ | ext/nqp-rx/src/stage0/nqp-setting.nqp:
Update nqp-setting with fixed C<split>.
p-rx: 0bf82c9 | bacek++ | / (3 files):
Implement RPA.grep and rebootstrap setting.
12:43
13:13 woosley joined
Coke what's up with this commit: github.com/parrot/parrot/commit/82...41339bf90d 13:26
it's a huge merge commit from master to master with no explanation of what it's for?
13:27 kid51 joined
JimmyZ I guess it's git auto-merge 13:29
Coke bacek, ping. 13:30
13:53 fbrito joined, fbrito left 13:54 rurban_ joined 13:56 rurban left, rurban_ is now known as rurban
plobsing the diff looks like the reapplication of several recent commits 14:04
14:10 plobsing left 14:17 fbrito joined, fbrito left 14:23 bacek left 14:35 bacek joined 14:46 vmspb joined
whiteknight how do I add a new PMC to the build? 14:47
Coke did you try just reconfiguring? 14:49
whiteknight yeah, I just tried that. it worked
14:55 woosley left
whiteknight incoming 14:58
dalek rrot/whiteknight/imcc_compreg_pmc: 0c359f6 | Whiteknight++ | src/pmc/imccompiler.pmc:
add some more vtables to the imccompiler.pmc
rrot/whiteknight/imcc_compreg_pmc: 4d2f47e | Whiteknight++ | src/embed/pmc.c:
add in an api wrapper for VTABLE_push_pmc
rrot/whiteknight/imcc_compreg_pmc: 7e13aec | Whiteknight++ | frontend/parrot/main.c:
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
rrot/whiteknight/imcc_compreg_pmc: 02a326a | Whiteknight++ | / (4 files):
small fix and headerizer
rrot/whiteknight/imcc_compreg_pmc: 0e8ab9b | Whiteknight++ | frontend/parrot/main.c:
headerizer, and fix the frontend so it builds again
rrot/whiteknight/imcc_compreg_pmc: 077dcce | Whiteknight++ | src/pmc/imccompiler.pmc:
Several fixes so miniparrot, and parrot build. config.fpmc appears to be generated correctly
Coke there is src/pmc/pmc.num, but that's a relic. 15:03
(and only needed for certain items.)
(... and maybe not anything anymore.)
15:04 kid51 left
whiteknight yeah, there used to be a pmc-renumber make target, or something like that 15:06
15:14 fbrito joined 15:20 fbrito left 15:29 plobsing joined 15:30 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner 16:00 plobsing left
cotto_work ~~ 16:13
16:15 bacek left 16:34 Coke left 16:41 chromatic joined 16:44 dmalcolm joined, plobsing joined 16:52 JimmyZ left
dalek rrot: 117cff2 | NotFound++ | t/src/exit.t:
rearrange a bit the C code in on_exit test to allow its full coverage
16:52
16:58 kid51 joined
dalek rrot: 2057f20 | NotFound++ | t/src/embed/strings.t:
rearrange a bit the C code in wchar import/export test to allow its full coverage
17:01
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 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 17:04 mtk left 17:09 ambs joined 17:11 mtk joined 17:37 mtk left
whiteknight plobsing: ping 17:43
plobsing pong 17:56
17:57 fbrito joined 18:05 fbrito left 18:11 fbrito joined, fbrito left
dukeleto ~~ 18:12
18:15 fbrito1 joined, fbrito1 left 18:36 ambs left
dalek rrot: bd43873 | jkeenan++ | t/steps/auto/ipv6-01.t:
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
NotFound That thing was funny: a test that checked it was always defined, and the C code used definedness... 18:43
Looks like deliberately failing %-) 18:44
dalek nxed: r750 | NotFound++ | trunk/ (2 files):
add --detach option to example fly
19:09
rrot/whiteknight/imcc_compreg_pmc: 411027d | Whiteknight++ | / (3 files):
a few changes and fixes. Have some bugs I'm debugging
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
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:32
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:33
plobsing whiteknight: I'll have a look at it tonight. 19:46
whiteknight thanks. no rush. 19:48
many things are different in that branch. let me know if you get disoriented
many things 19:50
i'm amaazed it runs at all 19:53
19:55 plobsing left 20:01 theory joined 20:09 Coke joined 20:11 whiteknight left 20:13 whiteknight joined 20:21 whiteknight left 20:24 plobsing joined 20:29 whiteknight joined 20:30 ambs joined 20:37 bacek joined 21:27 whiteknight left 21:31 whiteknight joined 21:33 ambs left 21:36 plobsing left, plobsing joined 21:38 theory left
dalek rrot: c35607d | NotFound++ | src/packfile/api.c:
Fix c++ build:

Non void function need return. Also add a warning for non expected case
21:43
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:44
21:45 contingencyplan joined 21:51 slavorg left 21:54 rurban_ joined 21:56 rurban left, rurban_ is now known as rurban
dalek TT #540 reopened by doughera++: installed versions of dynext/*.so still link to -lparrot in build ... 21:59
TT #540: trac.parrot.org/parrot/ticket/540
22:03 fperrad left 22:04 theory joined
dukeleto imagines using the Bacon GC 22:08
bacek_at_work ~~ 22:24
KaeseEs, which one?
Coke, pong (8 hours later :)
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:25
Coke bacek_at_work: just wondering what was up with the big honking commit that was a merge from master to master. 22:28
makes it hard to review.
bacek_at_work Coke, I forgot to config master for automated rebase on pull.
Sorry 22:29
dalek rrot: 02ca078 | NotFound++ | src/embed/embed_private.h:
Fix most of 'might be clobbered' warnings

  '' it's normally enough just to change their scope.''
22:35
Coke NotFound: ; that url in the commit message faisl. :( 22:39
jnthn ipec faisl :) 22:40
plobsing Coke: appropriately, it goes to notfound.html
NotFound Funny, it appears exactly that way in my browser, but fails if I paste it. 22:41
Direct copy from the browser: lists.apple.com/archives/xcode-user...00050.html 22:42
Coke NotFound++ 22:46
dalek rrot: ced54a5 | NotFound++ | src/embed/api.c:
Fix remaining 'might be clobbered' warning
22:49
TT #1981 closed by NotFound++: Many new warnings like: warning: variable ‘interp’ might be clobbered by ... 23:08
TT #1981: trac.parrot.org/parrot/ticket/1981
23:08 plobsing left
dukeleto NotFound++ # nice work getting rid of the gcc warnings without tears 23:19
cotto_work NotFound++ 23:20
23:44 whiteknight left, kid51 joined 23:52 plobsing joined
dalek p-rx/nom: 2cf0a78 | jonathan++ | src/ (7 files):
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
p-rx/nom: 111559c | jonathan++ | src/metamodel/reprs/ (5 files):
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.
p-rx/nom: 155b951 | jonathan++ | src/ops/nqp.ops:
Ops for getting and binding native attrs.