Perl 6 - the future is here, just unevenly distributed

IRC log for #parrot, 2014-04-24

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:07 rurban1 joined #parrot
03:16 Khisanth joined #parrot
03:50 webart joined #parrot
03:50 webart left #parrot
04:31 Psyche^ joined #parrot
07:05 FROGGS joined #parrot
07:56 wagle joined #parrot
08:25 basiliscos joined #parrot
08:40 Liz joined #parrot
08:40 woolfy_ joined #parrot
13:06 webart joined #parrot
13:06 webart left #parrot
14:28 bluescreen joined #parrot
16:19 cxreg joined #parrot
16:32 FROGGS joined #parrot
16:35 woosley joined #parrot
18:11 Chirag joined #parrot
18:32 Chirag rurban: Hey! I dont quite understand the role of RETURN() over return() and how it automatically adds WB .. Also how to classify a method as PCCMETHOD ?
18:33 rurban The compiler does check for RETURN in PCCMETHOD's currently, and the new version in all methods
18:33 rurban We'll use this to add the WB there
18:33 rurban Did you get my mail today? I cannot see it anymore
18:33 Chirag yes I got that
18:36 Chirag I read it but I didnt clearly understand the part on the use of RETURN
18:36 rurban PCCMETHOD's are special methods called via nci. see eg. src/pmc/role.c
18:38 rurban They all have already the WB added automatically
18:38 rurban we miss the WB in our VTABLE methods
18:40 rurban ok, eg. in role.pmc get_string
18:41 rurban return role->name; => RETURN(STRING *name);
18:42 rurban or better as in METHOD name with an intermediate ret_name
18:44 rurban you can see in role.c how the compiler adds the METHOD params intro, adds the body, and expands the RETURN with a WB
18:44 rurban For a VTABLE we need no intro param handling, but we still need to add the WB
18:46 rurban And there you can also see why our METHOD calls are so slow. The compiler could expand Parrot_pcc_fill_params_from_c_args(interp, _call_object, "PiSoIp", &_self, &name, &got_name); much more efficiently
18:47 rurban Same for the return preparation Parrot_pcc_set_call_from_c_args(interp, _call_object,  "S", (STRING*)ret_name);
18:48 rurban nci is our FFI (native calling convention) "foreign function interface"
18:49 rurban call from pcc (parrot calling convention, CPS style) to c
18:49 FROGGS (nci == native calling interface)
18:49 rurban yes
18:51 Chirag That expansion which makes it slower happens when we use RETURN ?
18:52 rurban no pcc_fill_params_from_c_args is too slow. but this part of the summer project, not now
18:52 rurban RETURNM is just handy to use, to be able get WB's getting added automatically
18:53 rurban Parrot_pcc_set_call_from_c_args is not getting added in a RETURN with VTABLE, only for PCCMETHODs
18:56 Chirag i didnt understand this last bit .. why not?
19:00 rurban because it would be wrong to add Parrot_pcc_set_call_from_c_args for VTABLE methods
20:37 Chirag rurban: I changed both ArrayIterator as well as CallContext .. but those TODO warnings still persist .. are these still false warnings?
22:27 rurban Chirag: yes

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

Parrot | source cross referenced