|
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. |
|||
|
04:21
rurban joined
07:12
rurban joined,
Hunger joined
07:20
FROGGS joined
07:25
rurban joined
08:17
basiliscos joined
08:26
rurban joined
08:55
diginet joined
09:27
rurban joined
10:28
rurban joined
11:28
rurban joined
12:09
ingy joined
12:10
rblackwe joined
12:29
rurban joined
13:17
Chirag joined
13:30
rurban joined
13:42
rurban joined
14:11
bighugedog joined
14:45
rurban joined
15:25
bluescreen joined
16:32
Hunger joined
16:37
basiliscos joined
|
|||
| Chirag | rurban: Hey! | 17:53 | |
| I get this warning -> "Did not SHIM UNUSED(a) in Integer METHOD multi_i_add_Complex" | |||
| But MULTI void i_add(Complex value) in integer.pmc already has UNUSED(a) | |||
|
18:18
davidfetter joined
|
|||
| FROGGS | perhaps you have to use the SHIM macro also? (Note: I'm just guessing wildly here) | 18:20 | |
|
18:20
particle joined
|
|||
| Chirag | doesnt UNUSED convert to SHIM? | 18:20 | |
| when we do a make *.pmc the arguments definitely convert to SHIM(type arg) in the .c file | 18:21 | ||
| but here the variable 'a' is declared in the body and .c doesnt have a SHIM(a) .. so not sure how to fix this.. | 18:23 | ||
| rurban | lemma check. I think I remember multi_i_add_Complex is a special-case | 18:32 | |
| Ok. SHIM is only for unused args. When an arg is declared as UNUSED pmc2c tries to SHIM it automatically. But not in this case. This is a good bug found by pmc2c | 18:38 | ||
| Chirag | we cant SHIM manually in a pmc file? | 18:40 | |
| rurban | we can. this is the fix: gist.github.com/rurban/dc54228fcb521009ff7d | ||
| Chirag | dummy use for a | 18:42 | |
| why call another function, can we just not do a + 0 ? | 18:43 | ||
| rurban | no. we need to upgrade to int to complex and set the new number then | 18:45 | |
| and the setter needs a WB | 18:46 | ||
| Chirag | but 'a + VTABLE_get_number(INTERP, value));' is not given to any variable .. so what is this statement achieving? | 18:48 | |
| rurban | VTABLE_set_number_native SELF is the setter | ||
| FROGGS | VTABLE_set_number_native() gets it | ||
| Chirag | oh.. my bad.. its changed in the function call .. didnt see the '-' sign next to it | 18:50 | |
| rurban | but only the real part is changed, the imaginary part is kep from the arg value | ||
| that's why we can call set_number_native. if the imag part needs to be changed the Complex setter method would have been better | |||
| Chirag | ok.. got it | 18:52 | |
| rurban: When you say I have to add RETURN() .. do I do it for the methods that previously had no_wb or the ones to which I have added WBs explicitly? or both? | 18:58 | ||
| dalek | rrot: 2551577 | rurban++ | src/pmc/integer.pmc: [pmc] minor optimization in Integer_multi_i_add_Complex Deteced by Chirag++ and pmc2c. Do not compute SELF.get_integer() twice and remove UNSUED(a). Do the same for the default case below. |
18:59 | |
| rurban | RETURN is needed for all methods which need a WB, with more than 1 return. | 19:00 | |
| :no_wb does not need a WB, so RETURN is not needed | |||
| But for debugging we should remove most no_wb to find which WBs are missing | 19:01 | ||
| Chirag | i removed all | ||
| rurban | the new pcm2c can add WBs automatically for 0 or 1 return statement | ||
| Chirag | so far i removed all no_wb attrib | 19:02 | |
| also finished checking UNUSED() for all pmc files | |||
| didnt come across a case where it was added before the declaration | 19:03 | ||
| rurban_ | and now the question is. are the automatically added WBs correct? and does it pass the tests? | 19:04 | |
| Chirag | no diff .. same tests fail | 19:05 | |
| rurban_ | I could have just removed the no_wb setter from pmc2c :) | ||
| hmm, so the manual WBs are wrong | |||
| Chirag | i used sed | ||
| rurban_ | Thats' at least a good finding | ||
| Inspecting the manual WBs should not be that hard. That are not that many | 19:06 | ||
| Chirag | yes.. | 19:07 | |
| but the manual WBs were straight forward .. the macros always had the WB | 19:08 | ||
| rurban_ | you can compare the working old version (master) against the new one (the C files) | 19:09 | |
| Chirag | yes.. I will do that | ||
| rurban_ | It would be nice if the GC could print the offending pmc type with some -D flag | ||
| dalek | rrot/rurban/pmc2c_orig: b3994f9 | rurban++ | / (51 files): [pmc2c] inline gc write barriers into vtable methods :no_wb detection of :manual_wb, allow RETURN(decl var) also for VTABLE methods add_write_barrier() now calls Parrot::Pmc2c::PCCMETHOD::rewrite_RETURNS. Also add automatic WB for 0 or 1 return statements in the method body. Other need either a RETURN or :manual_wb or :no_wb annotations. Set manual_wb for :no_wb and PARROT_GC_WRITE_BARRIER in --dump Detect it now earlier, in the parser Missing write barriers typically cause the following errors: t/examples/shootout.t: 16 examples/shootout/regexdna.pir SEGV t/op/gc.t t/pmc/*.t |
19:16 | |
| rrot/rurban/pmc2c_orig: 8080670 | rurban++ | src/pmc/ (2 files): [pmc] partially use new WB markers |
|||
| rrot/rurban/pmc2c_orig: 3ec013e | ZYROz++ | / (2 files): [pmc] GSOC start. arrayiterator :no_wb, removed unnecessary :manual_wb Start of GSOC 2014 work. Task 1: improve GC write barriers. See GH issue #1069 |
|||
| rrot/rurban/pmc2c_orig: 3291082 | ZYROz++ | src/pmc/callcontext.pmc: [pmc] callcontext: manual WBs for shift_pmc & shift_string |
|||
| rrot/rurban/pmc2c_orig: 3414add | ZYROz++ | src/pmc/ (2 files): [pmc] key, task: manual WBs for shift_*, pop_* |
|||
| rrot/rurban/pmc2c_orig: c4d87f4 | ZYROz++ | src/pmc/ (2 files): [pmc] callcontext :no_wb and :manual_wb |
|||
| rrot/rurban/pmc2c_orig: 1d49760 | ZYROz++ | src/pmc/key.pmc: [pmc] key WBs |
|||
| rrot/rurban/pmc2c_orig: c84f90d | ZYROz++ | src/pmc/ (4 files): [pmc] arrayiterator, callcontext, key, task: WBs |
19:17 | ||
| rrot/rurban/pmc2c_orig: 19f6820 | ZYROz++ | src/pmc/ (3 files): [pmc] capture, HashIterator, ImageIoThaw: WBs |
|||
| rrot/rurban/pmc2c_orig: 8936d73 | ZYROz++ | src/pmc/ (5 files): [pmc] default, object, orderedHashIterator, pmcList, resizablePmcArray: WBs |
|||
| rrot/rurban/pmc2c_orig: 957a20b | ZYROz++ | src/pmc/ (8 files): [pmc] fix some mixed c99 declarations with generated WBs DEBUGGED - ISO C90 forbids mixed declarations = Solved by adding WB after declarations ; expected declaration specifiers before ā:ā token Solved by removing :no_wb attributes for the flagged functions |
|||
| rrot/rurban/pmc2c_orig: dd93d75 | ZYROz++ | src/pmc/task.pmc: [pmc] task: WB related errors |
|||
| rrot/rurban/pmc2c_orig: ac58f97 | rurban++ | src/pmc/fixed (2 files): [pmc] add RETURN and WB attrs to fixedintegerarray, fixedstringarray |
|||
| parrot/rurban/pmc2c_orig: d946dcd | rurban++ | src/pmc/callcontext.pmc: | |||
| parrot/rurban/pmc2c_orig: [pmc] re-add some WBs to callcontext | |||
|
19:18
dalek joined
|
|||
| rurban_ | that's my new rebased version | 19:20 | |
| Chirag | i ll rebase to it | 19:21 | |
| rurban_ | I disabled the no_wb setter and testing now also | ||
| Chirag | i did make one change in key.pmc .. added a UNUSED(INTERP) to get rid of a warning | ||
| rurban_ | this is harmless | 19:22 | |
| Chirag | 'Useless use of SHIM UNUSED(INTERP) in *' .. is it a concern? | 19:23 | |
| rurban_ | confirmed your result. it's one of the manual_wb's | ||
| where? | 19:24 | ||
|
19:24
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1030 (master - 2551577 : Reini Urban): The build was broken. | 19:24 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/c...515777ac22 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/26325955 | |||
|
19:24
travis-ci left
|
|||
| Chirag | i guess everytime we call UNUSED() | 19:24 | |
| for instance | |||
| /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imccompiler.pmc | 19:25 | ||
| Useless use of SHIM UNUSED(INTERP) in IMCCompiler METHOD destroy: kept for write barrier | |||
| Useless use of SHIM UNUSED(INTERP) in IMCCompiler METHOD get_integer: kept for write barrier | |||
| Useless use of SHIM UNUSED(INTERP) in IMCCompiler METHOD get_pointer: kept for write barrier | |||
| rurban_ | This one? Useless use of SHIM UNUSED($key) in $pmcname METHOD $meth: kept for write barrier | ||
| Chirag | yes | ||
| rurban_ | Ah, I disabled these. Can be ignored for now | ||
| Chirag | ok.. | ||
| which manual_wb? | |||
| rurban_ | Should be commenrted out in my branch already | ||
| Chirag | i uncommented all warnings | 19:26 | |
| rurban_ | which manual_wb? yes, that's the question. | ||
| Chirag | ok :) | ||
| rurban_ | My guess is callcontext | 19:27 | |
| Chirag | i will check | 19:28 | |
| how to not solve conflicts and just blindly rebase to your branch? | 19:30 | ||
| rurban_ | you can save your patches, reset --hard to mine, and restore your patches | 19:32 | |
| g fetch origin; g d > xx.p; g rh rurban/pmc2c_orig; patch < xx.p | |||
| if you didn't commit anything new | 19:33 | ||
| alias g=git | |||
| and given several other .gitconfig aliases | |||
| Chirag | saved using git stash | ||
| rurban_ | d for diff, rh for reset --hard | ||
| Chirag | rurban: you pushed your commits now right? latest commit still stuck on Wednesday.. | 19:43 | |
|
19:49
cooper joined
|
|||
| rurban_ | yes, it appeared here in IRC | 20:02 | |
| for you it's probably g fetch upstream | 20:10 | ||
| or g fetch --all | |||
| I found a problem with RETURN(PMC *const ret) and RETURN(INTVAL pos<<32) | 20:11 | ||
| Oops, my previous integer change broke it | 20:23 | ||
| Chirag | oh.. actually github still shows the older commit as the latest | 20:31 | |
| dalek | rrot: 9be3ff0 | rurban++ | src/pmc/integer.pmc: [pmc] oops, undo the previous optimization it broke the integer test 39 add complex number. Just remove the first duplicate SELF.get_integer call, and UNUSED(a) |
20:39 | |
| rurban_ | github.com/parrot/parrot/commits/r...pmc2c_orig (rebased) and github.com/parrot/parrot/commits/master all look good | ||
| dalek | rrot: 2a3e888 | rurban++ | compilers/imcc/imclexer.c: [imcc] regenerated imclexer.c with latest flex use yy_size_t len instead of int |
20:50 | |
| rrot: ae981f4 | rurban++ | t/native_pbc/ (16 files): [native_pbc] update fingerprints to unTODO tests perl tools/dev/pbc_header.pl --update-fingerprint t/native_pbc/*.pbc as per release_manager_guide |
|||
|
21:06
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1031 (master - 9be3ff0 : Reini Urban): The build was fixed. | 21:06 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/2...e3ff09dd7c | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/26334067 | |||
|
21:06
travis-ci left
|
|||
| rurban_ | Working on better WB debugging when it fails inside the GC | 21:26 | |
|
21:33
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1032 (master - ae981f4 : Reini Urban): The build was fixed. | 21:33 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/9...981f454332 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/26335095 | |||
|
21:33
travis-ci left
21:47
bluescreen_ joined
|
|||
| rurban_ | Aargh, all the WBs were wrong | 22:20 | |
|
22:33
rurban joined
|
|||
| rurban_ | whow. tools/dev/vgp t/op/gc.t is a mess | 23:01 | |
|
23:36
rurban joined
|
|||