Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-05

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 darbelo Parrot's Configure.pl pulls most of it's compilation options from the compilation options used on the perl used to run it.
00:01 nopaste "dukeleto" at 32.152.9.125 pasted "perl -V of each perl, the first does not work with parrot" (92 lines) at http://nopaste.snit.ch/17819
00:02 dukeleto -fstack-protector is suspicious. the perl that does not work has that, the old one did not
00:04 dukeleto i don't remember asking for that, so it must have been one of the defaults
00:04 dukeleto i am totally blocked on this
00:04 mikehh rakudo (3db3e37) builds on parrot r40980 - make test / make spectest (up to r28187) PASS - Ubuntu 9.04 amd64 (gcc)
00:04 darbelo the hints file for your platform is the place to override that.
00:05 darbelo ( config/init/hints/darwin.pm )
00:08 dukeleto darbelo: thanks
00:17 dalek parrot: r40981 | chromatic++ | trunk/src/gc (2 files):
00:17 dalek parrot: [GC] Inlined calculation of PMC attribute pools into
00:17 dalek parrot: Parrot_gc_free_pmc_attributes() and Parrot_gc_free_fixed_size_storage().  This
00:17 dalek parrot: gives a 2.73% performance improvement on the primes.pasm benchmark.
00:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40981/
00:18 dalek parrot: r40982 | chromatic++ | trunk/src/pmc.c:
00:18 dalek parrot: [PMC] Changed PMC destruction to free the PMC_sync structure only if it exists,
00:18 dalek parrot: which it never does.  This improves the primes.pasm benchmark by 1.3%.
00:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40982/
00:18 mikehh cardinal - builds on parrot r40980 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (gcc)
00:19 * treed nods.
00:19 treed Interesting that you can get it to build.
00:19 treed I can't.
00:23 dalek TT #977 created by treed++: parrot_config returns with an error about "Invalid Charset"
00:23 mikehh treed: I have been doing - rake clobber, git pull, PARROT_CONFIG=/home/mhh/parrot/parrot_config, export PARROT_CONFIG, rake cardinal, rake test:all (using g.parrot for my g++ build)
00:23 treed My build problem relates to that bug.
00:24 treed I can't get build.yaml to generate because I can't run parrot_config.
00:24 treed I could try writing it myself in the meantime.
00:24 chromatic I wonder if that's my problem building Rakudo.
00:24 treed (Or shortcircuiting the rakefile.)
00:25 treed chromatic: What platform?
00:25 treed It doesn't seem to exist on Linux.
00:26 chromatic 32-bit x86 Linux
00:27 treed Hm.
00:27 treed Well, if you get that error message when running "parrot_config", update the bug so that the platform isn't restricted to Mac.
00:28 chromatic No problem when running it.
00:28 chromatic Now I get src/pmc_freeze.c:1336: failed assertion 'must_have_seen'
00:30 mikehh decnum-dynpmcs r181 builds on parrot r40980 - make test PASS - Ubuntu 9.04 amd64 (gcc)
00:34 davidfetter joined #parrot
00:35 dukeleto joined #parrot
00:36 mikehh partcl r694 builds on parrot r40980 - make test PASS - Ubuntu 9.04 amd64 (gcc)
00:37 dukeleto treed: can you attach your perl -V to the ticket about invalid charset?
00:39 GeJ_ between r40978 and r40982, I get a ~16% speed improvement on smoke test. (and ~4% CPU only)
00:40 GeJ chromatic++
00:40 treed Yeah, about to do that.
00:40 treed (Just saw your e-mail.
00:40 darbelo I'got another strstart removal patch. Do I nopaste or open a ticket?
00:40 treed It's not 5.10.anything though
00:40 dukeleto darbelo: ticket with a patch, please
00:41 dukeleto darbelo: unless it is really tiny
00:42 darbelo ~100 lines of patch, mostly trivial changes.
00:42 darbelo All tests successful, the changes to i386 jit got tested by chromatic earlier and passed.
00:43 mikehh bbl
00:43 cotto I'd call that tiny enough
00:44 cotto ymmv
00:44 darbelo good, 'cause trac is slooooow today.
00:46 nopaste "darbelo" at 200.49.154.172 pasted "more strstart removal." (100 lines) at http://nopaste.snit.ch/17820
00:46 cotto Every time I see COW I want to say MOO.
00:46 darbelo MOO
00:48 darbelo There's still poking into string guts there, but at least now its hidden by a macro, and it's not dony throug a deprecated interface.
00:49 cotto do ->_bufstart and ->strstart point at the same thing?
00:49 darbelo In a sane world yes, most of the time.
00:49 cotto So no.
00:49 cotto ;)
00:50 darbelo src/pmc_freeze.c plays some really scary games with those two, but in the cases I replaced here, there's no danger.
00:51 darbelo Also, when strstart is gone, ->_bufstart is all you'll have left.
00:52 cotto I was hoping to get some serious profiling bugs killed today, but it appears not to be in the cards.
00:55 chromatic Ditto.
00:55 chromatic But fast!
00:55 * darbelo is going to catch some Z's
00:56 darbelo cotto: msg me if you find any troubles with the patch.
00:57 cotto looking now
01:00 NotFound joined #parrot
01:06 dalek parrot: r40983 | cotto++ | trunk/src (3 files):
01:06 dalek parrot: [string] eliminate some ->strstart abuse, courtesy of darbelo++
01:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40983/
01:08 dalek partcl: r695 | coke++ | wiki/SpecTestStatus.wiki:
01:08 dalek partcl: NotFound++ fixed this segfault.
01:08 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=695
01:12 cotto strstart count is currently 284
01:14 cotto That's down from 305 at r40938 before the first strstart patch.
01:15 * cotto ponders how to set up a big thermometer in trac tracking the progress.
01:18 Coke google spreadsheet widget?
01:18 dalek partcl: r696 | coke++ | trunk/config/PARROT_VERSION:
01:18 dalek partcl: NotFound++ fixed another segfault.
01:18 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=696
01:20 cotto It'd be really nice if it could be automated.
01:21 cotto at any rate, I'm out
01:26 quek joined #parrot
01:37 dalek parrot: r40984 | pmichaud++ | trunk (6 files):
01:37 dalek parrot: [lexicals]:  Add (find|store)_dynamic_lex to support dynamic lexicals
01:37 dalek parrot: (needed for nqp, pct, and pge updates).
01:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40984/
01:59 mikehh chromatic: ping
02:00 chromatic pong
02:02 mikehh chromatic - I am failing codetest (t/codingstd/c_function_docs.t) on the change you made in r40981) and I can't seem to fix it
02:02 jrtayloriv My GC patch is building now without any errors, but is failing several tests. It seems like they are all failing for the same reason (during Parrot_new .. init_world ... Register_HLL ... memset ), but I can't figure out what is causing the error. Should I post this on Trac, even though it's buggy, or just post it up on Pastebin, until the errors get fixed. It's a fairly large patch (~800 lines).
02:03 jrtayloriv 994 lines actually.
02:04 chromatic mikehh, I know what it is.  One moment please.
02:05 chromatic I cuddled a *, but I didn't rerun the headerizer.
02:06 mikehh ah ok - I just couldn't seem to fix it
02:07 dalek rakudo: 5a1e5a2 | pmichaud++ |  (4 files):
02:07 dalek rakudo: First batch of updates to support contextuals.  Refactors compilation
02:07 dalek rakudo: of *-twigiled variables to call !find_contextual sub.
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​a1e5a277dff019420621f32c3028325fb8ed6df
02:07 dalek rakudo: a6a4f57 | pmichaud++ | src/ (2 files):
02:07 dalek rakudo: Have !find_contextual accept the twigil as part of the name it
02:07 dalek rakudo: receives, then strip it when switching from lexical to package lookups.
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​6a4f57f5bedbb508b1eedf93482a5a09becab9c
02:07 dalek rakudo: 9f2b09c | pmichaud++ | src/builtins/ (2 files):
02:07 dalek rakudo: Switch some current "get_hll_globals" into "find_contextual".
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​f2b09c904fc8a88667445250a22030aa9c8bff9
02:07 dalek rakudo: 6a0eb0c | pmichaud++ | src/builtins/globals.pir:
02:07 dalek rakudo: Move @*INC and %*INC into PROFILE.
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​a0eb0cdd45b634d66b03f8b8fde72062fd2718a
02:07 dalek rakudo: b87755c | pmichaud++ | src/builtins/globals.pir:
02:07 dalek rakudo: Move more built-in contextuals into PROCESS:: .
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​87755c01b5779bb42215878446d24009b3041e0
02:07 dalek rakudo: 5470cc9 | pmichaud++ | src/builtins/globals.pir:
02:07 dalek rakudo: Move even more process contextuals into PROCESS:: .
02:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​470cc94d98322836bd0f9a13ce1e27a66fa4fb9
02:07 dalek rakudo: 9e0c9de | pmichaud++ | build/PARROT_REVISION:
02:08 dalek rakudo: Bump PARROT_REVISION to get *_dynamic_lex ops and other updates.
02:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​e0c9dec05be20a0b6b03d8ff98b9ba2636daa1f
02:08 dalek rakudo: eefd954 | pmichaud++ | :
02:08 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
02:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​efd954365bcad18802c66a1243976e5aea9181d
02:08 dalek parrot: r40985 | chromatic++ | trunk/include/parrot/gc_api.h:
02:08 dalek parrot: [GC] Reran make headerizer after r40981.  Thanks to mikehh for finding the
02:08 dalek parrot: coding standards violation.
02:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40985/
02:12 dalek parrot: r40986 | chromatic++ | trunk/src/gc/api.c:
02:12 dalek parrot: [GC] Touched up the formatting of a function signature I missed in r40985.
02:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40986/
02:29 dalek parrot: r40987 | mikehh++ | trunk/src/ops/var.ops:
02:29 dalek parrot: fix codetest failure - trailing spaces
02:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40987/
02:35 janus joined #parrot
02:40 Andy joined #parrot
02:49 joeri left #parrot
02:57 davidfetter joined #parrot
02:58 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40987 - Ubuntu 9.04 amd64 (g++)
02:59 mikehh that's enough for the moment - need sleep - bbl
03:03 theory joined #parrot
03:08 chromatic Hm, 4.13% performance improvement with a naive patch to remove PMC_sync.  Not bad.  There are many fewer GC runs.
03:17 sri joined #parrot
03:17 zostay joined #parrot
03:28 jrtayloriv chromatic, remove it from where?
03:28 jrtayloriv the gc/api.c?
03:31 jrtayloriv or remove it altogether?
03:40 quek left #parrot
03:58 kyle_l5l joined #parrot
04:08 chromatic Removed it altogether.
04:08 dalek rakudo: 2276af9 | pmichaud++ | docs/spectest-progress.csv:
04:08 dalek rakudo: spectest-progress.csv update: 435 files, 13401 pass, 1 fail
04:08 dalek rakudo: Failure summary:
04:08 dalek rakudo: S32-temporal/Temporal.t 7 - gmtime defaults to current time
04:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​276af9bc0e5c6df695608ed12db9e206eaca9aa
04:22 JimmyZ joined #parrot
04:48 nopaste joined #parrot
04:50 nopaste joined #parrot
05:44 cotto joined #parrot
05:46 dalek rakudo: 7734f9b | pmichaud++ |  (3 files):
05:46 dalek rakudo: Enable contextual variable definitions and dynamic lookups.
05:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​734f9b38ebb82e50637880c07eb943a35fe7a3b
06:21 darbelo joined #parrot
06:24 nopaste "darbelo" at 190.3.155.147 pasted "The forgotten strstart-removing gdbmhash patch" (19 lines) at http://nopaste.snit.ch/17825
06:25 darbelo purl: msg cotto A message from insomnia-land: It looks like I mis-pasted one of my earlier pathces. There was a missing part in the gdbmhash one, I put the missing piece in http://nopaste.snit.ch/17825
06:25 purl Message for cotto stored.
06:27 darbelo left #parrot
06:36 cotto drive-by patching
06:39 dalek parrot: r40988 | cotto++ | trunk/src/dynpmc/gdbmhash.pmc:
06:39 dalek parrot: [string] avoid strstart abuse in gdbmhash, courtesy of the insomnic darbelo++
06:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40988/
06:48 cotto and the profiling runcore becomes slightly less buggy
06:49 dalek parrot: r40989 | cotto++ | branches/pluggable_runcore (2 files):
06:49 dalek parrot: [profiling] make the profiling runcore smarter about when to print CS (context switch) lines
06:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40989/
06:53 cotto I love fixing bugs by removing code.
06:53 JimmyZ cotto++
06:54 JimmyZ a bad joke: removing all codes, and then there were no bugs. ;)
06:55 cotto logical, yet extreme
06:55 pmichaud if you can remove all code and still pass the test suite, I'll be impressed.  :)
06:55 cotto alternately we could just delete all bug reports
06:55 cotto chromatic, ping
07:02 * jrtayloriv screams "w00T!! $$$BLING$$$ --- I can go to sleep now --- I finally got this freaking gc patch to work" from insomniac land.
07:06 cotto jrtayloriv, you're awesome.  It's great to have you around hacking on Parrot making me look slow. ;)
07:06 cotto You'll only be more dangerous once you get that commit bit.
07:08 jrtayloriv so stupid ... I have been trying to track down my error for hours, and all it turned out to be was that I had called mem_allocate_typed() instead of mem_allocate_zeroed_typed(), so when I was checking to see if a pointer was defined, it wasn't false like I thought and was throwing garbage everywhere ... x|
07:10 cotto lawl
07:10 cotto I love those bugs.
07:13 jrtayloriv Iza gonna get me some zzzzzzzz -- night cotto
07:14 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40989 - Ubuntu 9.04 amd64 (gcc)
07:15 JimmyZ mikehh: I think you could write a script to auto report. ;)
07:21 dalek rakudo: 86a9268 | pmichaud++ | src/classes/Failure.pir:
07:21 dalek rakudo: Update Failure objects to output to contextual $*ERR.
07:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​6a9268c8db1a43f9c08e4b11ef753ff5b5de0e7
07:21 dalek rakudo: a746af0 | pmichaud++ | Test.pm:
07:21 dalek rakudo: Adjust Test.pir $WARNINGS flag.
07:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​746af0bebe5f98f8ad7de5dc1c31eff8c77fdff
07:21 dalek rakudo: 8566a62 | pmichaud++ | src/builtins/globals.pir:
07:21 dalek rakudo: Add ability for contextuals to also search  %*ENV.
07:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​566a62a491b72e6fef9e23918ae4ce5e3c7db77
07:23 mikehh JimmyZ: got one but prefer to see what's happenin' so I can change strategy if necessary :-}
07:30 mikehh rakudo (7734f9b) builds on parrot r40989 - make test / make spectest (up to r28191) PASS - Ubuntu 9.04 amd64 (gcc)
07:31 iblechbot joined #parrot
07:31 quek joined #parrot
07:32 mikehh JimmyZ: like now I am gonna rerun rakudo before goin' on with other stuff
07:33 JimmyZ mikehh: I see ;)
07:47 mikehh rakudo (8566a62) builds on parrot r40989 - make test / make spectest (up to r28191) PASS - Ubuntu 9.04 amd64 (gcc)
08:00 mikehh cardinal - builds on parrot r40989 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (gcc)
08:03 mikehh decnum-dynpmcs r181 builds on parrot r40989 - make test PASS - Ubuntu 9.04 amd64 (gcc)
08:06 treed Should probably file a bug about those failures.
08:06 treed We did track it down to the one revision, yeah?
08:12 mikehh treed: passed at r70787 and 3 failures at r40788
08:12 mikehh treed; the culprit -> parrot: r40788 | jonathan++ | trunk/compilers/pct/src/PAST/Compiler.pir
08:14 mikehh treed: all 3 failures start with -> Method 'iterator' not found for invocant of class 'String'
08:16 mikehh let me put this in #cardinal too
08:23 mikehh partcl r696 builds on parrot r40989 - make test PASS - Ubuntu 9.04 amd64 (gcc)
08:23 mikehh partcl - running make specinfo now
08:31 quek left #parrot
08:33 quek joined #parrot
08:37 mikehh treed that was supposed to be r40787
08:44 treed Which was?
08:52 Zak joined #parrot
08:55 dalek parrot: r40990 | fperrad++ | trunk/tools/dev (2 files):
08:55 dalek parrot: [languages] partial revert of r40960
08:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40990/
08:58 dalek lua: d679fb4 | fperrad++ | config/makefiles/pmc.in:
08:58 dalek lua: revert INSTALL_DIR
08:58 dalek lua: review: http://github.com/fperrad/lua/commit/d6​79fb4761f66bde01ffc24dc01df5cf18e631c4
09:19 JimmyZ joined #parrot
09:27 quek left #parrot
09:28 cognominal joined #parrot
09:37 dalek TT #978 created by chromatic++: Remove _synchronize from PMC Struct
09:47 dukeleto 'ello
10:05 Whiteknight joined #parrot
10:17 dalek rakudo: e8b631c | mberends++ | src/builtins/globals.pir:
10:17 dalek rakudo: [builtins/globals.pir] preload $HOME/.perl6lib and languages/perl6/lib in @*INC
10:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​8b631cd86ffeaeae8cf930c72ffd4a449e5d521
10:29 dalek rakudo: 825074a | pmichaud++ | src/ (4 files):
10:29 dalek rakudo: Revise %*ENV processing to resolve RT #57400.
10:29 dalek rakudo: Fix a bug in initialization of contextual variables.
10:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​25074a837fb646e6a6dda8366f6983506a20c25
10:29 dalek rakudo: 6e2104a | pmichaud++ | :
10:29 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
10:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​e2104a9ee97bc95941b206c63d5edb28cf4f3f3
10:47 Whiteknight chromatic++ # kicking ass and taking names on that benchmark!
10:57 dukeleto looks like this 'Invalid charset number' crap isn't related to perl 5.10.1 . time for git bisect!
10:58 Whiteknight nice
10:59 bacek joined #parrot
11:00 bacek O hai
11:00 Whiteknight good morning bacek
11:00 Whiteknight irclogs?
11:00 purl somebody said irclogs was http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
11:00 bacek Whiteknight: welcome to the future! It's 9PM already :)
11:03 bacek Whiteknight: I want to break something in parrot. And I'll need your help with this idea :)
11:04 Whiteknight i like breaking, and ideas!
11:04 bacek Current GC API.
11:04 bacek It's broken-by-design.
11:05 dalek TT #979 created by dukeleto++: Invalid charset number '8' on darwin during PCT.pbc bytecode generation
11:06 bacek E.g. using "Small_Object_Pool" directly for allocating objects enforce particular implementation.
11:07 dukeleto i am going to kick charset number 8 in the face
11:07 charset_9 Don't touch my brother!
11:09 bacek Whiteknight: also, current GC API doesn't allow something like "Gimme chunk of memory with this size"
11:10 bacek Whiteknight: and without this ability I can merge "PMC" and "ATTRibutes" into single allocation.
11:10 bacek Or convert Context to use ATTRibutes.
11:10 purl I don't know how to convert Context to use ATTRibutes..
11:10 Whiteknight bacek: we need PMCs to be located together so we can sweep
11:10 bacek botsnack!
11:10 purl thanks bacek :)
11:11 bacek So, "mark-sweep" enforces particular design. And it's bad
11:11 bacek What about compacting GCs?
11:11 Whiteknight bacek: any GC is going to have a sweep
11:11 bacek Or trademills
11:11 bacek Whiteknight: not all of them
11:11 purl not all of them are modifying my brain
11:12 Whiteknight bacek: I can't think of a single algorithm that doesn't use some sort of sweep
11:12 bacek In many cases it can be implicit
11:12 Whiteknight ACTUALLY, chromatic's idea might work here
11:12 bacek "Uniprocessor Garbage Collection Techniques"
11:12 bacek http://www.cs.rice.edu/~javaplt/311​/Readings/wilson92uniprocessor.pdf
11:13 bacek anyway, "sweep" doesn't require all objects to be same size
11:13 bacek and allocated from "Small_Object_Pool"
11:14 dukeleto 67 pages of GC goodness
11:14 bacek dukeleto: indeed
11:15 bacek Whiteknight: check src/gc/api.c, line 329
11:15 Whiteknight dukeleto: You jest, but I'm going to print and read every one of them
11:16 bacek My idea is not to have "arenas" in interp, but some "struct gc*" with few functions and "void * gc_private"
11:16 Whiteknight bacek: Then you are going to love the new patch from jrtayloriv: It does exactly that
11:16 bacek So, all implementation details will be decoupled from Interp.
11:16 dukeleto Whiteknight: I don't jest. that looks like a really good introductory/overview paper.
11:17 bacek Whiteknight: Yay! jrtayloriv++
11:17 Whiteknight bacek: I like that idea a lot. I've wanted to do it myself for a while
11:17 bacek Just ensure that this functions has explicit ""size" argument
11:18 Whiteknight bacek: if we changed the fixed-size attributes pool to include PMC and ATTR together, we could get the effect you are talking about
11:18 bacek yes
11:18 Whiteknight then we could sweep those pools because all objects would be guaranteed to be PMCs
11:19 bacek Why sweeping require all objects to be PMC?
11:19 bacek It's just chunks of memory
11:19 Whiteknight bacek: If we sweep linearly over a pool, we don't know if the block is a PMC or not
11:19 Whiteknight PMCs have flags, need destruction, etc. We need to know if an object is a PMC
11:19 bacek We know size.
11:20 Whiteknight but I can allocate an X byte buffer in the same pool I allocate an X byte PMC
11:20 Whiteknight and I don't want to call VTABLE_destroy on the buffer
11:21 bacek Ok.
11:22 bacek We just need pairs of function "get_raw_chunk" and "get_pmc" in gc*
11:24 bacek no, bad idea.
11:25 bacek All we need is pass (optional) pointer to "destroy function".
11:25 bacek Which will be invoked by GC during sweep.
11:25 Whiteknight so store the destroy function in the pool?
11:26 Whiteknight that idea actually has some merit
11:26 bacek In allocated object.
11:26 Whiteknight so for every object we add a header with a pointer to a destroy function?
11:26 * dukeleto has bisecting in progress
11:27 bacek Whiteknight: only when requested. GC can be smart enough to not store it always.
11:28 bacek E.g. in most PMC without "destroy" VTABLE it's useless.
11:28 rindolf joined #parrot
11:28 bacek Bah! We have to change Pmc2s to set "active_destroy" as pragma, not in "VTABLE_init"
11:29 bacek This step is too big... Ok, scratch last idea.
11:29 Whiteknight yes, and custom_mark
11:30 bacek Let's just have pair of functions for allocate memory.
11:30 bacek Both of them should accept explicit size.
11:30 Whiteknight I like that idea, but we need to be able to tell whether an item is a PObj or not
11:31 Whiteknight and then we need to be able to find all STRING headers that point to a string buffer
11:31 Whiteknight because of COW, it can be N:1
11:32 bacek Immutable strings ftw!
11:32 Whiteknight I want immutable strings. That would be a very good idea
11:32 dukeleto i like cows
11:32 Whiteknight but, it would be a huge job
11:33 bacek Actually, with this approach we can just drop STRING and always use String PMC.
11:34 bacek Just reimplement it use ATTRibutes and allocate raw chunk of memory for real string
11:34 bacek Then, String,mark will do all required job
11:34 Whiteknight there is some merit to that. I think the string compactor is very expensive
11:36 bacek And incomprehensible :)
11:37 bacek Whiteknight: care to wrap-up on wiki? I want to chase failure exposed by http://nopaste.snit.ch/17815
11:37 NotFound Note that in order to make PMC variable size we might need to forbid morphing assignments
11:37 Whiteknight NotFound: Yes, I hadn't even thought about that
11:37 bacek (It actually another Keys shenanigans)
11:37 bacek (morphing) VTABLE_morph is way-too-premature optimisation
11:38 Whiteknight yes, but some people do use the morph opcode
11:38 Whiteknight so we can't kill it entirely
11:38 Whiteknight at least, not yet
11:38 bacek Fortunately, I've put broad deprecation warning for all VTABLEs in 1.4 :)
11:38 NotFound bacek: morph is not the only way of morphing. Look for example at the Undef pmc.
11:39 Whiteknight yeah, we lose a lot of flexibility
11:39 Whiteknight I really like this idea. Hard part is finding a way to do it without breaking the whole damn codebase
11:40 Whiteknight bacek: yes, dump some of your ideas onto the wiki. I think there is a "GCTasklist" page you can use
11:41 NotFound You can start thinking about how to avoid assignment to Undef
11:41 Whiteknight Easy: kill Coke
11:41 Whiteknight :)
11:41 NotFound Drink Pepsi
11:42 bacek NotFound: anyway, we have to have something for implementing compacting GC.
11:42 bacek And it's closely related to "assign to Undef"
11:42 bacek Because we have to update all pointers to PMC.
11:43 bacek Or wrap "PMC" into struct with single pointer.
11:43 * bacek drink Pepsi. With scotch :)
11:46 dukeleto the horror
11:47 Whiteknight a "PObj Header" could be allocated to provide indirect access to a PMC
11:47 Whiteknight it would be fixed size and we could store it in a very simple pool
11:51 Whiteknight kid51: ping
11:52 bacek Whiteknight: +1
11:52 purl 1
11:52 Whiteknight purl msg kid51 Is there a way we could get "make coretest<runcore>" targets added to the makefile, so we can do comparative coretest runs for particular cores?
11:52 purl Message for kid51 stored.
11:53 dalek tracwiki: v24 | bacek++ | GCTasklist
11:53 dalek tracwiki: GC irc talk
11:53 dalek tracwiki: https://trac.parrot.org/parrot/wiki/G​CTasklist?version=24&amp;action=diff
11:57 PacoLinux joined #parrot
12:00 dalek tracwiki: v25 | bacek++ | GCTasklist
12:00 dalek tracwiki: https://trac.parrot.org/parrot/wiki/G​CTasklist?version=25&amp;action=diff
12:01 bacek Whiteknight: where is jrtayloriv's patch?
12:01 bacek I want to see it :)
12:01 Whiteknight not public yet, he said he was going to post a ticket today
12:02 bacek ok
12:03 dalek tracwiki: v26 | bacek++ | GCTasklist
12:03 dalek tracwiki: https://trac.parrot.org/parrot/wiki/G​CTasklist?version=26&amp;action=diff
12:07 Whiteknight I may change to the -S core for all my local testing needs
12:07 Whiteknight it cuts a full 4 seconds off my coretest time
12:08 bacek "-S" is for "switch"?
12:09 joeri joined #parrot
12:09 Whiteknight yes
12:09 Whiteknight it's the fastest platform my my system
12:10 Whiteknight My coretest time is down to 38 seconds
12:11 dalek lua: d8dc591 | fperrad++ | t/pmc/t (2 files):
12:11 dalek lua: rewrite pir_error_output_like is PIR
12:11 dalek lua: review: http://github.com/fperrad/lua/commit/d8​dc591f9bd252e026fa593400a613d92d90a193
12:11 dalek lua: d7bf31c | fperrad++ | t/pmc/ (16 files):
12:11 dalek lua: add messages
12:11 dalek lua: review: http://github.com/fperrad/lua/commit/d7​bf31c6d259cd9a84ec805f9d19ef1bf84c2175
12:11 dalek lua: 11bb33e | fperrad++ | doc/running.pod:
12:11 dalek lua: update building item
12:11 dalek lua: review: http://github.com/fperrad/lua/commit/11​bb33e7ef2dda889e890f6c8a6e1cf9f11f0890
12:12 * bacek want to commit patch from http://nopaste.snit.ch/17815 and create ticket for broken tests...
12:14 masak joined #parrot
12:15 Whiteknight how many tests break because of that?
12:15 bacek 2
12:15 bacek But it exposing some major failure in parrot guts...
12:15 bacek Something like "calling PIR VTABLE override doesn't pop context"
12:16 Whiteknight oh great
12:23 bacek oh noes...
12:23 bacek Looks like Sub.invoke auto-close is culpit.
12:24 bacek And I don't quite understand how to fix it...
12:24 Whiteknight line?
12:25 bacek 328
12:25 bacek It changes sub->outer_ctx
12:25 bacek And I suspect this "outer_ctx" used somewhere incorrectly.
12:26 * dukeleto is, I think, bisecting correctly now
12:27 dukeleto and attempting to write a summary blog post about google summer of code. coming up with exciting titles is hard. suggestions?
12:27 Whiteknight what is autoclose?
12:28 Whiteknight dukeleto: "GSOC: Definitely Didn't Suck"
12:28 bacek Whiteknight: erm... Way to handle lexicals
12:28 moritz purl: dukeleto
12:28 purl well, dukeleto is still feeling the effects
12:28 dalek lua: 079ec78 | fperrad++ | doc/running.pod:
12:28 dalek lua: typo
12:28 dalek lua: review: http://github.com/fperrad/lua/commit/07​9ec78baa545c7a72b986e37298d1381c14a854
12:29 moritz it seems purl doesn't learn fom actions. Good. ;-)
12:29 moritz s/fom/from/
12:30 * bacek think that context_pmc3 merge commit message is his best commit message ever :)
12:31 dukeleto Whiteknight: i might just take you up on that
12:32 dukeleto purl, moritz
12:32 purl moritz is Moritz Lenz, mailto:moritz@faui2k3.org or very boring
12:32 dukeleto !
12:32 moritz well, she's right
12:32 dukeleto purl, moritz is also very exciting
12:32 purl okay, dukeleto.
12:32 dukeleto purl, moritz
12:32 purl i heard moritz was Moritz Lenz, mailto:moritz@faui2k3.org or very boring or very exciting
12:34 dalek lua: 5c332e5 | fperrad++ | README:
12:34 dalek lua: add Hirschi citation
12:34 dalek lua: review: http://github.com/fperrad/lua/commit/5c​332e507dd8d5708fcec03fddc7bc6248578a60
12:34 dukeleto purl, dukeleto is Duke Leto Atreides I (10,140-10,191 A.G.) is a fictional character in the Dune universe created by Frank Herbert, or http://twitter.com/dukeleto
12:34 purl ...but dukeleto is still feeling the effects...
12:35 dukeleto purl, forget dukeleto
12:35 purl dukeleto: I forgot dukeleto
12:35 dukeleto purl, dukeleto is Duke Leto Atreides I (10,140-10,191 A.G.) is a fictional character in the Dune universe created by Frank Herbert, or http://twitter.com/dukeleto
12:35 purl OK, dukeleto.
12:35 Whiteknight damn straight
12:35 purl kick ass!
12:35 dukeleto botsnack
12:35 purl thanks dukeleto :)
12:37 bacek Ok, it's not "autoclose"
12:40 dukeleto evidently you have to explicitly "exit $?" from "git bisect run sh -c "some shell commands" to get the correct exit code. good to know
12:41 dukeleto or maybe that is totally wrong. i am pretty good at failing today
12:42 nopaste "Whiteknight" at 69.249.176.251 pasted "Small cleanup for bacek++" (26 lines) at http://nopaste.snit.ch/17827
12:42 moritz git bisect does not only care about wether it returned true or false, but it responds to the actual return value
12:45 bacek Whiteknight: just commit it
12:46 Whiteknight done
12:48 dalek parrot: r40991 | whiteknight++ | trunk/t/pmc/namespace-old.t:
12:48 dalek parrot: move the perl-based namespace.t to namespace-old.t
12:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40991/
12:48 dalek parrot: r40992 | whiteknight++ | trunk/src/pmc/sub.pmc:
12:48 dalek parrot: [ctx] small fix in Sub.invoke to reduce calls to Parrot_pcc_get_outer_ctx
12:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40992/
12:51 NotFound Whiteknight: manifest!
12:51 purl manifest is probably used for a ton of things, yes.
12:52 Whiteknight NotFound: cleanups forthcoming
12:54 dalek parrot: r40993 | whiteknight++ | trunk (3 files):
12:54 dalek parrot: [t] Add a new PIR-based namespace.t and move over the first test. Also, MANIFEST fix NotFound++
12:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40993/
13:00 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40990 - Ubuntu 9.04 amd64 (g++)
13:03 dalek lua: 2b6fd90 | fperrad++ | config/makefiles/root.in:
13:03 dalek lua: useless, now tests are in PIR
13:03 dalek lua: review: http://github.com/fperrad/lua/commit/2b​6fd90337618bd670df767dcef78386c6e2023f
13:03 dalek lua: 375318f | fperrad++ | src/lib/luaperl.pir:
13:03 dalek lua: remove languages/lua in path
13:03 dalek lua: review: http://github.com/fperrad/lua/commit/37​5318f2093d2eb2316bf2d64ff7664f6b71ec50
13:03 bacek Bah! It's all my fault.
13:05 sri_ joined #parrot
13:06 Whiteknight what's all your fault?
13:06 dukeleto purl, manifest is also, don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.p, unless you are using git-svn
13:06 purl ...but manifest is used for a ton of things, yes....
13:07 dukeleto purl, forget manifest
13:07 purl dukeleto: I forgot manifest
13:07 dukeleto purl, manifest is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.p, unless you are using git-svn
13:07 purl OK, dukeleto.
13:07 dukeleto purl, forget manifest
13:07 purl dukeleto: I forgot manifest
13:07 bacek Whiteknight: src/call/pcc.c:1196
13:07 dukeleto 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 you are using git-svn
13:07 purl OK, dukeleto.
13:07 * dukeleto stops making noise
13:07 Whiteknight any file with more then 1000 lines is a refactor waiting to happen
13:08 bacek Whiteknight: I have to preserve n_regs_used to put such asserts
13:08 Whiteknight oh
13:08 mikehh Whiteknight++
13:08 dalek parrot: r40994 | whiteknight++ | trunk/t/pmc (2 files):
13:08 dalek parrot: [t] move some more NameSpace tests from Perl to PIR
13:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40994/
13:09 bacek Whiteknight: there is 3K lines in call/pcc.c...
13:10 mikehh Whiteknight: you got more coming or can I test this lot?
13:11 NotFound bacek: I hope that change a lot with the pcc rewiring
13:11 Whiteknight mikehh: lots more coming
13:11 bacek NotFound: I hope so
13:11 Whiteknight I'm hoping to convert this whole file, clean it up, and expand coverage
13:11 dalek wmlscript: 465d9d1 | fperrad++ | doc/running.pod:
13:11 dalek wmlscript: update building item
13:12 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/465d9d1f5358431154d8a386b0e1f2bc70b32a70
13:12 dalek wmlscript: 73a8d05 | fperrad++ | config/makefiles/root.in:
13:12 dalek wmlscript: useless, now tests are in PIR
13:12 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/73a8d0546600c63fbb05a6f58e55e792f55268ce
13:14 * bacek always wonder how fperrad++ can work on ~5 projects concurrently
13:16 moritz probably with a good scheduler ;-)
13:25 dalek parrot: r40995 | whiteknight++ | trunk/t/pmc (2 files):
13:25 dalek parrot: [t] move over other tests, and refactor them o put like tests together
13:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40995/
13:25 dalek parrot: r40996 | whiteknight++ | trunk/t/pmc/namespace-old.t:
13:25 dalek parrot: [t] small fix to plan of namespace-old.t that I just broke
13:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40996/
13:28 dalek parrot: r40997 | NotFound++ | trunk (2 files):
13:28 dalek parrot: [cage] improve pcc signature checks
13:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40997/
13:29 Coke seen particle?
13:29 purl particle was last seen on #parrot 20 hours, 28 minutes and 26 seconds ago, saying: cotto: (i'm on the phone)
13:35 dalek parrot: r40998 | whiteknight++ | trunk/t/pmc (2 files):
13:35 dalek parrot: [t] convert two more Perl tests to PIR, and create a new test for the global namespace
13:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40998/
13:39 dalek partcl: r697 | coke++ | trunk/docs/spectest- (2 files):
13:39 dalek partcl: "2009-09-04 09:05",690,"r40969",97,7752,35​69,2132,2051,8287,"--optimize"
13:39 dalek partcl: +"2009-09-04 21:30",696,"r40982",100,8390,38​65,2278,2247,8756,"--optimize"
13:39 dalek partcl: With bumped parrot revision: complete 3 more test files, counting 296
13:39 dalek partcl: passing tests. (NotFound++ fixed 2 segfaults in parrot to get us those
13:39 dalek partcl: 3 files...)
13:39 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=697
13:40 Coke NotFound++ # counting 502 more PASSED since parrotsketch.
13:40 Coke 502/3363
13:40 purl 0.149271483794231
13:40 jrtayloriv mornin'
13:40 Coke (whoops, that edit msg had a diff in it, whoops.)
13:42 * Coke posts a few more simple todos in partcl's todo list.
13:43 szbalint dukeleto: you can do "no, x is y" for purl if you want to override something instead of the forget, define cycle :)
13:43 dukeleto szbalint++
13:43 dukeleto jrtayloriv: howdy
13:55 * bacek sharpening knife for switching n_regs_used from array to struct.
13:57 bacek But not today.
13:57 * bacek must sleep
13:57 purl $bacek->sleep(8 * 3600);
13:57 bacek G'Night
13:59 dalek parrot: r40999 | whiteknight++ | trunk/t/pmc (2 files):
13:59 dalek parrot: [t] convert 4 more test and refactor the test file again for more sanity
13:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40999/
14:05 dukeleto whiteknight++ for tests in pir
14:07 MoC joined #parrot
14:07 dukeleto Whiteknight: seems like you are not deterred by not having pir_error_outpput_like in pir, nice work!
14:08 Whiteknight dukeleto: It would be nice, but I can work around it for now
14:08 Whiteknight we can add more tests once that becomes readily available
14:08 Whiteknight more tests == more good
14:09 dukeleto +1
14:09 purl 1
14:09 cotto joined #parrot
14:22 dalek parrot: r41000 | NotFound++ | trunk/src/pmc/sub.pmc:
14:22 dalek parrot: [cage] convert some check for NULL to PMC_IS_NULL
14:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41000/
14:23 dukeleto got it!
14:25 dukeleto Merge context_pmc3 branch into trunk (r40958) causes the build to fail on darwin
14:29 nopaste "dukeleto" at 69.64.235.54 pasted "git bisect log for context_pmc3 branch merge darwin build failure" (17 lines) at http://nopaste.snit.ch/17828
14:29 dalek parrot: r41001 | whiteknight++ | trunk/t/pmc (2 files):
14:29 dalek parrot: [t] Convert more tests to PIR, delete a few duplicate tests, and add new tests
14:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41001/
14:34 dukeleto whiteknight++ is on fire
14:41 Whiteknight commit early, commit often
14:41 purl well, commit early, commit often is dangerous if you're going to break trunk
14:41 * Whiteknight has reached coding nirvana
14:48 szbalint Whiteknight: what kind of platform are you achieving 38 seconds for make coretest? :)
14:48 szbalint *using to achieve
14:52 dalek TT #980 created by jrtayloriv++: [PATCH]: GC Refactor
14:55 Psyche^ joined #parrot
14:56 dalek parrot: r41002 | mikehh++ | trunk/t/pmc/namespace.t:
14:57 dalek parrot: set svn properties
14:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41002/
15:06 Whiteknight szbalint: amd64
15:06 Whiteknight szabalint: dual-core
15:06 purl dual-core is good for virtualization
15:12 dalek wmlscript: 4651065 | fperrad++ | t/pmc/ (10 files):
15:12 dalek wmlscript: add messages
15:12 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/4651065f189a98657c5bc48c282543c74d7a2b50
15:15 Whiteknight purl msg bacek check out TT #980
15:15 purl Message for bacek stored.
15:15 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41002 - Ubuntu 9.04 amd64 (gcc)
15:16 dalek parrot: r41003 | whiteknight++ | trunk/t/pmc (2 files):
15:16 dalek parrot: [t] Convert one more test and manufacture 4 others to test ISO-8859 compatibility in NameSpaces
15:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41003/
15:19 Whiteknight Somebody just submitted a smoke report from version 0.9.0
15:19 szbalint Whiteknight: are you just executing "make coretest" or is there any special fiddling that you're doing though?
15:20 dalek parrot: r41004 | NotFound++ | trunk/t/pmc/fixedpmcarray.t:
15:20 dalek parrot: [t] Improve coverage of FPA
15:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41004/
15:20 Whiteknight make -j3 coretest TEST_JOBS=5 EXTRA_TEST_ARGS="-S"
15:20 szbalint ah :D
15:20 Whiteknight yeah, I optimize that baby for speed, since I run it so often
15:20 * Whiteknight has to go out to the store now. Layer
15:20 Whiteknight Later
15:37 mikehh rakudo (6e2104a) builds on parrot r41002 - make test / make spectest (up to r28192) PASS - Ubuntu 9.04 amd64 (g++)
15:37 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41002 - Ubuntu 9.04 amd64 (g++)
15:39 dukeleto can anyone else verify this on darwin or any other platform ? https://trac.parrot.org/parrot/ticket/979
15:44 NotFound dukeleto: Verify what?
15:44 purl somebody said Verify was optional
15:46 dukeleto NotFound: that the build fails on darwin
15:47 pmichaud dukeleto: ooc, what version of gcc?
15:48 dukeleto pmichaud: i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5484)
15:48 NotFound dukeleto: And the "any other platform" part?
15:48 dalek wmlscript: 270cb16 | fperrad++ |  (7 files):
15:49 dalek wmlscript: remove languages/wmlscript in path (.include & load_bytecode)
15:49 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/270cb165bef62184bcd306ab8a13cf91d5e0bf2d
15:49 dalek wmlscript: 4e8b248 | fperrad++ | config/makefiles/ (2 files):
15:49 dalek wmlscript: revert INSTALL_DIR
15:49 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/4e8b248f243bc2dce69885a4578a90338ae5978d
15:49 dukeleto NotFound: does this happen on any other platforms?
15:49 NotFound dukeleto: It doesn't happen in Linux i386 and Linux amd64, that's all I can check now.
15:50 cotto joined #parrot
15:55 theory joined #parrot
15:56 cotto hi
15:56 purl salut, cotto.
15:56 cotto btw, if any of you have the opportunity to buy Clearwire, don't.
16:02 * dukeleto makes note to not buy Clearwire
16:04 cotto unless you're a fan of intermittent connections.
16:04 * cotto hopes he can get FIOS in his new place
16:05 * jrtayloriv shivers thinking about the godawful satellite connection he had in Idaho.
16:05 * dukeleto is jealous of fios
16:07 cotto although reliable dsl would be fine too
16:08 NotFound In rakudo t/spec/S02-magicals/env.rakudo there are checks for copy of Env behaviour that have no corresponding test in parrot t/pmc/env.t
16:10 dukeleto NotFound: feel free to create a ticket to implement the tests in PIR :)
16:11 moritz btw the .t file is the canonical one, the .rakudo is generated
16:11 cotto I need an opinion.  The following patch fixes a gcc warning "assignment discards qualifiers from pointer target type".  Is it the right fix?
16:11 nopaste "cotto" at 74.61.2.46 pasted "possible fix for compiler warning" (35 lines) at http://nopaste.snit.ch/17829
16:12 cotto (it's in the pluggable_runcore branch, btw)
16:13 NotFound cotto: if you are going to modify the thing pointed by coredata, correct
16:15 cotto It's complaining about line 172 in src/runcore/main.c
16:15 cotto interp->cores[num_cores - 1] = coredata;
16:17 NotFound cotto: and I suppose that things pointed to by interp->cores[] are non const
16:17 dalek lua: 9ae88d8 | fperrad++ | config/makefiles/root.in:
16:17 dalek lua: fix target codetest
16:17 dalek lua: t/pmc/*.t are now PIR files
16:17 dalek lua: review: http://github.com/fperrad/lua/commit/9a​e88d80fb4d3ba615de68ef34fb2f1ac55125ac
16:17 dalek lua: 76f6a69 | fperrad++ | t/pmc/ (16 files):
16:17 dalek lua: fix PIR code coda
16:17 dalek lua: review: http://github.com/fperrad/lua/commit/76​f6a69e4c42cde6e7964fd8704ccba81a06530f
16:18 cotto NotFound, you're correct
16:18 NotFound cotto: drop that const, then.
16:19 cotto will do
16:20 Whiteknight cotto: where are you moving to?
16:20 NotFound There are very few places when we can use pointers to const, almost any part of parrot may change anything
16:22 dalek parrot: r41005 | cotto++ | branches/pluggable_runcore (2 files):
16:22 dalek parrot: [runcores] remove a const that was causing a compiler warning
16:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41005/
16:22 Whiteknight we are getting darwin reports on smolder
16:22 Whiteknight so somebody is building something
16:22 dukeleto Whiteknight: link?
16:22 NotFound Note that these warnings in C become errors in C++
16:22 Whiteknight http://smolder.plusthree.com/app/p​ublic_projects/smoke_report/26889
16:23 Whiteknight I added smolder to my RSS reader.
16:23 NotFound So yes, is nice to avoid them
16:23 Whiteknight Simultaneously a good and bad move
16:23 Whiteknight and that's from r40992, so recently
16:23 dukeleto Whiteknight: that is my smolder report :)
16:24 Whiteknight okay, so you are building on darwin
16:24 dukeleto Whiteknight: that darwin is powerpc, the darwin that doesn't build is x86
16:24 Whiteknight okay, that makes more sense then
16:24 Whiteknight anybody 'round these 'ere parts on darwin-x86?
16:24 dalek wmlscript: bdbb352 | fperrad++ | config/makefiles/root.in:
16:24 dalek wmlscript: fix target codetest
16:24 dalek wmlscript: t/pmc/*.t are now PIR files
16:24 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/bdbb3520d6db3cab8df42defd54913e9579cfd7c
16:24 dalek wmlscript: 763756e | fperrad++ | t/pmc/ (10 files):
16:24 dalek wmlscript: fix PIR code coda
16:24 dalek wmlscript: review: http://github.com/fperrad/wmlscript/commit​/763756e3ba5a2031eab2de042f60406ebe663f85
16:27 dukeleto make smolder_test doesn't get past "make" on darwin-x86 :(
16:27 Whiteknight damnit
16:27 dukeleto shall i make a ticket for that?
16:32 dalek TT #981 created by dukeleto++: make smolder_test doesn't report some broken builds
16:33 szbalint hm interesting, admittedly it's probably me doing something wrong, but time make -j3 coretest TEST_JOBS=5 EXTRA_TEST_ARGS="-S" results in 3 minutes of runtime for me on a Xeon E5420 8 core system. do I need to build Parrot with some special options to get your 38 seconds, Whiteknight ? :)
16:34 Whiteknight szbalint: on an 8-core machine, change it to -j9 and TEST_JOBS=10
16:34 Whiteknight you want to utilize all your cores
16:36 Whiteknight I don't even optimize. I will try that now and see what I get
16:36 Whiteknight of course, I have nothing else running
16:39 Whiteknight pmichaud: ping
16:40 Whiteknight purl msg pmichaud: If I have a string encoded as iso-8859-1 as a key in hash, should I be able to look it up using a string encoded as Unicode?
16:40 purl Message for pmichaud stored.
16:45 szbalint hm, it doesn't actually seem to make any difference what kind of options I'm specifying for make, -j1 or -j9. Weird.
16:49 moritz szbalint: which platform?
16:49 purl I'm running on OS/2 on an Atari, can you help?
16:50 szbalint SuSe Enterprise 10, x86_64
16:50 moritz weird, GNU make usually understands it
16:51 * Coke pats purl onna head.
16:54 szbalint I had nothing but trouble with suse so far :)
17:00 szbalint ah now I know what was the issue
17:00 szbalint I had a really old Test::Harness installed on the system
17:08 nopaste "NotFound" at 213.96.228.50 pasted "patch: load_bytecode in parrot HLL context" (25 lines) at http://nopaste.snit.ch/17830
17:09 NotFound Can someone check if this patch fixes the cross language issues?
17:22 theory joined #parrot
17:23 mikehh Hey I forgot to report that All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41004 - Ubuntu 9.04 amd64 (g++)
17:24 mokurai joined #parrot
17:27 jrtayloriv joined #parrot
17:30 cotto NotFound++ for reminding me of the c++ build
17:32 dalek parrot: r41006 | cotto++ | branches/pluggable_runcore (3 files):
17:32 dalek parrot: [profiling] various fixes to fix the C++ build
17:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41006/
17:35 cotto much better than fixes intended to break the C++ build
17:36 dalek parrot: r41007 | whiteknight++ | trunk/t/pmc (2 files):
17:36 dalek parrot: [t] convert more tests to PIR, delete unnecessary tests, and add new HLL-related tests
17:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41007/
17:36 jrtayloriv Has there been any talk about renaming Small_Object_Pool, Memory_Pool, and Arenas to more intuitive names (i.e. names which describe their purpose) ? If so, what were the points against doing so?
17:37 jrtayloriv Maybe Fixed_Size_Mem_Pool, Var_Size_Mem_Pool, and Memory_Pools, respectively?
17:39 moritz the most probably answer is "nobody was there to come up with good names and JFDI"
17:39 moritz afk
17:39 cotto jrtayloriv, go ahead and submit a patch.  That sounds like something Whiteknight would appreciate.
17:39 Whiteknight jrtayloriv: yes! patches welcome!
17:40 jrtayloriv Whiteknight, OK -- will do.
17:41 cotto seen allison
17:41 purl allison was last seen on #parrot 5 days, 14 hours, 36 minutes and 47 seconds ago, saying: but, jerry handled the original purchase, so waiting for him to renew  [Aug 31 02:58:06 2009]
17:43 cotto When the architect's away...
17:46 payload joined #parrot
17:51 dukeleto cotto: the mice will dance on the tables
17:52 dukeleto Wenn die Katze aus denn Haus ist, tanzen die Mauese auf den Tisch.
17:53 cotto I like that version.
18:04 chromatic joined #parrot
18:07 dalek parrot: r41008 | cotto++ | branches/pluggable_runcore/i​nclude/parrot/runcore_api.h:
18:07 dalek parrot: [profiling] fix a small but important typo
18:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41008/
18:08 tetragon joined #parrot
18:12 jrtayloriv Would someone with a commit bit mind taking a look at TT#980, and possibly creating a branch so that I could continue working on it?
18:13 dalek parrot: r41009 | whiteknight++ | trunk/t/pmc/namespace.t:
18:13 dalek parrot: [t] create about 14 new tests for various methods in the NameSpace PMC
18:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41009/
18:14 chromatic I was about to suggest that.
18:19 iblechbot joined #parrot
18:22 pmichaud Whiteknight: (iso-8859-1 versus unicode)  Yes, I believe that you should be able to do that
18:24 pmichaud it's certainly the case that Parrot returns true for comparison of iso-8859-1 and unicode strings
18:25 pmichaud (assuming they have equivalent codepoints)
18:25 NotFound Regarding the Env thing I mentioned before: the problem is not writing the test, but deciding what's the behaviour we want: copying the Env singleton must give the Env singleton as result, or some inactive copy of his content?
18:30 dukeleto jrtayloriv: did you get your branch that you needed?
18:31 jrtayloriv dukeleto, nope, not yet
18:31 dukeleto jrtayloriv: what do you want it called?
18:32 jrtayloriv gc-refactor ?
18:32 jrtayloriv don't really care though.
18:37 dalek parrot: r41010 | dukeleto++ | branches/gc-refactor:
18:37 dalek parrot: Creating a branch for jrtayloriv++ to work on for GC refactoring
18:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41010/
18:37 jrtayloriv muchas gracias
18:39 dukeleto jrtayloriv: no problem. i applied your patches to it as well
18:40 jrtayloriv duk3leto, awesome -- thanks -- should I just attach further patches to the branch to TT980 ?
18:41 dalek parrot: r41011 | dukeleto++ | branches/gc-refactor (19 files):
18:41 dalek parrot: [TT #980] Apply patches attached to ticket
18:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41011/
18:52 dukeleto jrtayloriv: yes, please checkout the branch and apply further patches to that
18:52 dukeleto jrtayloriv: and get a commit bit soon ;)
18:54 jrtayloriv dukeleto, sent in a CLA a few days ago -- hopefully I won't have to pester everyone so much after that :)
18:55 dukeleto jrtayloriv: great news! i think you have all the vouching you need, so as soon as it gets their by mail, you should be set
18:55 dukeleto some dumptrucks take longer tubes than others
18:57 chromatic It's here; we can activate him anytime.
19:01 dukeleto DO IT
19:01 dukeleto chromatic: he is burying me in patches ;)
19:01 chromatic jrtayloriv, can you create an account on parrot.org?
19:02 cotto It's likely he used one to file TT #980
19:03 jrtayloriv chromatic, done
19:03 chromatic Thanks.  cotto, I think that's a Trac account which is different.
19:04 chromatic jrtayloriv, I think I've enabled SVN access for you.
19:05 cotto Oh.  I thought they were the same.
19:05 chromatic Hang on a moment...
19:06 * jrtayloriv hangs on
19:06 chromatic There you go.
19:07 * jrtayloriv let's go
19:08 jrtayloriv is user/pass same as my parrot.org account?
19:10 chromatic Your trac account.
19:11 dalek parrot: r41012 | whiteknight++ | trunk/t/pmc/namespace.t:
19:11 dalek parrot: [t] add some notes for later
19:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41012/
19:11 dukeleto jrtayloriv: add yourself to CREDITS to test out your bit
19:12 jrtayloriv dukeleto, chromatic -- ok
19:15 kyle_l5l joined #parrot
19:17 cotto It's a terrible habit I have to code before thinking.
19:21 jrtayloriv dukeleto, guess it's about time now then to fix this irritating little SVN bug/problem I've been having. For some reason, every time I do 'svn diff' on a fresh SVN copy of parrot, I get this: http://pastebin.com/d5a8f7ca
19:22 chromatic Autoprops?
19:22 jrtayloriv I've tried deleting all of my SVN dirs before, and it keeps popping up anyway. But if I open the file in a text editor, the file is not changed,
19:22 dukeleto jrtayloriv: which editor?
19:22 purl it has been said that which editor is sri using in those videos?
19:22 jrtayloriv I've just been manually deleting that portion every time I've made a patch.
19:23 dukeleto jrtayloriv: are you using svn diff ?
19:23 dukeleto jrtayloriv: or plain diff?
19:23 jrtayloriv dukeleto, svn diff
19:23 dukeleto purl, forget which editor
19:23 purl dukeleto: I forgot which editor
19:24 jrtayloriv dukeleto, emacs and vi both show the file as unchanged.
19:26 dalek parrot: r41013 | whiteknight++ | trunk/t/pmc/namespace.t:
19:26 dalek parrot: [t] clarifying a test that doesn't work but probably should for pmichaud++
19:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41013/
19:26 jrtayloriv chromatic, I heard you btw -- reading about autoprops right now.
19:27 Whiteknight purm msg pmichaud: t/pmc/namespace.t has tw commented-out tests with a "TODO" comment after r41013 that don't work but I feel like it should. Can you see if I'm doing it right?
19:28 dukeleto Whiteknight++ for test coverage
19:28 dukeleto karma whiteknight
19:28 purl whiteknight has karma of 1253
19:28 dukeleto karma Whiteknight
19:28 purl whiteknight has karma of 1253
19:28 jrtayloriv dukeleto, nm -- I got it. Just had to do svn revert.
19:28 dukeleto ok, just making sure it was case insensitive
19:34 shockwave joined #parrot
19:35 jrtayloriv I did --> svn commit --username jrtayloriv --password mypassword --message 'testing commit bit'
19:35 shockwave joined #parrot
19:35 jrtayloriv and got this error --> svn: Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY request for '/parrot/!svn/act/cc95fd9f-b​5ae-49e9-8e67-c8fb43a0805c'
19:36 cotto Try doing a checkout with your u/p.
19:36 jrtayloriv cotto, ok
19:37 jrtayloriv cotto, no problems with checkout
19:38 jrtayloriv cotto, Are you saying that if I edit that copy, the commit should work?
19:38 cotto you should be able to modify and commit from that then.
19:38 jrtayloriv :) ok
19:39 jrtayloriv cotto, do I have to enter my u/p every time I do 'svn up' ?
19:39 chromatic SVN should cache your credentials.
19:39 shockwave Hello, All. I would like to add scripting language capability to my 3D engine, which can currently be used to create games. I first tried to write my own language and VM but the combo was too difficult. I then tried a couple of other already made engines, including Google's V8 and another one, but found them unsuitable for the task for various reasons. Now, I'm considering wrinting my own language again. And I'm wondering: Would parrot be
19:40 shockwave As some of you may know, Lua is used alot for this.
19:40 dukeleto schockwave: i think your question got cut off. please continue from "And I'm wondering"
19:40 shockwave But I really don't like the Lua syntax. I can't get over it.
19:41 dukeleto shockwave: do you want to write your own language or use a language that currently runs on parrot?
19:41 shockwave ... And I'm wondering: Would parrot be fast enought to handle high level game logic?
19:41 shockwave dukeleto, write my own.
19:41 shockwave dukeleto, actually, I'm already in the process (couldn't help myself :))
19:41 dukeleto shockwave: parrot is faster than perl 5 for many things
19:42 jrtayloriv chromatic, cotto -- nope still failing with the same message
19:42 dukeleto shockwave: that means it faster than most dynamic languages.
19:42 dukeleto jrtayloriv: svn version?
19:42 purl svn version is fine it's just the one on the server that's wrong I think
19:42 dukeleto purl, forget svn version
19:42 purl dukeleto: I forgot svn version
19:43 chromatic I might have done something wrong on the server.
19:43 jrtayloriv dukeleto, version 1.6.4
19:43 dukeleto that is quite recent. just wondering
19:43 shockwave dukeleto, the tutorials and such make use of the parrot binary to compile scripts, but I should be able to do that from an embeeded app, correct?
19:44 dukeleto shockwave: you can compile a string of code in a given language from PIR
19:45 chromatic Please try again now, jrtayloriv.
19:45 shockwave dukeleto, You mean, I can compile my language to PIR, and then compile that into PBC?
19:45 dalek parrot: r41014 | jrtayloriv++ | trunk/CREDITS:
19:45 dalek parrot: testing commit bit
19:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41014/
19:45 dukeleto shockwave: you can do that too
19:46 dukeleto jrtayloriv++ on his first commit
19:46 chromatic Okay dukeleto, you get to watch him 'cuz you've been reading his patches anyway.
19:46 chromatic Rule 1: don't break the build
19:46 chromatic Rule 2: be awesome
19:46 dukeleto Rule 1a: don't break the build on any platform (more fun!)
19:47 dukeleto parrot is broken on darwin-x86 right now :(
19:47 dukeleto beer or chocolate for whoever fixes it
19:47 chromatic Can you git-bisect the branch to find a specific commit there?
19:48 dukeleto chromatic: that is a great question
19:48 shockwave dukeleto, Cool. I'm just wondering if I need the parrot binary at all when embedding, of if anything that can be dont in the parrot binary can be doing with the API (which I assume). I'm planning to write my language scripts, but let the 3D game take care of compiling them, and running them.
19:49 chromatic shockwave, you can do everything you need with libparrot.
19:49 dukeleto shockwave: you can embed parrot and the public API should allow anything that you can do with the binary
19:49 chromatic The Parrot binary is a thin wrapper around libparrot.
19:49 shockwave dukeleto, chromatic: Ok, thank you very much to for the help. That's all I needed to hear.
19:57 jhelwig joined #parrot
19:58 jrtayloriv joined #parrot
19:58 dukeleto jhelwig: i need to git bisect the context_pmc3 branch
19:59 dukeleto jhelwig: it only fails on darwin x86, so I need to know the commands and run it on my machine
19:59 jhelwig You know that context_pmc3 caused the breakage?
19:59 dukeleto everyone, meet jhelwig++. he is a git-svn ninja. he is hacking on making mk_manifest.pl work with git-svn as well
20:00 dukeleto jhelwig: there is a bisect log at https://trac.parrot.org/parrot/ticket/979
20:00 jhelwig Hi, everybody! </doctor nick>
20:00 dukeleto jhelwig: linked to there, in the comments
20:00 dukeleto jhelwig: i haven't had a chance to tell people about the parrot and pugs git-svn mirrors, so the pleasure is all yours :)
20:04 dukeleto jhelwig: i went and got the sha1 of the context_pmc3 being merged in and I am bisecting from there. but I think I need to get the sha1 of when it was *created*, correct?
20:05 jhelwig dukeleto: Yeah.  git merge-base trunk <the-sha1-you have>^2
20:06 jhelwig ^2, because you want context_pmc3, before the merge.  ^1 would give you trunk before the merge.
20:06 dukeleto jhelwig: that will work, if I have it in my git svn clone
20:07 jhelwig What don't you have?
20:08 dukeleto jhelwig:  $ git merge-base trunk 72913096c5baf54358d3445fc4688d52a142bdbc^2
20:08 dukeleto fatal: Not a valid object name 72913096c5baf54358d3445fc4688d52a142bdbc^2
20:08 dukeleto jhelwig: i need to use one of your mirrors that has the whole history
20:09 jhelwig dukeleto: http://technosorcery.net/parrot-git-svn.tbz
20:11 jhelwig dukeleto: I'm not seeing where context_pmc3 was merged in to trunk.
20:11 dukeleto jhelwig: r40958
20:12 jhelwig Oh, of course.  I forgot about the whole "dealing with SVN" thing. :-\
20:13 jhelwig context_pmc3 wouldn't show that it was merged in.
20:14 jhelwig ^2 won't work, because it's dealing with SVN.
20:14 dukeleto i am currently trying to find the first commit via shitty "svn log"
20:15 jhelwig r40679
20:15 jhelwig dukeleto: git svn find-rev `git merge-base trunk context_pmc3`
20:15 dukeleto for the win
20:17 dukeleto jhelwig: that rev looks like a commit from bacek to trunk. you sure?
20:18 jhelwig That is the commit just before context_pmc3 started.
20:18 jhelwig What it branched off from.
20:18 dukeleto jhelwig: ok
20:19 dukeleto jhelwig: so i mark that as the beginning of the bisect?
20:20 jhelwig git bisect good $(git merge-base trunk context_pmc3)
20:20 jhelwig Yeah.
20:23 dukeleto jhelwig: i think i am doing it now
20:23 dalek parrot: r41015 | jrtayloriv++ | branches/gc-refactor (14 files):
20:23 dalek parrot: gave sensible names to Small_Obj_Pool and Memory_Pool
20:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41015/
20:28 bacek joined #parrot
20:36 dalek parrot: r41016 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
20:36 dalek parrot: [profiling] print op info after the context switch that affects it and be smarter about what's printed
20:36 dalek parrot: also, fix an unnecessary cast
20:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41016/
20:41 dukeleto jhelwig: it gives me back the merge commit
20:43 nopaste "dukeleto" at 69.64.235.54 pasted "git bisect of context_pmc3 branch" (17 lines) at http://nopaste.snit.ch/17831
20:46 jhelwig dukeleto: git checkout context_pmc3; git bisect start ; git bisect good $(git merge-base trunk context_pmc3); git bisect bad; git bisect run .....
20:46 jhelwig That what you did?
20:47 dukeleto jhelwig: not quite. let me try it again
20:53 Zak joined #parrot
20:53 shockwave left #parrot
20:58 bacek Good morning
20:58 purl And good moroning to you, bacek.
21:00 dukeleto bacek: morning! context_pmc3 seems to have broken the build on darwin-x86 :(
21:00 cotto hi bacek
21:00 bacek dukeleto: git checkout -b context_pmc3_locat; git reset --hard remotes/context_pmc3; git bisect start; git bisect good 0cf68bb6a5800bc02edd6556c0dc280fb23aac75
21:01 bacek hi cotto
21:01 bacek jrtayloriv++ # Welcome aboard
21:03 bacek dukeleto: This will run bisect in branch.
21:03 dukeleto bacek: your sha1 is probably not the same as mine right? i am getting an error
21:04 dukeleto Bad rev input: 0cf68bb6a5800bc02edd6556c0dc280fb23aac75
21:04 bacek dukeleto: ah. r40696
21:04 dukeleto bacek: git merge-base trunk context_pmc3
21:04 bacek just grep proper revision from git log
21:04 jhelwig bacek: git svn find-rev r40696
21:04 jhelwig It's quicker.
21:05 bacek jhelwig: O! Good to know
21:05 jhelwig Also does SHA1 -> SVN rev.
21:07 bacek jrtayloriv: ping
21:08 sri joined #parrot
21:11 dukeleto bacek: i also had to say "git bisect bad trunk"
21:11 dukeleto jhelwig: git bisect bad with no args does what?
21:11 bacek "git bisect bad" should be enough
21:11 bacek It will use HEAD from branch
21:12 sri joined #parrot
21:13 sri joined #parrot
21:13 sri joined #parrot
21:16 dukeleto jhelwig: you should add an ascii progress bar to git bisect :)
21:16 bacek jhelwig: and blackjack! and hookers!!! :)
21:17 jhelwig dukeleto: :-P
21:18 dukeleto bacek: that will be in the enterprise version ;)
21:18 szbalint in fact, forget about the blackjack
21:18 szbalint :)
21:20 dalek parrot: r41017 | cotto++ | branches/pluggable_runcore (3 files):
21:20 dalek parrot: [profiling] detect and handle separate subs that get called with the same context
21:20 dalek parrot: (it appears to be related to subclasses and :init)
21:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41017/
21:21 dukeleto jhelwig: you get anywhere on the git-svn support for the manifest?
21:22 jhelwig Haven't really looked at it since last time.  Might put some more time in on it this weekend.
21:23 dukeleto jhelwig: if you have any questions about Parrot::Manifest, this is the place to ask
21:26 cotto s/::Manifest//
21:27 dukeleto cotto: don't scare him yet
21:28 jrtayloriv bacek, pong
21:29 bacek jrtayloriv: Did you see https://trac.parrot.org/parrot/wiki/GCTasklist (GC rewrapping talk)
21:30 dukeleto bacek: first bad commit is r40846
21:30 bacek dukeleto: looking
21:31 bacek dukeleto: erm... There is no r40846 in branch...
21:31 jrtayloriv bacek, no, I hadn't seen that -- thanks for pointing that out. I was thinking of doing several things similar to the stuff mentioned in there.
21:31 bacek jrtayloriv: yaeh. It was ~8 hours ago.
21:32 jrtayloriv :)
21:32 dukeleto bacek: i bisected the first commit of context_pmc3 to trunk
21:32 jrtayloriv bacek, oh I see -- you were talking about the section at the bottom
21:33 jhelwig dukeleto: r40846 is only in trunk, context_attrs, gc-refactor, and kill_parrot_cont.
21:33 dukeleto so that is why that it only breaks on darwin when trunk was merged with context_pmc3, correct?
21:37 bacek dukeleto: or you choose wrong "good" version...
21:38 jhelwig bacek: He should have been doing: git checkout context_pmc3; git bisect start ; git bisect good $(git merge-base trunk context_pmc3); git bisect bad; git bisect run .....
21:38 dukeleto bacek: yeah. looks like i b0rked it, 'cause that commit compiles
21:38 dukeleto jhelwig: 4th times a charm
21:39 * bacek need more coffee
21:39 dukeleto jhelwig: ok, i just did *exactly* that and now: Bisecting: 24 revisions left to test after this (roughly 5 steps)
21:40 chromatic Let's deprecate all functions that modify STRINGs in place.
21:40 dukeleto chromatic: what is your reasoning?
21:40 bacek (git merge-base trunk context_pmc3) is wrong commit.
21:41 dukeleto git ninja duel: begin!
21:41 chromatic If we treat STRINGs as immutable, we can create copies only when we *know* we need them, not preemptively whenever we might possibly need them.
21:41 bacek dukeleto: try "git svn find-rev r40696"
21:41 jhelwig bacek: Why do you say that?  It's the first commit _before_ context_pmc3 started.  If the branch caused the breakage, then it's the only one guaranteed to be good.
21:42 bacek jhelwig: on my checkout it gives commit deep inside context_pmc3 branch
21:42 bacek jhelwig: ah.
21:42 bacek looks like I'm wrong
21:42 jrtayloriv bacek, Very interesting ideas in there -- trying to wrap my head around them now. Feel free to help out on the gc-refactor branch with me.
21:43 cotto chromatic, so superCOW?
21:43 bacek jrtayloriv: ok, deal :)
21:43 dukeleto chromatic: which bring a noticeable speed improvement?
21:43 chromatic A measurable one anyway.
21:43 chromatic Once we have that in place, we can have singleton STRINGs.
21:44 chromatic Better memory use.
21:44 chromatic FAST comparisons.
21:44 chromatic VERY FAST hash lookups, with STRING keys.
21:45 dukeleto chromatic: which and how many functions would that involve deprecating?
21:45 chromatic Half of src/string/api.c, maybe.  Handwave.
21:47 bacek dukeleto: grep _inplace src/string/api.c
21:47 dalek parrot: r41018 | cotto++ | branches/pluggable_runcore (2 files):
21:47 dalek parrot: [profiling] add explicit detection of runloop termination
21:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41018/
21:49 bacek chromatic: hashvalue is cached in STRING anyway.
21:53 chromatic Calculating a hash value is more expensive than you think.
21:54 chromatic Comparing singleton STRINGs for equality is a single pointer comparison.
21:54 kid51 joined #parrot
21:55 cotto How much time do we spend comparing STRINGs?
21:56 chromatic 5% of the time in Rakudo startup is STRING hashing and comparison.
21:57 chromatic 8.5% of the time of Rakudo's startup is creating COW STRINGs.
21:57 bacek chromatic: immutable strings will not give much improvements...
21:57 bacek Because of charset/encoding.
21:57 chromatic Why not?
21:58 bacek Even if pointers different we can't say that strings are different
22:01 Whiteknight joined #parrot
22:05 cotto The philosophy of being encoding-agnostic doesn't help there.
22:07 bacek cotto: indeed... We just have to separate STRING and "BYTE ARRAY".
22:07 NotFound I'm tempted to say one more time: kll charset!
22:07 bacek And encoding!
22:08 NotFound bacek: That will simplify code, but loss some funcionality
22:08 bacek NotFound: why?
22:08 dalek parrot: r41019 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
22:08 dalek parrot: [pprof2cg] actually empty the array and remove some debugging code
22:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41019/
22:08 cotto chromatic, do you know how I can find out if I'm in the that imcc is considering to be :main?
22:08 dukeleto bacek: i think it is r40702 that broke the darwin-x86 build. it causes a bus error
22:09 cotto (either the first one it finds or the one actually marked as such)
22:09 NotFound bacek: well, maybe they can be killed from string, but we still need them for IO
22:09 bacek dukeleto: ouch... It's first big commit...
22:10 dukeleto bacek: yeah, i looked through the first 10 pages or so ...
22:10 bacek NotFound: String.toBytes(Encoding)
22:10 bacek NotFound: We can implement all functionality in String PMC.
22:11 nopaste "dukeleto" at 69.64.235.54 pasted "build error on darwin-x86 at r40702" (22 lines) at http://nopaste.snit.ch/17832
22:11 bacek dukeleto: interactive gdb session?
22:13 cotto chromatic, nm.  found it
22:13 kid51 What *branches* of Parrot need testing over the next couple of days?
22:15 bacek kid51: pluggable_runcore?
22:15 kid51 Whiteknight ping
22:15 * dukeleto has just found an interesting freakin' bug
22:15 Whiteknight pong
22:15 kid51 bacek:  ok
22:15 bacek dukeleto: trunk or branch?
22:16 kid51 Whiteknight re your msg about 'make coretest <runcore>'. ...
22:16 dukeleto bacek: r40702
22:16 kid51 I don't see why not. It's just another 'make' target, correct?
22:16 Whiteknight kid51: yeah, I sort of have a workaround now
22:16 Whiteknight I've been doing make coretest EXTRA_TEST_ARGS="-S"
22:17 dukeleto bacek: i think my bisect hit the first commit that didn't compile, but not for the correct reason :(
22:17 bacek dukeleto: sigh...
22:17 cotto kid51, pluggable_runcore isn't likely to fail anything except codingstd tests.  I haven't written any tests of the actual runcore yet.
22:17 cotto Making sure that it builds on a variety of platforms is good though.
22:18 bacek seen mj41
22:18 purl mj41 was last seen on #parrot 2 days, 15 hours, 48 minutes and 33 seconds ago, saying: ttbot was paused because of Error validating server certificate  ...  - Hostname: *.parrot.org - Valid: from Aug 29 16:54:34 2008 GMT until Aug 29 16:54:34 2009 GMT  [Sep  3 06:23:09 2009]
22:19 cotto apparently PF_MAIN doesn't mean what I was hoping it'd mean
22:19 dukeleto bacek: was there anything darwin specific in your context_pmc3 branch?
22:19 bacek msg mj41 can you resurrect box 11?
22:19 purl Message for mj41 stored.
22:19 bacek dukeleto: not at all. Just shuffling context around
22:20 kid51 Whiteknight:  While I'm not a 'make' expert, I think what you describe as a workaround is the "official" way to do what you want.
22:20 nopaste "dukeleto" at 69.64.235.54 pasted "odd build failure on darwin-x86, r40702 . something with the environment variables?" (32 lines) at http://nopaste.snit.ch/17833
22:20 kid51 And it has the advantage of not requiring us to add/test/maintain more 'make' targets in config/gen/makefiles/root.in.
22:20 Whiteknight yeah, so I'll just stick with that. I can do an alias locally
22:21 kid51 I think that's best.  I have several aliases for Smolder, full test, etc.
22:23 bacek dukeleto: do you have gdb around?
22:24 kid51 dukeleto:  FWIW, I'm not getting any Darwin build failures on Mac OS X 10.4.11/PPC.
22:24 bacek kid51: it's on x86...
22:24 kid51 So this might be specific to Intel ... or it might be specific to your OS version ... or something else entirely.
22:25 NotFound dukeleto: maybe you need to test the memory of that machine?
22:25 dukeleto bacek: if you look at the nopaste, it causes a build error from make but works fine from the command line. when i ran gdb on it, it worked fine
22:26 dukeleto NotFound: sad but true
22:26 dukeleto this is a great excuse to upgrade to 4gb
22:27 tetragon joined #parrot
22:27 NotFound Great way to test
22:27 bacek dukeleto: oh shi...
22:28 dukeleto bacek: ?
22:29 bacek dukeleto: if it works fine from command line there is only 2 options: bed memory on your machine or, more likely, memory overrun in parrot.
22:29 dukeleto kid51: i have a 10.5 powerpc that submits smolder reports. it doesn't seem to fail either. but thanks :)
22:29 bacek And I don't like both of them.
22:29 dukeleto this is a no-win situation, except for the guy that sells me memory
22:30 bacek dukeleto: :)
22:30 kid51 True, but Mr Memory is the guy who got shot at the end of "The 39 Steps."
22:31 bacek valgrind doesn't report any errors on compiling PCT.pir...
22:31 bacek Hmm... It can be some unintialised variables in action. Platform specific.
22:32 bacek dukeleto: Is there is valgrind for macosx?
22:32 bacek ETOOMANYIS
22:33 bacek A-ha! x86/Darwin (Mac OS X): support is new.
22:33 bacek dukeleto: do you use 32 or 64 bits version?
22:33 dukeleto bacek: there was a svn rev for it, last i know
22:33 dukeleto bacek: of what? parrot?
22:33 bacek dukeleto: macosx
22:34 dukeleto bacek: not sure how to tell
22:35 bacek dukeleto: can you try to install valgrind? It will be very helpful.
22:35 dukeleto bacek: yes, i have an older version. does the new version officially support os x?
22:35 dukeleto valgrind --version
22:35 dukeleto valgrind-3.4.0.SVN
22:35 bacek dukeleto: according to site - yes.
22:36 bacek but this version may help as well
22:36 bacek Just run valgrind ../../parrot -o ../../runtime/parrot/library/PCT.pbc --output-pbc PCT.pir within compilers/pct
22:37 kid51 In pluggable_runcore branch, something is causing t/codingstd/pdd_format.t to hang indefinitely.
22:37 dukeleto bacek: aren't there a bunch more flags I can give it?
22:37 kid51 make codetest has been stuck there for me for > 5 minutes
22:37 bacek dukeleto: no.
22:38 dukeleto bacek: it didn't find any errors
22:38 bacek dukeleto: for errors checks it's enough.
22:38 kid51 Hmm, it ran, albeit slowly, with prove -v.
22:38 dukeleto perhaps i should try the newer version
22:38 bacek dukeleto: ouch... It's getting more mysterious.
22:38 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41019 - Ubuntu 9.04 amd64 (gcc)
22:38 * kid51 tries 'make codetest' again in branch
22:39 mikehh kid51: which branch you testin'
22:39 dukeleto bacek: why can't I do "valgrind make" ?
22:39 kid51 pluggable_runcore
22:39 dukeleto bacek: i actually did that just now, mysterious output
22:39 bacek dukeleto: hmm... Because valgrind targeting single process.
22:39 bacek dukeleto: nopaste?
22:39 purl well, nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
22:40 nopaste "dukeleto" at 69.64.235.54 pasted "valgrind make on r40702" (34 lines) at http://nopaste.snit.ch/17834
22:40 cotto kid51, that test works fine for me
22:41 kid51 Maybe it's slow because I'm doing make fulltest on trunk on same box
22:42 rg1 joined #parrot
22:43 nopaste "dukeleto" at 69.64.235.54 pasted "valgrind make with more flags on r40702" (324 lines) at http://nopaste.snit.ch/17835
22:43 dukeleto bacek: gotcha
22:43 dukeleto bacek: i am going to try on trunk
22:44 bacek dukeleto: this is bugs in "make", not parrot.
22:45 dukeleto bacek: yeah, i noticed that. sucks
22:46 * dukeleto gives himself a gold watch
22:47 cotto so we're triggering a make bug?  nice.
22:48 NotFound make bug
22:48 bacek cotto: no. But valgrind report some make bugs.
22:48 mikehh missed reporting - rakudo (6e2104a) builds on parrot r41004 - make test / make spectest (up to r28192) PASS - Ubuntu 9.04 amd64 (g++)
22:48 dukeleto it could also be incomplete valgrind workings on os x, since i am on 3.4.0, not the 3.5.0 that actually supports os x
22:54 mikehh rakudo (6e2104a) builds on parrot r41019 - make test / make spectest (up to r28193) PASS - Ubuntu 9.04 amd64 (gcc)
22:57 nopaste "bacek" at 114.73.158.5 pasted "Patch to test on amd64 for mikehh++" (78 lines) at http://nopaste.snit.ch/17836
22:57 bacek mikehh: can you test nopasted patch on amd64?
22:59 bacek Who is "parrot_debugger master"?
22:59 dukeleto SWEET MOTHER I FOUND IT
22:59 bacek dukeleto++ # Hooray!
23:00 bacek Ship it!
23:00 nopaste "dukeleto" at 69.64.235.54 pasted "valgrind output of PBC bytecode generation that causes Invalid charset number '8' specified" (81 lines) at http://nopaste.snit.ch/17837
23:01 Andy joined #parrot
23:01 dukeleto bacek: it seems to be using /usr/local/lib/parrot.dylib instead of the one in the tree. is that correct?
23:02 mikehh bacek: that's on trunk?
23:02 bacek mikehh: yes
23:02 mikehh ok I'll try it
23:02 dukeleto the nopaste is from trunk
23:03 bacek dukeleto: yes... Did you notice Configure warning? :)
23:03 Andy joined #parrot
23:03 NotFound dukeleto: loading two versions of the parrot dl usually gives charset and encoding errors
23:03 dukeleto mikehh: that error only seems to happen on darwin-x86, but maybe valgrind will give you a useful hint
23:03 cotto even fewer bugs!
23:04 dukeleto bacek: no warnings from Configure.pl
23:04 bacek dukeleto: hmm... Looks like Configure on darwin didn't check for installed parrot.
23:04 NotFound dukeleto: I warn you, just in case Configure.pl doesn't ;)
23:05 mikehh cardinal - builds on parrot r41019 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (gcc)
23:05 dukeleto NotFound: thanks for the warning
23:06 dukeleto where do I go to fix that?
23:06 dalek parrot: r41020 | cotto++ | branches/pluggable_runcore (2 files):
23:06 dalek parrot: [profiling] make all runloops visible by means of a silly hack that gives them all a fake parent context
23:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41020/
23:06 NotFound dukeleto: rm usually helps ;)
23:06 dukeleto NotFound: i rm'ed my installed parrot. but where do I go in the parrot code to properly warn someone at Configure time ?
23:08 NotFound The error message comes from config/inter/libparrot.pm
23:09 NotFound "See RT #52288: the check for old_versions should be improved"
23:10 NotFound Certainly ;)
23:10 Whiteknight dukeleto++
23:11 NotFound There is no "if ($^O eq 'Some damm apple invention')
23:13 bacek mikehh: any luck with patch?
23:16 kid51 'make codetest' passed on pluggable_runcore branch at r41019
23:17 cotto it'd better
23:19 cotto I'm glad chromatic hasn't had time to review that branch yet.  It's nice to be able to catch and fix stupid stuff before he sees it.
23:19 dukeleto NotFound: darwin
23:19 kid51 make fulltest passed on trunk on Linux/i386
23:21 cotto Is there an eta on the kill_parrot_cont merge?  I don't want to sync with trunk now if that branch going to be merged soon anyway.
23:21 Whiteknight cotto: is there any kind of estimate for merging the branch yet?
23:21 cotto amazing
23:21 Whiteknight cotto: I could do that branch tonight I supposed, if context_pmc3 is settled
23:21 cotto I'm still finding bugs.  I was going to merge so I could give rakudo another shot.
23:21 cotto s/merge/sync with trunk/
23:22 cotto I'll merge as soon as I can get a rakudo and partcl hello world profiled, but I don't know how far off that is.
23:23 nopaste "dukeleto" at 69.64.235.54 pasted "teach config/inter/libparrot.pm about darwin" (14 lines) at http://nopaste.snit.ch/17838
23:23 dukeleto NotFound: codereview nopaste please
23:24 Whiteknight cotto: I'm doing the kill_parrot_cont merge now. Be in in a few minutes
23:25 dukeleto now that i can compile parrot again, i can work on test_more.pir
23:25 cotto great!
23:25 cotto I'm running tcl hello world now.  It's making normal partcl look speedy
23:26 Whiteknight urg, lots of conflicts already
23:27 mikehh bacek: building now
23:27 NotFound dukeleto: looks good
23:27 dukeleto NotFound: danke
23:31 dukeleto valgrind++
23:31 dukeleto karma valgrind
23:31 purl valgrind has karma of 24
23:31 dukeleto valgrind++
23:32 mikehh bacek: make test PASS, running fulltest now
23:34 bacek mikehh: thanks!
23:34 dukeleto $ make test
23:34 dukeleto make: *** No rule to make target `test'.  Stop.
23:34 cotto 1.5 seconds for normal tcl hello world, 4m15s for profiled tcl hello world
23:35 dukeleto erg. that was in the valgrind dir
23:35 dukeleto cotto: that must be a lot of features making it so slow
23:36 cotto It hasn't gotten to the optimization stage yet.  The output format is expensive ascii.  I'm planning on a nice compressed binary format once it's more mature.
23:37 cotto I suppose it'd be worth profiling the profiler, though. ;)
23:40 mikehh bacek: codetest wants a space between sizeof and paren -> sizeof (
23:40 NotFound cotto: Call it 'Who'
23:40 bacek mikehh: ok, will fix
23:41 NotFound Who profile the profilers?
23:41 bacek meta-profiler
23:41 bacek also, see recursion :)
23:48 mikehh bacek: fixing the 3 sizeof( -> sizeof ( in src/call/pcc.c gets codetest to PASS and all other tests PASS
23:48 bacek mikehh: good. going to fix and commit it
23:49 dukeleto jhelwig: somehow i have git svn pointed at a branch: $ git svn dcommit -n
23:49 dukeleto Committing to https://svn.parrot.org/parro​t/branches/pluggable_runcore ...
23:49 dukeleto diff-tree 0d1b432f8b4f30ef58b2b048db4e7e6089ea9f26~1 0d1b432f8b4f30ef58b2b048db4e7e6089ea9f26
23:49 dukeleto How do I make it not do that?
23:49 cotto Well, I have a profile for tcl hello world, but it
23:50 cotto 's kinda weird.
23:50 bacek dukeleto: git reset remotes/trunk?
23:51 dukeleto bacek: that did it. thanks.
23:52 mikehh but I am still getting a backtrace from t/tools/parrot_debugger.t Test 41 even though it passes and it doesn't show up in smolder
23:52 bacek mikehh: i fixed it already in my copy
23:53 NotFound bacek: What was the problem?
23:53 bacek NotFound: accessing non-existing register
23:54 NotFound Uh... That caused a double-free? :o
23:55 dalek parrot: r41021 | dukeleto++ | trunk/config/inter/libparrot.pm:
23:55 dukeleto NotFound: i am good at making things blow up :)
23:55 dalek parrot: [build] Teach config/inter/libparrot.pm about darwin so that people get properly warned about having an installed parrot
23:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41021/
23:55 ttbot Parrot trunk/ r41021 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/82134.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:56 bacek NotFound: yes. It put some garbage into regs.

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

Parrot | source cross referenced