Perl 6 - the future is here, just unevenly distributed

IRC log for #parrot, 2014-05-29

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced