Camelia, the Perl 6 bug

IRC log for #parrot, 2012-03-11

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:27 wagle joined #parrot
00:40 wagle joined #parrot
01:53 elmex joined #parrot
02:38 whiteknight I'm getting pretty close with this branch
02:39 whiteknight load_bytecode_s and load_language_s opcodes are dead and gone, almost all of the library is updated
02:39 whiteknight src/packfile/api.c is much cleaner and I have more to do
02:39 whiteknight but all the cleaning doesn't need to happen in this branch
02:42 PacoAir joined #parrot
02:55 whiteknight one thing I'm noticing is that dependency information for the files in runtime/parrot/library/* is completely missing from the makefile
02:55 whiteknight Because there's the implicit assumption that load_bytecode was going to compile a .pir file if it can't find the .pbc
02:56 whiteknight which means a single file may be compiled multiple times during the build
03:27 whiteknight We need to go through and review some of the crap we have in runtime/parrot/library
03:27 whiteknight some of it probably needs to be jettisoned, much of it should be rewritten in NQP or Winxed
03:42 dalek parrot/m0: 926ab69 | dukeleto++ | / (2 files):
03:42 dalek parrot/m0: Migrate m0 makefile rules to the main makefile
03:42 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/926ab69ddd
03:55 aloha (parrot/parrot) Issues opened : 733 (M0 C implementation fails on t/m0/m0_integration.t) by leto : https://github.com/parrot/parrot/issues/733
04:17 travis-ci joined #parrot
04:17 travis-ci [travis-ci] parrot/parrot#138 (m0 - 926ab69 : Jonathan "Duke" Leto): The build passed.
04:17 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/67f9c93...926ab69
04:17 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/837570
04:17 travis-ci left #parrot
04:17 benabik whiteknight++ # cleaning the packfile API
04:25 plobsing joined #parrot
04:25 dngor joined #parrot
04:33 dukeleto ~~
05:14 dngor joined #parrot
06:27 dalek parrot.github.com: 3f4c2a7 | alvis++ | README_release.pod:
06:27 dalek parrot.github.com: Some corrections to the text.
06:27 dalek parrot.github.com: review: https://github.com/parrot/parro​t.github.com/commit/3f4c2a79c5
06:27 dalek parrot.github.com: 6e9cbe2 | alvis++ | README_release.pod:
06:27 dalek parrot.github.com: Move README_release.pod (and rename it to 'release_parrot_github_guide.pod') to the parrot repo.
06:27 dalek parrot.github.com: review: https://github.com/parrot/parro​t.github.com/commit/6e9cbe21ad
07:37 dalek parrot: 2228093 | alvis++ | docs/project/release_manager_guide.pod:
07:37 dalek parrot: Update the guide to point to new 'release_parrot_github_guide.pod'.
07:37 dalek parrot: review: https://github.com/parrot/parrot/commit/2228093ac7
07:37 dalek parrot: 1f2436e | alvis++ | docs/project/release_parrot_github_guide.pod:
07:37 dalek parrot: Add 'release_parrot_github_guide.pod' to 'docs/project'.
07:37 dalek parrot: review: https://github.com/parrot/parrot/commit/1f2436ef1d
07:37 dalek parrot: a1d58e8 | alvis++ | MANIFEST:
07:37 dalek parrot: Update MANIFEST to include 'docs/project/release_parrot_github_guide.pod'
07:37 dalek parrot: review: https://github.com/parrot/parrot/commit/a1d58e8c68
07:56 travis-ci joined #parrot
07:56 travis-ci [travis-ci] parrot/parrot#139 (master - a1d58e8 : Alvis Yardley): The build passed.
07:56 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/d811c46...a1d58e8
07:56 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/838188
07:56 travis-ci left #parrot
08:09 fperrad joined #parrot
08:14 particle joined #parrot
08:30 dngor joined #parrot
09:45 bacek joined #parrot
10:04 dalek nqp/new_make: e916eda | bacek++ | tools/build/Makefile.in:
10:04 dalek nqp/new_make: Parallelize stage0 build
10:04 dalek nqp/new_make: review: https://github.com/perl6/nqp/commit/e916eda7ec
10:15 PacoAir joined #parrot
10:22 dalek nqp: 6010c98 | bacek++ | src/6model/serialization.c:
10:22 dalek nqp: Pacify compiler by explicit casting
10:22 dalek nqp: review: https://github.com/perl6/nqp/commit/6010c9801c
10:22 dalek nqp/new_make: 607cd33 | bacek++ | / (14 files):
10:22 dalek nqp/new_make: Merge branch 'master' into new_make
10:22 dalek nqp/new_make: review: https://github.com/perl6/nqp/commit/607cd33afd
10:24 johbar_work joined #parrot
10:44 mj41 joined #parrot
11:08 contingencyplan joined #parrot
11:41 whiteknight joined #parrot
11:55 whiteknight good morning, #parrot
11:56 moritz \o whiteknight
11:56 nine good morning, whiteknight
11:56 whiteknight hello nine, mortiz
12:17 dalek parrot/threads: 5165f6a | nine++ | lib/Parrot/Pmc2c/PMC/Proxy.pm:
12:17 dalek parrot/threads: Don't create proxies for PMCNULL results lest PMC_IS_NULL no longer works
12:17 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/5165f6a8db
12:17 dalek parrot/threads: 97254da | nine++ | lib/Parrot/Pmc2c/PMC/Proxy.pm:
12:17 dalek parrot/threads: Block the GC while executing a proxied method
12:17 dalek parrot/threads:
12:17 dalek parrot/threads: Proxy runs methods on the target with the target's interp. If GC is
12:17 dalek parrot/threads: triggered during this run, the foreign interp's GC could find our PMCs
12:17 dalek parrot/threads: on the call stack. It would also not find any PMCs which are on the
12:17 dalek parrot/threads: foreign interp's callstack. And most of all it could be that the foreign
12:17 dalek parrot/threads: interp also starts collecting garbage at the same time...
12:17 dalek parrot/threads:
12:17 dalek parrot/threads: So we block the foreign GC to prevent this from happening.
12:17 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/97254da4ec
12:17 dalek parrot/threads: 2b11eac | nine++ | lib/Parrot/Pmc2c/PMC/Proxy.pm:
12:17 dalek parrot/threads: Use Parrot_thread_create_proxy to create proxies
12:17 dalek parrot/threads:
12:17 dalek parrot/threads: Proxy's methods create proxies for returned objects. Before this fix, it
12:17 dalek parrot/threads: did this by calling Parrot_pmc_new_init itself but using the wrong (the
12:17 dalek parrot/threads: proxied) interp, so all Proxy objects originating from proxied method
12:17 dalek parrot/threads: calls would be allocated on the wrong interp.
12:17 dalek parrot/threads:
12:17 dalek parrot/threads: Use Parrot_thread_create_proxy which handles this correctly, reducing
12:17 dalek parrot/threads: the places in which proxies are created.
12:17 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/2b11eacb94
12:17 dalek parrot/threads: 7b7202e | nine++ | src/pmc/parrotinterpreter.pmc:
12:17 dalek parrot/threads: Remove some dead code from clone_interpreter
12:17 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/7b7202e6a7
13:04 whiteknight I think I'm going to get pbc_merge fixed to properly merge annotations
13:04 whiteknight so that has me excited
13:05 nine sounds cool
13:11 lateau joined #parrot
13:49 dngor joined #parrot
13:56 whiteknight !!! I think I've got it!
13:57 tadzik \o/
14:00 whiteknight actually, the integer constants seem to be off by 1
14:07 moritz maybe check if the original annotations are off by 1 too
14:08 moritz I remember that some part of PCT produced 0-based line numbers
14:17 whiteknight no, it was my fault. Loop error
14:18 whiteknight I was iterating over all keys, but reading the same set of annotations for each
14:18 whiteknight remembering to add in start_offset is very important
14:22 dalek parrot/remove_sub_flags: 1b2a3df | Whiteknight++ | / (7 files):
14:22 dalek parrot/remove_sub_flags: rebootstrap ops
14:22 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/1b2a3df052
14:22 dalek parrot/remove_sub_flags: 1336403 | Whiteknight++ | / (9 files):
14:22 dalek parrot/remove_sub_flags: Update TGE to output load_bytecode_p_s. Update several more bits of the runtime
14:22 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/1336403cfa
14:22 dalek parrot/remove_sub_flags: 4388949 | Whiteknight++ | / (9 files):
14:22 dalek parrot/remove_sub_flags: Update several more libraries
14:22 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/43889496da
14:22 dalek parrot/remove_sub_flags: c66f9c9 | Whiteknight++ | / (4 files):
14:22 dalek parrot/remove_sub_flags: Add new routine Parrot_pf_get_annotations_segment. Use it in IMCC to clean up some code. Use it in pbc_merge, along with some other magic, to implement merging annotations. Annotations need a lot more documentation.
14:22 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/c66f9c97c2
14:22 dalek parrot/remove_sub_flags: 2c77e51 | Whiteknight++ | .travis.yml:
14:22 dalek parrot/remove_sub_flags: Merge branch 'remove_sub_flags' of github.com:parrot/parrot into remove_sub_flags
14:22 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/2c77e51b9c
14:30 travis-ci joined #parrot
14:30 travis-ci [travis-ci] parrot/parrot#141 (remove_sub_flags - 2c77e51 : Whiteknight): The build is still failing.
14:30 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/0e6c030...2c77e51
14:30 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/840114
14:30 travis-ci left #parrot
15:20 nine What's the GC registry's purpose?
15:20 lateau joined #parrot
15:31 benabik Registering GCs?
15:31 benabik Probably as a root set for the GC, but I haven't actually looked.  :-/
15:32 nine It's only written to in src/pmc.c and src/string/api.c
15:33 nine Otherwise only used in the GC, so I think you'r right in that it's a root set
15:33 benabik We might be pinning strings for some reason...
15:34 nine So there definitely should be one gc_registry per interpreter
15:35 benabik seems likely.
15:45 Psyche^ joined #parrot
15:59 dngor_ joined #parrot
15:59 nine I start to wonder if proxy should use the thread's interp for proxied calls instead of the target's
16:06 nine on the other hand, this would break for methods which create and return new PMCs. Those would get created on the thread's interp, but Proxy doesn't know this and would create new proxies for these objects even though it hurts more than it helps
16:28 dukeleto ~~
16:28 dukeleto nine: strings are handled specially in the GC, ever since the immutable strings merge, iirc
17:01 lateau joined #parrot
17:06 Hunger joined #parrot
17:09 lateau joined #parrot
17:18 dukeleto Blast from the past: the original "git pull" shell script https://github.com/gitster/git/blob/839a7a06f3​5bf8cd563a41d6db97f453ab108129/git-pull-script
17:21 nine dukeleto: wow...wonder how many great tools started out as a rather simple shell script
17:24 preflex_ joined #parrot
17:24 dukeleto nine: all of them
17:24 dukeleto nine: :)
17:25 dukeleto nine: i saw you asking about string and GC
17:25 dukeleto nine: strings are immutable since Parrot 2.x-ish, so they are dealt with specially in the GC
17:26 nine dukeleto: so far I didn't have any problems with strings and GC which makes me nervous. There must be some
17:29 nine whiteknight: is it a good thing when I can reliably create and run 120000 tasks on 8 threads?
17:35 dalek rakudo/nom: b13c517 | jonathan++ | src/Perl6/Actions.pm:
17:35 dalek rakudo/nom: Seems that we already end up with file annotations being emitted, so don't add them again in an extra way in the Actions. The extra way in question also didn't escape output, meaning a foobar'd.p6 would cause invalid code-gen; sisar++ for reporting.
17:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b13c517874
17:38 dngor joined #parrot
17:50 dngor_ joined #parrot
18:35 dukeleto nine: that sounds pretty awesome
19:27 cotto dukeleto++
19:56 johbar_work joined #parrot
19:57 whiteknight nine: yes, I would say that is absolutely fantastic
20:00 cotto nine++
20:50 nine whiteknight: the results are promising, but it was a hard week's work. At least my doubts about being able to get this to work somehow are almost gone
21:01 cotto nine, that's very encouraging
21:04 nine PARROT_ASSERT++
21:06 alvis joined #parrot
21:08 nine cotto: let's just say, it's good that I didn't know what was ahead of me when you brought me into Parrot ;)
21:28 cotto let's just say that
21:59 dalek nqp/new_make: 282e894 | bacek++ | tools/build/Makefile.in:
21:59 dalek nqp/new_make: Revert "Parallelize stage0 build"
21:59 dalek nqp/new_make:
21:59 dalek nqp/new_make: This reverts commit e916eda7eca1299fc709b7d0fbecbd6745198a50.
21:59 dalek nqp/new_make: review: https://github.com/perl6/nqp/commit/282e8947e7
22:03 dngor joined #parrot
22:19 nnunley joined #parrot
22:37 dngor_ joined #parrot
23:23 bacek_at_work msg nine Look at src/gc/gc_gms.c line 655. In the nutshell - finalization of GC in child interpret is a mess and need some love.
23:23 aloha OK. I'll deliver the message.
23:30 pjcj joined #parrot
23:34 pjcj joined #parrot

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

Parrot | source cross referenced