|
Parrot 6.4.0 "Double-eyed Fig Parrot" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 25 May 2014. |
|||
|
00:46
rurban joined
01:24
sorear joined
01:28
FROGGS_ joined
01:50
rurban joined
02:05
rurban joined
03:06
rurban joined
03:47
rurban joined
05:56
rurban joined
06:52
FROGGS joined
06:57
rurban joined
07:57
rurban joined
08:12
basiliscos joined
08:58
rurban joined
09:47
Psyche^ joined
09:59
rurban joined
10:01
rurban1 joined
11:01
rurban joined
12:02
rurban joined
12:28
rurban joined
13:25
he joined
13:33
Chirag joined
|
|||
| Chirag | rurban: Hey.. I have got some questions.. For instance, in class.pmc | 13:34 | |
| 1. static STRING * make_class_name() has a manual WB .. but it is not a VTABLE method.. Don't we just have to worry about VTABLE methods? | 13:35 | ||
| 2. In VTABLE INTVAL isa_pmc(PMC *lookup) no_wb has been set but it has PARROT_GC_WRITE_BARRIER(INTERP, SELF); .. Shouldn't it be manual_wb ? | 13:39 | ||
| 3. There are many VTABLE methods that do not have either no_wb or manual_wb .. They need to have one of these right? | 13:41 | ||
| 4. METHOD get_namespace() has :no_wb but it has RETURN(PMC *ret_namespace); ... So it should have manual_wb ? | 13:43 | ||
|
13:58
rurban joined
|
|||
| Chirag | rurban: Hey! | 14:06 | |
| rurban_ | Hi | 14:08 | |
| just looking at class | |||
| Chirag | I posted some questions.. | ||
| rurban_ | yes, I saw. class.pmc is still wrong. yes | 14:09 | |
| Chirag | lots of files are inconsistent wrt the issue | 14:10 | |
| rurban_ | can you make a list of problematic pmc names? | 14:13 | |
| Chirag | yeah sure.. | ||
| rurban_ | We still don't have good enough diagnostics | ||
| pmc2c should be better in checking inconsistencies | 14:14 | ||
| Chirag | I was thinking of changing class.pmc and capture.pmc based on my understanding .. maybe you can then double-check if I am doing it right.. then I will change the remaining accordingly | ||
| rurban_ | ad 1. no. this is a helper with a WB. good | 14:15 | |
| ad 2. yes, fixed | |||
| ad 3. without means pmc2c adds a WB (writes to SELF) | |||
| METHOD get_namespace() is a method. so we must use RETURN here | 14:16 | ||
| see how it is compiled | |||
| Chirag | sure! | 14:17 | |
| rurban_ | => Parrot_Class_nci_get_namespace | ||
| Chirag | but RETURN doesnt necessarily add a WB? | ||
| rurban_ | did you see my benchmarks? | 14:18 | |
| Chirag | yes | ||
| 2.46% | 14:19 | ||
| rurban_ | not big, but better than anything before in the last years | ||
| the sig stuff will be better | |||
| Chirag | yes.. I saw parrot 2.* had a timing of 8s | ||
| rurban_ | RETURN is only need for the nci sigs here | 14:20 | |
| the sig need to know the result decl and name | |||
| I really should write down the WB rules now | 14:22 | ||
| Chirag | different from ticket#1069? | ||
| rurban_ | uuh, my coffee has old milk... | ||
| no, same as in the ticket. but in an offical pod | |||
| Chirag | ohk.. | 14:23 | |
| rurban_ | in docs/ | ||
| Chirag | so should I make a list first or change 1-2 pmc files and run it by you? | ||
| rurban_ | I already fixed class. you can started fixing more if you find something. | 14:24 | |
| I also need to extend pmc2c and fix the 2 remaining bugs | |||
| Chirag | alright.. and I will just touch VTABLE methods? not static and METHOD for now? | 14:26 | |
| dalek | rrot/rurban/pmc2c_orig2: 17396b2 | rurban++ | src/pmc/class.pmc: [pmc] fix class WBs, detected by ZYROz isa_pmc, freeze have a manual WBs thawfinish, remove_attribute indirectly via build_attrib_index name needs one for the write case |
14:27 | |
| rurban_ | static no, method yes. but ask first | ||
| Chirag | ok.. | 14:28 | |
| rurban_ | with static it's a only a performance issue. call it 1x or 2x | ||
| a GC is quite slow | |||
| dynpmc's are also not checked yet. but should be fine as WB are added everywhere if no annotated otherwise | 14:30 | ||
| but the biggest regression so far is del_namespace (./parrot t/pmc/namespace-old_27.pir) | 14:34 | ||
| Chirag | unable to run t/pmc/namespace-old.t | 14:39 | |
| rurban_ | first `prove t/pmc/namespace-old.t` | 14:44 | |
| which creates the interim pirs | 14:45 | ||
| or are you segv earlier? | |||
| oh, simple stupid error in del_namespace: if (PMC_IS_NULL(ns)} RETURN(void); | 14:52 | ||
| needs a {} around | |||
| hmm, looks like I need to fix that in the compiler. grep -B1 'RETURN(' src/pmc/*.pmc|grep if has too many such cases | 14:54 | ||
| grep -B1 'RETURN(' src/pmc/*.pmc|grep -A1 "if "|grep -v '{' | 14:55 | ||
| Chirag | gives me error:imcc:syntax error, unexpected IDENTIFIER, expecting $end ('use') | 15:00 | |
| rurban_ | parrot for pir file, perl for perl files | 15:01 | |
| prove for both | |||
| Chirag | oh yes | ||
| 27 - 20 fail | |||
| 30* | |||
| rurban_ | just fixed it now (I hope) | 15:02 | |
| yes, this fixed it | |||
| Chirag | out of curiosity, what's the timing for moarVM? | 15:07 | |
| rurban_ | a bit faster, I guess. | 15:08 | |
| around our 2.8.0 timings I suppose. | 15:09 | ||
| they use a better de-serializer for pmc's, and a proper object system | 15:10 | ||
| but no jit | |||
| Chirag | we need to be like 2s faster form current at least | 15:11 | |
| rurban_ | yes, but not with this project | ||
| a generic method call is way too slow now | 15:12 | ||
| has nothing to do with sigs | |||
| sigs will get max. 5-10% | 15:13 | ||
| Chirag | hmm.. | ||
| rurban_ | whiteknight wrote a blogpost about the method slowness | ||
| Chirag | i rad that a while back | 15:14 | |
| read* | |||
| rurban_ | ok, so now only t/op/gc.t fails. one more regression to find | 15:17 | |
| dalek | rrot/rurban/pmc2c_orig2: 3aaa825 | rurban++ | lib/Parrot/Pmc2c/PCCMETHOD.pm: [pmc2c] fix del_namespace. require {} around WB return there exist many methods without proper {} blocks for RETURN(). grep -B1 "RETURN(" src/pmc/*.pmc|grep -A1 "if "|grep -v "{" such as: src/pmc/namespace.pmc- if (PMC_IS_NULL(ns)) src/pmc/namespace.pmc: RETURN(void); |
15:34 | |
| rrot/rurban/pmc2c_orig2: 3009168 | rurban++ | src/pmc/ (7 files): [codingstd] fix trailing whitespace and remove one too much WB in pmclist.shift_pmc |
|||
|
16:07
basiliscos joined
16:10
FROGGS joined
17:14
rurban joined
17:16
rurban joined
|
|||
| dalek | rrot/rurban/pmc2c_orig2: 6f2238c | rurban++ | .gitignore: .gitignore: add local .perldb helper so that git clean -dxf will not wipe it. |
17:29 | |
| Chirag | rurban: vtable.tbl doesn't have a :write for VTABLE void destroy() .. I am assuming it doesnt require a WB .. | 17:44 | |
| 2. also, Removing WB in clone() for capture.pmc | 17:55 | ||
|
18:24
rurban joined
|
|||
| Chirag | rurban: If a method in vtable.tbl does not have :write .. does that imply that it should have a :no_wb ? | 19:52 | |
| rurban_ | yes | 20:23 | |
| :write is a hint | |||
| Chirarg: Don't remove previously existing WBs (capture.clone) . They were added there manually | 20:25 | ||
| vtable.tbl :write only applies to SELF, not to another pmc (here dest) | 20:27 | ||
|
20:30
rurban joined
22:20
basiliscos joined
23:05
rurban joined
23:07
rurban1 joined
23:35
rurban joined
23:47
rurban joined
|
|||