Camelia, the Perl 6 bug

IRC log for #parrot, 2010-09-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 M_o_C left #parrot
00:30 kid51 joined #parrot
00:33 hercynium left #parrot
00:36 theory left #parrot
00:47 TonyC_ is now known as TonyC
01:01 hercynium joined #parrot
01:02 luben why do we insist that cloned hashes should have the same internal ordering?
01:03 cotto Do we depend on that assumption?
01:05 luben it is in the test suite
01:06 dalek parrot: r49140 | plobsing++ | trunk (3 files):
01:06 dalek parrot: integer constants or in-line in bytecode. this is dead code.
01:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49140/
01:06 luben I think we do not depend on it
01:06 cotto That strikes me as questionable.
01:07 cotto Oh.  Apparently I wrote that test.
01:07 luben me too. and hash PMC get_repr could be done in more simple manner. I will work on that
01:07 cotto http://trac.parrot.org/parrot/ticket/116
01:08 chromatic We rely on it for OrderedHash anyway.
01:08 plobsing luben: I ran into that issue with order preservation across freeze/thaw. I just todoed the test.
01:09 cotto I thought bacek decoupled Hash from OrderedHash.
01:09 chromatic If that's the case, +1 to hiding hash ordering.
01:10 cotto Yeah.  My test strikes me as fixing the problem at the wrong level.
01:10 luben I am compiling coptimized clone and will run rakudo spectest to see if there are difference
01:10 cotto optimized by the police?
01:11 chromatic If it changes class attribute offsets, we need to fix that problem in class attributes.
01:11 cotto -Oticket
01:11 plobsing looks like orderedhash uses a doubly linked list to manage ordering
01:13 cotto bacek++
01:17 luben I am running now rakudo spectest to see if it makes a difference
01:22 dalek parrot: r49141 | plobsing++ | trunk/src/pmc/imageiofreeze.pmc:
01:22 dalek parrot: fill out doc stubs
01:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49141/
01:31 sorear Would it be a good idea to make an explicit distinction between interface tests and unit tests?
01:34 plobsing in terms of this test, the confusion could have been avoided by simply testing the ordered behaviour in tests for orderedhash.
01:35 plobsing that way, people would understand *why* ordering should be preserved.
01:35 dngor_ joined #parrot
01:36 dngor left #parrot
01:39 dalek parrot: r49142 | plobsing++ | trunk/MANIFEST.generated:
01:39 dalek parrot: update MANIFEST.generated to reflect recent PMC changes
01:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49142/
01:41 dngor_ is now known as dngor
01:51 gottreu joined #parrot
01:58 contingencyplan left #parrot
02:02 kid51 left #parrot
02:14 PhatEddy left #parrot
02:35 janus left #parrot
02:43 LaVolta joined #parrot
02:54 janus joined #parrot
03:03 dalek parrot: r49143 | plobsing++ | branches/typesafe_consttable:
03:03 dalek parrot: creating branch to make num, str, and pmc constants disjoint
03:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49143/
03:20 dalek parrot: r49144 | luben++ | trunk/src/hash.c:
03:20 dalek parrot: optimize hash cloning
03:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49144/
03:20 dalek parrot: r49145 | luben++ | trunk/src/hash.c:
03:20 dalek parrot: fix some warnings
03:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49145/
03:20 dalek parrot: r49146 | luben++ | trunk/t/pmc/hash.t:
03:20 dalek parrot: todo() a test for hash internal ordering
03:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49146/
03:36 plobsing luben: nice hash optimization. how much of a win is it?
03:37 theory joined #parrot
03:48 chromatic 4.7% for Rakudo startup, if I did it right.
03:49 plobsing nice
03:52 chromatic I distrust that number somewhat, but I look forward to the new benchmark graphs.
03:52 chromatic msg smash Can you run your benchmark scripts against Parrot and Rakudo HEAD?  I expect some interesting numbers.
03:52 purl Message for smash stored.
03:52 aloha OK. I'll deliver the message.
03:54 plobsing typesafe_consttable should permit a significant improvement to rakudo startup
03:54 plobsing I estimate roughly a reduction by 1/3 in the number of subs thawed and 1/2 in the number of lexpads
03:54 chromatic Really?
03:54 plobsing yes
03:55 chromatic Why are we thawing so many subs?
03:55 plobsing briefly, each constant gets frozen as an independant object graph. If these object graphs actually intersect each other, there is waste.
03:55 chromatic Ah.
03:55 plobsing One place the object graphs intersect is :outer subs
03:56 plobsing now, if we freeze all pmc constants together, they can cross-reference
03:56 plobsing but that requires having all pmc constants separate from the others
03:56 chromatic Makes sense.
03:56 chromatic Smaller bytecode is an even bigger win.
04:02 plobsing as an added bonus, autoclose will work from PBC again. although I'm not terribly fond of that "feature"
04:02 chromatic We should rethink how we do subs, scopes, and lexicals.
04:03 plobsing I agree. For example, the default lexicals implementation can determine lexical information statically. It doesn't make sense to use hash lookups (we could be using an array).
04:04 chromatic Right.
04:10 chromatic Hm, that was a segfault waiting to happen.
04:11 dalek parrot: r49147 | plobsing++ | branches/typesafe_consttable (5 files):
04:11 dalek parrot: change constant accessor interface. underlying implementation unchanged.
04:11 purl dalek: that doesn't look right
04:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49147/
04:13 plobsing chromatic: what was?
04:13 purl (not was)
04:13 chromatic LexPad's get_pmc_keyed_str().
04:13 chromatic See if you can spot the error before I commit.
04:15 plobsing PMCNULL vs NULL?
04:15 chromatic Exactly.
04:24 jsut joined #parrot
04:28 dalek parrot: r49148 | chromatic++ | trunk/src/pmc/lexpad.pmc:
04:28 dalek parrot: [PMC] Fixed a segfault and optimized LexPad.
04:28 dalek parrot: A VTABLE function documented to return a PMC * should always return PMCNULL
04:28 dalek parrot: instead of NULL; get_pmc_keyed_str() is now safer.  It's also slightly faster,
04:28 dalek parrot: but you'll have trouble noticing in most benchmarks.
04:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49148/
04:29 jsut_ left #parrot
04:30 chromatic If we used STRINGNULL more consistently (and removed NULL as a synonym), we could simplify Parrot_str_equal.
04:38 chromatic Maybe we should deprecate that.
04:40 plobsing go for it
04:45 dalek parrot: r49149 | chromatic++ | trunk/src/string/api.c:
04:45 dalek parrot: [str] Fixed a compiler warning.
04:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49149/
05:15 rurban_ joined #parrot
05:18 rurban left #parrot
05:18 rurban_ is now known as rurban
05:25 gottreu left #parrot
05:56 chromatic msg dukeleto any further info on the stress_strings.pir slowdown?  Reviewing commits makes me wonder about 48727, but nothing I'm confident about.
05:57 purl Message for dukeleto stored.
05:57 aloha OK. I'll deliver the message.
05:58 chromatic 48586 could do it.
06:32 GeJ_ is parrot_hash_iterate(arg, some_statement; some_other_statement; and_another_one;); a trick?
06:32 cotto It's a macro.
06:32 GeJ_ Aaaaah!
06:32 GeJ_ is now known as GeJ
06:32 cotto It's how we pretend to have closures.
06:33 cotto well, anonymous subs
06:33 purl anonymous subs are used sometimes :)
06:33 cotto forget anonymous subs
06:33 purl cotto: I forgot anonymous subs
06:36 cognominal left #parrot
06:49 cognominal joined #parrot
06:59 dalek parrot: r49150 | luben++ | trunk (3 files):
06:59 dalek parrot: reworked HashIterator PMC to use linear scan
06:59 dalek parrot: - removed unused macro
06:59 dalek parrot: - unTODO-ed some tests that check hash internals
06:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49150/
07:13 jjore left #parrot
07:14 jjore joined #parrot
07:24 chromatic left #parrot
07:25 dalek lua: 08498fb | fperrad++ | setup.pir:
07:25 dalek lua: since r49086, dynpmc item allows *.h
07:25 dalek lua: review: http://github.com/fperrad/lua/commit/08​498fb68906b4a5e107b3567edd31834bfd76b1
07:52 lucian joined #parrot
07:59 bacek aloha, humans
08:04 fperrad joined #parrot
08:07 dalek parrot: r49151 | mikehh++ | trunk/src/pmc/hashiterator.pmc:
08:07 dalek parrot: fix codetest failures - trailing whitespace and
08:07 dalek parrot: there should be at least one space between a C
08:07 dalek parrot: keyword and any subsequent open parenthesis
08:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49151/
08:07 dalek parrot: r49152 | mikehh++ | trunk/src/hash.c:
08:07 dalek parrot: fix codetest failure - parentheses should not have space immediately
08:07 dalek parrot: after the opening parenthesis nor immediately before the closing parenthesis
08:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49152/
08:09 bacek bloody svn... I've lost my latest merge from trunk to gc_massacre...
08:09 mikehh plobsing: ping
08:10 mikehh bacek: hi there
08:10 purl what's up, mikehh.
08:11 bacek hi mikehh
08:11 sorear bacek is still on svn?
08:12 bacek git-svn
08:12 bacek it's fucked up during dcommit... Badly.
08:16 mikehh bacek: still getting g++ build failures with gc_ms2.c
08:17 mikehh also with imageiothaw.pmc in trunk
08:25 nopaste "mikehh" at 192.168.1.3 pasted "g++ build failures at r49152 - src/pmc/imageiothaw.pmc" (12 lines) at http://nopaste.snit.ch/23457
08:27 lucian left #parrot
08:28 mikehh msg plobsing getting g++ build failures with src/pmc/imageiothaw.pmc - see http://nopaste.snit.ch/2345
08:28 purl Message for plobsing stored.
08:28 aloha OK. I'll deliver the message.
08:29 mikehh dammit try again
08:29 mikehh msg plobsing getting g++ build failures with src/pmc/imageiothaw.pmc - see http://nopaste.snit.ch/23457
08:29 purl Message for plobsing stored.
08:29 aloha OK. I'll deliver the message.
08:40 dalek parrot: r49153 | bacek++ | branches/gc_massacre (45 files):
08:40 dalek parrot: Merge branch 'master' into gc_massacre
08:41 dalek parrot: Conflicts:
08:41 dalek parrot: MANIFEST
08:41 purl MANIFEST is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.pl, unless i am using git-svn
08:41 dalek parrot: MANIFEST.SKIP
08:41 purl MANIFEST.SKIP is t/.+.t
08:41 dalek parrot: config/gen/makefiles/root.in
08:41 purl somebody said config/gen/makefiles/root.in was what generates parrot/Makefile
08:41 dalek parrot: docs/project/release_manager_guide.pod
08:41 dalek parrot: src/gc/alloc_resources.c
08:41 dalek parrot: src/gc/gc_ms.c
08:41 dalek parrot: src/gc/gc_private.h
08:41 dalek parrot: src/hash.c
08:41 purl src/hash.c is probably an example use of this.
08:41 dalek parrot: t/op/string_cs.t
08:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49153/
08:41 dalek parrot: r49154 | mikehh++ | branches/gc_massacre/MANIFEST.SKIP:
08:41 dalek parrot: re-generate MANIFEST.SKIP
08:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49154/
08:44 cotto botkill
08:45 tadzik joined #parrot
08:50 mikehh bacek: gc_massacre - ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc -> Segmentation fault
08:50 bacek mikehh, I know. Trying to fix it now...
08:51 mikehh bacek: good on you mate
08:52 mikehh bacek: codetest passes except c++ comments in src/gc/gc_ms2.c
08:52 bacek mikehh, ok, thanks.
08:57 dalek parrot: r49155 | bacek++ | branches/gc_massacre/src/string/api.c:
08:57 dalek parrot: Start sharing string buffers again.
08:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49155/
08:57 dalek parrot: r49156 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
08:57 dalek parrot: Start using String GC in GC MS2
08:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49156/
09:06 jan left #parrot
09:07 bacek mikehh, fixed.
09:14 dalek parrot: r49157 | bacek++ | branches/gc_massacre/src/gc (6 files):
09:14 dalek parrot: More decoupling of String GC from Memory_Pools
09:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49157/
09:14 dalek parrot: r49158 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
09:14 dalek parrot: Properly free allocated string memory.
09:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49158/
09:22 bacek seen jnthn
09:22 purl jnthn was last seen on #parrot 1 days, 11 hours, 1 minutes and 51 seconds ago, saying: I think the important thing is that whatever it's accessed as, it should be able to be pointed at a chunk of mmaped memory.  [Sep 17 22:20:17 2010]
09:22 aloha jnthn was last seen in #perl6 9 hours 46 mins ago saying "*to them :-)".
09:24 bacek ookey. gc_massacre is twice faster on building rakudo then before.
09:24 bacek mikehh, can you test "time make" of Rakudo on trunk and gc_massacre?
09:26 bacek mikehh, on something different from Linux/amd64
09:30 jan joined #parrot
09:46 luben bacek, how is the difference between trunk and branch?
09:47 luben here it is 3.20/4.45 on linux/amd64
09:49 sorear branch is *slower*?
09:50 sorear bacek: i could test Linux/i386; have you managed to get memory use back under 400-450 yet?
09:58 bacek sorear, no idea...
09:59 bacek luben, branch isn't optimized for performance just yet
10:00 sorear luben: what was peak mem usage while building on amd64?
10:00 luben yes, i have figured. I'm waiting it to land in trunc to dive into GC internals
10:05 bacek luben, I'm no going to merge it back before I'll be 100% sure that gc_ms2 is better than old one
10:06 luben I will take a look on the branch to just grasp the idea. Then I could help with making it better
10:09 orc joined #parrot
10:09 luben time to go for a lunch here. see you later
10:14 mikehh bacek: switching to i386 now
10:22 mikehh left #parrot
10:27 orc left #parrot
10:28 LaVolta left #parrot
10:28 fperrad left #parrot
10:41 lucian joined #parrot
10:45 mikehh joined #parrot
11:00 mikehh left #parrot
11:17 ruoso joined #parrot
11:24 fperrad joined #parrot
11:40 whiteknight joined #parrot
11:43 GodFather left #parrot
11:58 kid51 joined #parrot
12:00 contingencyplan joined #parrot
12:24 whiteknight good morning, #parrot
12:27 contingencyplan left #parrot
12:55 jnthn bacek: Looking for me? :-)
13:13 Patterner left #parrot
13:15 rurban_ joined #parrot
13:18 Psyche^ joined #parrot
13:18 Psyche^ is now known as Patterner
13:18 rurban left #parrot
13:18 rurban_ is now known as rurban
13:46 whiteknight left #parrot
13:53 jan left #parrot
14:01 sjn_ joined #parrot
14:05 tadzik left #parrot
14:16 tadzik joined #parrot
14:39 mj41 left #parrot
14:40 dalek TT #1794 created by nwellnhof++: Linear hash scan assumes non-NULL keys
14:40 dalek TT #1794: http://trac.parrot.org/parrot/ticket/1794
14:43 sjn_ left #parrot
14:45 mj41 joined #parrot
14:50 jan joined #parrot
14:52 sjn_ joined #parrot
15:06 hercynium left #parrot
15:21 kid51 left #parrot
15:40 sECuRE after changing documentation of a function in src/io/socket_unix.c, where can i find it to proof-read / ensure i got all tags set properly?
15:40 sECuRE (for the PMC documentation i run 'make html' and open docs/html)
15:46 mikehh joined #parrot
15:49 orc joined #parrot
15:51 whiteknight joined #parrot
15:51 szbalint_ is now known as szbalint
15:53 whiteknight good morning #parrot
15:57 orc good night
16:06 cxreg2 is now known as cxreg
16:11 rotund joined #parrot
16:12 rotund left #parrot
16:15 fperrad left #parrot
16:18 fperrad joined #parrot
16:19 orc left #parrot
16:27 rotund joined #parrot
16:31 rotund left #parrot
16:49 tadzik left #parrot
16:51 lucian left #parrot
17:06 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#115), fulltest) at r49158 - Ubuntu 10.10 beta (gcc-4.5 with --optimize)
17:06 jan left #parrot
17:06 dalek roast: bc0487b | pmichaud++ | S03-operators/short-circuit.t:
17:06 dalek roast: Correct test in short-circuit.t (RT #77864).
17:06 dalek roast: review: http://github.com/perl6/roast/commit/bc​0487b85aa38ed2cdd2b7a1b48ba4f4e2c9d73a
17:07 dalek parrot: r49159 | plobsing++ | branches/typesafe_consttable (18 files):
17:07 dalek parrot: separate num, str, and pmc constants
17:07 dalek parrot: miniparrot fails. apparently there's still some bugs to work out.
17:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49159/
17:20 PhatEddy joined #parrot
17:47 thowe joined #parrot
17:47 dalek TT #951 closed by jkeenan++: correct some minor bugs in t/pmc/threads.t
17:47 dalek TT #951: http://trac.parrot.org/parrot/ticket/951
17:54 dalek tracwiki: v143 | whiteknight++ | Languages
17:54 dalek tracwiki: Moving Matrixy to the "Inactive" state. The language is not dead, but there are some prerequisites to further development and I have other higher priorities at the moment.
17:54 dalek tracwiki: http://trac.parrot.org/parrot/wiki/L​anguages?version=143&action=diff
17:54 Chandon left #parrot
18:02 whiteknight left #parrot
18:07 Andy joined #parrot
18:13 whiteknight joined #parrot
18:30 hercynium joined #parrot
18:32 Chandon joined #parrot
18:33 whiteknight left #parrot
18:38 whiteknight joined #parrot
18:44 mikehh rakudo (ccde8dc) builds on parrot r49158 - make test, make spectest_smolder(#117) PASS - Ubuntu 10.10 beta amd64 (gcc-4.5 with --optimize)
18:46 hercynium_ joined #parrot
18:46 hercynium_ left #parrot
18:47 lucian joined #parrot
18:50 hercynium left #parrot
18:50 hercynium joined #parrot
18:52 Andy left #parrot
19:13 senf_statt_oel joined #parrot
19:15 rurban left #parrot
19:31 thowe how do I compile a pir to bytecode?
19:34 whiteknight parrot -o foo.pbc foo.pir
19:35 thowe hmm, yeah.  Tried that.  I get a bunch of syntax errors about the pir
19:36 sorear you might try not using Rakudo output for your tests
19:36 lucian left #parrot
19:36 sorear Rakudo customizes the pir parser, pir it generates cannot be parsed in any other context
19:37 thowe oh...  then I assume I need some rakudo-specific method to produce parrot bytecode...
19:38 jnthn sorear: That's not really true.
19:38 jnthn sorear: We do have some dynops.
19:38 jnthn And I guess just don't emit .laodlib directives for them
19:39 jnthn We need a tweak to PAST for that, but since nqp-rx is getting dynops I'm just about to block on that.
19:39 jnthn So it'll get done soon. :-)
19:39 jnthn Then fixing up Rakudo's code-gen should be easy.
19:39 jnthn For now, add a .loadlib 'perl6_ops' to the start of the PIR file by hand; that should be enough.
19:40 jnthn (We don't hit the issue with pre-compiled modules since in taht case, Rakudo has already been loaded and pulled in the ops. It's only for scripts that will be run directly that we have the issue.)
19:42 sorear Anyway, why bother?  Perl6::Module::Loader looks for Foo.pm, Foo.pm6, and Foo.pir, NOT Foo.pbc
19:44 jnthn sorear: True, but that's gonna have to change at some point.
19:45 jnthn Unless we want to store serialized blobs of stuff in PIR, anyways.
19:59 hercynium left #parrot
20:25 fperrad left #parrot
20:33 jan joined #parrot
20:38 perlite left #parrot
20:38 perlite joined #parrot
20:41 contingencyplan joined #parrot
20:44 PacoLinux left #parrot
20:47 dalek parrot: r49160 | plobsing++ | branches/typesafe_consttable (2 files):
20:47 dalek parrot: fix some minor logic bugs
20:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49160/
20:57 preflex left #parrot
20:59 preflex joined #parrot
21:04 dalek parrot: r49161 | plobsing++ | branches/typesafe_consttable/t/c​ompilers/imcc/syn/regressions.t:
21:04 dalek parrot: keys no longer length limited
21:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49161/
21:09 thowe left #parrot
21:22 dalek rakudo: 523da45 | pmichaud++ | build/PARROT_REVISION:
21:22 dalek rakudo: Bump PARROT_REVISION.
21:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​23da453e6fdf2bfedf71619517ad07c86dcc5ec
21:29 senf_statt_oel left #parrot
21:39 ruoso left #parrot
21:57 ruoso joined #parrot
21:59 tadzik joined #parrot
22:14 tadzik left #parrot
22:53 dalek TT #1795 created by ronaldws++: pcre_compile picked wrong function signature letter.
22:53 dalek TT #1795: http://trac.parrot.org/parrot/ticket/1795
23:11 whiteknight left #parrot
23:33 NotFound Grrrroarrrrr
23:33 NotFound Wrong channel, sorry :-X
23:36 kid51 joined #parrot
23:44 dalek TT #150 closed by NotFound++: load_bytecode, loadlib, and HLL
23:44 dalek TT #150: http://trac.parrot.org/parrot/ticket/150
23:46 hercynium joined #parrot
23:51 hercynium left #parrot

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

Parrot | source cross referenced