|
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:22
rurban joined
00:23
rurban1 joined
01:25
rurban joined
01:26
FROGGS__ joined
02:26
rurban joined
02:28
rurban1 joined
02:31
rurban2 joined
03:37
Timbus joined
05:31
woosley joined
08:53
basiliscos joined
09:47
Psyche^ joined
09:55
Timbus joined
11:03
FROGGS__ joined
11:36
FROGGS__ joined
12:02
autark joined
12:43
ivan joined
13:23
rurban joined
|
|||
| dalek | Heuristic branch merge: pushed 25 commits to parrot/rurban/pmc2c_orig2-gh1069 by rurban | 13:28 | |
| rurban | merged your new rework, ended up empty. Still the one remaining gc.t bug | 13:29 | |
|
14:14
Chirag joined
14:52
Khisanth joined
14:54
rurban joined
|
|||
| Chirag | rurban : So I tried removing "manual_wb" and "no_wb" but that did not change anything... | 14:59 | |
| So since gc.t threw an error -- "set_attr_str() not implemented in class 'HashIterator' " .. I was wondering if WB is not the problem | 15:00 | ||
| rurban_ | I'm just annotating the WB in the GC to see which pmc exactly is the causing the problem | 15:43 | |
| Chirag | hmm.. is it required for HashIterator to have set_attr_str() ? | 15:46 | |
| rurban_ | Looks in master | 15:53 | |
| look in master | |||
| no, hashiters have no string repr for the attrs | 15:55 | ||
| Chirag | hmm.. | 15:58 | |
| rurban_ | But I get similar wrong pmc types now with your latest change | 15:59 | |
| Chirag | let me try with the commit before I did anything .. and step by step check each commit | 16:00 | |
| rurban_ | I get get_repr() not implemented in class 'CallContext' | ||
| Chirag | without making any modifications? | 16:01 | |
| rurban_ | Just a debug printf in gc_gms_write_barrier | 16:03 | |
| Oh yeah, my fault | 16:04 | ||
| Chirag | ? | 16:05 | |
| rurban_ | found my bug. got now all the PMC types being write barriered | 16:07 | |
| Chirag | what was it? | 16:09 | |
| rurban_ | #ifdef DEBUG_GC_WB | 16:18 | |
| fprintf(stderr, "WB pmc %-20s, gen %ld at %p - %p\\n", | |||
| VTABLE_get_string(interp, pmc)->strstart, gen, pmc, item->ptr); | |||
| #endif | |||
| I used get_repr before | |||
| but not all pmc's have a repr | 16:19 | ||
| Chirag | oh .. I thought you found the WB bug .. :D | 16:32 | |
| btw I tried gc.t on commit "[codingstd] fix trailing whitespace" .. still the same error | 16:34 | ||
| rurban_ | no, still fixing GC debugging. -DMEMORY_DEBUG is broken for GMS | 16:36 | |
| But got it now, I think | 16:37 | ||
|
16:40
FROGGS joined
|
|||
| rurban_ | This needs to be done anyway. the new GC never had a proper checker | 16:44 | |
| Chirag | ohk.. | 16:47 | |
| rurban_ | MultiSub is my candidate | 17:04 | |
| Chirag | invoke doesnt require a WB right? | 17:07 | |
| rurban_ | wait a sec, got something better | 17:10 | |
| ResizableIntegerArray is not dirty | 17:11 | ||
| Chirag | set_integer_native .. the first if block doesnt have a WB | 17:20 | |
| rurban_ | right | 17:23 | |
| we should just remove the manual_wb the WBs and the return | 17:25 | ||
| no, still the same bug | 17:27 | ||
| Chirag | yeah.. me too | 17:28 | |
| rurban_ | I'll push my gc debugging fixes now | ||
| I'll sanity check master before. Maybe we had a GC bug before already | 17:33 | ||
| master is fine, even with the new GC sanity check code, so it's our new WB code | 17:35 | ||
| Chirag | hmm | ||
| rurban_ | I only get github.com/parrot/parrot/issues/1067 with valgrind | 17:46 | |
| Chirag | i didnt understand this.. | 17:48 | |
| rurban_ | no prob | 17:51 | |
| Chirag | so now how should I go about finding the wrong WBs? | 17:58 | |
| rurban_ | wait a sec. I need to fulltest it before I can commit it to master | 18:03 | |
| Chirag | ok | ||
|
18:05
bluescreen joined
|
|||
| dalek | rrot/rurban/gms_debug-gh1073: 13ba440 | rurban++ | / (3 files): [gc] add MEMORY_DEBUG support to the GMS gc fix and enable -DMEMORY_DEBUG for the GMS gc, add DETAIL_MEMORY_DEBUG lines for all sanity checked PMCs, and add a single MEMORY_DEBUG line when write_barrier'ing a PMC we never caught up with the change from the List_Item_Header iterator to POINTER_ARRAY_ITER. Fixes GH issue #1073 |
18:06 | |
| rurban_ | So I got a GC WB pmc CallContext gen 2 at 0x709b10 - 0x7abeb0 and a GC WB pmc ResizablePMCArray gen 2 at 0x787410 - 0x7ac408 before the crash | 18:19 | |
| found a bug in pmc2c for single return | 18:32 | ||
| Chirag | a pm file? | ||
| rurban_ | when we use RETURN we must not use :manual_wb, :manual_wb means that no WB will be added, even not in a RETURN | 18:33 | |
| for a lowercase return value; the WB will be added after the return, not before | 18:34 | ||
| a single lowercase return value | |||
| Chirag | ah.. so that never gets WB-ed | 18:36 | |
| cannot find anything wrong with CallContext | 18:38 | ||
| set_integer_native is wrong for ResizablePMCArray | 18:39 | ||
| rurban_ | see perl -ne'BEGIN{undef $/} print "$ARGV:$. $1\\n" if /(\\s+return .*;\\n\\s+PARROT_GC_WRITE_BARRIE)/' src/pmc/*.c | ||
| Chirag | should I manually add them? | 18:41 | |
| rurban_ | First I'm fixing pmc2c | 18:47 | |
| hmm, destroy should be :write I think | 18:59 | ||
| yes, this was it. gc.t passes now | 19:03 | ||
| nice | 19:04 | ||
| Chirag | which destroy.. the one i mentioned yesterday? | ||
| ptrobj.pmc? | 19:05 | ||
| rurban_ | I added a manual WB to parrotlibrary.destroy | 19:08 | |
| ptrobj was a special case already before | |||
| running fulltest now | |||
| Chirag | ok.. fingers crossed :D | 19:09 | |
| rurban_ | I have to look over the RETURN also once more, that we have no :manual_wb's there | ||
| and pmc2c also | |||
| but looks much better now | 19:10 | ||
| Chirag | hmm.. why did u have to put a manual_wb in destroy.. wasnt it getting added automatically by pmc2c | 19:11 | |
| rurban_ | nope, it has no :write tag | 19:12 | |
| I think they should have one | 19:13 | ||
| when someone calls detroy manually it might be helpful. if they are destroyed automatically they are already added to the root, so no WB needed | 19:14 | ||
| all the stress tests also work now | |||
| pushing soon, time to benchmark and celebrate part 1 | 19:15 | ||
| Chirag | yay! I guess :D | ||
| rurban_ | but the bug was in resizablepmcarray, as the new MEMORY_DEBUG said | 19:16 | |
| happy | |||
| Chirag | I will push my two changes now | ||
| Also, if you could please double check these: | 19:19 | ||
| 1. role.pmc METHOD add_method METHOD remove_method manual?? | |||
| 2. scalar.pmc assign_pmc no_wb?? | |||
| dalek | rrot: 9240d3a | rurban++ | / (2 files): [gc] add MEMORY_DEBUG support to the GMS gc fix and enable -DMEMORY_DEBUG for the GMS gc, add DETAIL_MEMORY_DEBUG lines for all sanity checked PMCs, and add a single MEMORY_DEBUG line when write_barrier'ing a PMC we never caught up with the change from the List_Item_Header iterator to POINTER_ARRAY_ITER. |
19:31 | |
| Heuristic branch merge: pushed 43 commits to parrot/rurban/pmc2c_orig2-gh1069 by rurban | |||
| rurban_ | oops, didn't want to push to master now. have to check if this was thr right one | ||
| rurban/pmc2c_orig2-gh1069 is good | 19:33 | ||
| dalek | rrot: e4e45e9 | rurban++ | / (2 files): Revert "[gc] add MEMORY_DEBUG support to the GMS gc" This reverts commit 9240d3a60083aac90ccf8fc83cab8a84cfbe73b8. This has some codingstd vialations. I'll rather add rurban/gms_debug-gh1073 later |
19:34 | |
| rurban_ | running the benchmarks now | 19:38 | |
| Chirag | great..I guess u missed my last message | 19:40 | |
| rurban_ | oops the new code is slower. less calls but many more branches | 19:49 | |
| Probably some superfluous WBs still | 19:50 | ||
|
19:54
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1034 (master - 9240d3a : Reini Urban): The build passed. | 19:54 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/8...40d3a60083 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/27159328 | |||
|
19:54
travis-ci left
|
|||
| Chirag | my message is lost in the dalek notifications .. | 19:55 | |
| #repost | |||
| if you could please double check these: | |||
| 1. role.pmc METHOD add_method METHOD remove_method manual?? | |||
| 2. scalar.pmc assign_pmc no_wb?? | |||
|
19:55
FROGGS joined
|
|||
| rurban_ | Our benchmark times are good (better than before) but the WB branch is still slower | 19:57 | |
| more instructions, more branches, more cycles | |||
| Chirag | hmm.. | 19:58 | |
| rurban_ | One WB too much is about 0.7 sec, This is a lot | 20:01 | |
| Found one wrong one, looking for more | 20:02 | ||
| Chirag | rurban_ : u saw my message right? | ||
|
20:07
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1035 (master - e4e45e9 : Reini Urban): The build passed. | 20:07 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/9...e45e931736 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/27159503 | |||
|
20:07
travis-ci left
|
|||
| dalek | rrot/rurban/pmc2c_orig2-gh1069: 61d4a19 | rurban++ | src/pmc/ (3 files): [pmc] some tiny WB optimizations 0.7sec faster benchmark. remove superfluous WB in class.is_equal add one to class.resolve_method in the write case. remove WB in orderedhashiterator.shift_string, already done in shift_pmc() |
20:32 | |
| rurban_ | Role.add_methods just WBs the self->role->methods array, but self itself not. I think self should also be WB here. same for the other role methods on some attrs | 20:57 | |
| scalar has indeed too many | 21:00 | ||
| dalek | rrot/rurban/pmc2c_orig2-gh1069: 2a10a6f | rurban++ | src/pmc/scalar.pmc: [pmc] some tiny WB optimizations in scalar.assign_pmc no measurable impact in the benchmarks |
21:11 | |
|
21:27
rurban joined
|
|||
| dalek | rrot: 13ba440 | rurban++ | / (3 files): [gc] add MEMORY_DEBUG support to the GMS gc fix and enable -DMEMORY_DEBUG for the GMS gc, add DETAIL_MEMORY_DEBUG lines for all sanity checked PMCs, and add a single MEMORY_DEBUG line when write_barrier'ing a PMC we never caught up with the change from the List_Item_Header iterator to POINTER_ARRAY_ITER. Fixes GH issue #1073 |
21:35 | |
| rrot: 4e2fadb | rurban++ | / (3 files): Merge branch 'rurban/gms_debug-gh1073' |
|||
|
21:53
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#1036 (master - 4e2fadb : Reini Urban): The build passed. | 21:53 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/e...2fadb6027f | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/27169947 | |||
|
21:53
travis-ci left
22:11
Timbus joined
|
|||
| rurban_ | wrote the docs also now | 22:12 | |
| dalek | rrot/rurban/pmc2c_orig2-gh1069: bfb5f4c | rurban++ | / (3 files): [docs] document pmc2c and the new write barrier attributes |
22:42 | |
|
23:12
basiliscos joined
|
|||