|
Parrot 6.5.0 "Black-winged Lovebird" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 17 June 2014. |
|||
|
01:05
FROGGS_ joined
01:17
woosley joined
03:25
woosley joined
05:05
dalek joined
05:15
dalek joined
05:39
dalek joined
05:50
dalek joined
06:18
dalek joined
06:53
basiliscos joined
06:56
FROGGS joined
08:02
GeJ_ joined
10:12
tadzik joined,
tadzik left
12:20
Util joined
13:38
awwaiid joined
13:47
rurban joined
13:56
Chirag joined
|
|||
| Chirag | rurban: Hey! | 14:00 | |
| rurban_ | Hey | 14:02 | |
| Chirag | Are you still in Orlando? | 14:03 | |
|
14:05
FROGGS joined
|
|||
| rurban_ | No, just arrived back home in the office. Still a bit tired. | 14:05 | |
| Chirag | oh.. no problem :) | 14:06 | |
| rurban_ | I implemented some parts by myself to check performance. 4% for return and another 4% for self only. | ||
| How is your stuff going? Afraid to share it? | |||
| Chirag | No.. I committed 5 days back.. hit a blocker.. | 14:07 | |
| github.com/ZYROz/parrot/tree/ZYROz/pcc-gh1080 | |||
| rurban_ | I see, almost | 14:09 | |
| Chirag | It just took me a few hours to code for that... | ||
| rurban_ | I mean almost right :) | ||
| return is easier than the args | |||
| and the hard-coded indices 0-3 don't look right | 14:10 | ||
| Chirag | I couldn't make much sense of the small letter signatures.. | ||
| yeah the indices.. deffinitely wrong | |||
| but that was according callContext | |||
| to callContext* | |||
| Also, maybe my perl code is a little untidy.. | 14:11 | ||
| rurban_ | Your perl looks okay, just the indices look wrong. | 14:13 | |
| I'll check against mine... (I didn't push it on purpose yet :) | |||
| Chirag | Also, I haven't handled -- i, o, s | ||
| Yeah... no spoilers :D | |||
| rurban_ | i can be ignired I guess. or checked for sanity, i is for self only | 14:14 | |
| Chirag | hmm.. but I couldn't figure which call would be made in that case.. | 14:15 | |
| rurban_ | i is just a hint fpor the prev P rthat' | 14:17 | |
| s it is for self. but we already know that's it's self from $params_varargs | |||
| Chirag | ok.. so maybe it's just the indices.. | 14:19 | |
| rurban_ | I'll show you the return part: gist.github.com/rurban/0bd64ed6643ac8851212 | 14:20 | |
| Chirag | umm.. why did you put 0 for all cases? | 14:22 | |
| rurban_ | 0 is the position of the arg in the CallContext | 14:24 | |
| 0 for 1st arg or return, 1 for 2nd and so on | |||
| Chirag | I didn't get it .. i was under an impression that each type corresponds to an index --- 0 for PCC, 1 for INTEGER ..... | 14:27 | |
| rurban_ | no, the type is encoded as the VTABLE_get_${$type}_keyed_int function name | 14:29 | |
| for pmc,string,number,integer | |||
| Chirag | ok.. can you please elaborate a little on the what exactly you meant by -- position of the arg in the CallContext ?? | 14:30 | |
| rurban_ | args are stored in CallContext as simple array. 1st arg at index 0, 2nd arg at index 1, ... | 14:36 | |
| this arg is re-used also for the return value | 14:37 | ||
| kind of an arg and return values stack | |||
| so the fix is to use: $params_vararg_list[$arg_index] = VTABLE_get_${$type}_keyed_int(interp, _call_object, $arg_index); | |||
| nope: $params_vararg_list[$arg_index] = VTABLE_get_${type}_keyed_int(interp, _call_object, $arg_index); | 14:38 | ||
| type is a simple hash lookup into my $sigtype = {'P' => 'pmc', | |||
| 'S' => 'string', | |||
| 'I' => 'integer', | |||
| 'N' => 'number'}; | |||
| Chirag | my $arg_index is just a counter.. | ||
| rurban_ | yes, the n-th arg | 14:39 | |
| 1st arg from 0, 2nd from 1, ... | |||
| Chirag | I think I have tried that already .. Will try again | ||
| rurban_ | like in gist.github.com/rurban/3d7fac25d31785b472ac | 14:40 | |
| And your editor still has the wrong whitespace setttings. 4 for indent, no ending whitespace | 14:41 | ||
| Chirag | ah..didnt take care of indent.. | 14:42 | |
|
14:45
bluescreen joined
|
|||
| rurban_ | Does $params_varargs always start with a '&'? | 14:48 | |
| Chirag | I tried printing.. and it seemed like that | 14:50 | |
| rurban_ | we also get s and n sig types with stringbuilder | 15:06 | |
|
15:59
rurban1 joined
16:06
Chirag_ joined
16:10
rurban joined
|
|||
| Chirag_ | rurban: Won't "II" in fileHandle call VTABLE_set_.... twice?? | 16:47 | |
| I see you are dealing with this case separately.. just curious... | 16:48 | ||
| rurban_ | I just pass that to the old code. | ||
| it sets 2 return values | |||
| Chirag_ | yes.. | 16:49 | |
| rurban_ | It's easy to code, but I was too lazy | ||
| Chirag_ | i called it twice but it throws an error | ||
| rurban_ | See gist.github.com/rurban/0bd64ed6643...-patch-L33 | 16:50 | |
| you need to set indicesx 0 and 1 | |||
| indices | |||
| Chirag_ | ah.. got it | ||
|
16:56
FROGGS joined
|
|||
| Chirag_ | rurban: github.com/ZYROz/parrot/commit/677...66f9452f20 | 16:58 | |
| throws an error -- Cannot open FileHandle, no path | |||
| rurban_ | I think I got the same now... | 17:01 | |
| no, now I've got libicuuc.so: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8' | 17:02 | ||
| Chirag_ | with my branch? | ||
| rurban_ | yes, and some more fixes of mine | 17:03 | |
| Chirag_ | i could try handling the "II" case separately like you did? | ||
| rurban_ | I would first only optimize the common cases, not the rare ones | 17:04 | |
| It's only FileHandle.tell | 17:05 | ||
| I see, glibc conflict | 17:07 | ||
| I'll reboot | |||
| this is my current work: gist.github.com/rurban/d9f4571019b479b4b616 | 17:09 | ||
| Chirag_ | github.com/ZYROz/parrot/commit/ecf...48a12f5ca1 | 17:19 | |
| doesnt include your patch though ... | 17:20 | ||
|
17:42
rurban joined
|
|||
| rurban | rebooted | 17:43 | |
| Chirag_ | works? | ||
| rurban | nope. icu problem I guess | 17:47 | |
| I got a new backwards incompat libstdc++ | |||
| Chirag_ | github.com/ZYROz/parrot/commit/ecf...48a12f5ca1 .. but without your patch | ||
| rurban | Found the problem in my /usr/local | 17:57 | |
| $$sigtype loks wrong to me | 17:58 | ||
| ok, got it working now. the problem was a mismatch between the new system gcc-4.9 and my old gcc-4.8 env in /usr/local | 17:59 | ||
| FAIL: t/pmc/class.t 13, 23-25 | 18:03 | ||
| Chirag_ | $sigtype doesn't work .. | ||
| rurban | I see why. $sigtype->{$returns_signature} it needs to be with your version | 18:04 | |
| it's a hashref, not a hash | |||
|
18:04
rurban1 joined
|
|||
| rurban | with my other patch I only get t/pmc/class.t: 13 failing | 18:14 | |
| Chirag_ | hmm.. i still get Cannot open FileHandle, no path | ||
| rurban | looks like the return "II" issue with tell to me | 18:20 | |
| Chirag_ | but I handled that with Parrot_pcc_set_call_from_c_args | 18:24 | |
| rurban | yes, I don't see the error yet | 18:25 | |
| I see, you don't check for o yet | 18:53 | ||
| Parrot_FileHandle_nci_open needs to use the old call with o or implement optional arg handling | |||
| See gist.github.com/rurban/d9f4571019b...patch-L125 where I check for the arg adverbs c,f,l,n,o,p,s | 19:00 | ||
|
19:05
rurban1 joined
|
|||
| rurban | That's the code needed for :optional gist.github.com/rurban/8ec67d23ba5d52c08cc6 | 19:09 | |
| Chirag_ | hmm.. return is not the problem then .. will do | 19:25 | |
| I will try to implement optional-handling by tomorrow... | 19:30 | ||
| rurban | optional is a bit tricky... | 19:33 | |
| I implemented it now, but it's not quite correct yet | 19:55 | ||
|
20:06
rurban1 joined
20:49
Coke joined
21:12
bluescreen_ joined
|
|||