HTTPS CERT EXPIRED | www.parrot.org | Add test after fixing bugs after context_pmc3 merge | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON
Set by moderator on 3 September 2009.
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:00
nopaste "dukeleto" at 32.152.9.125 pasted "perl -V of each perl, the first does not work with parrot" (92 lines) at nopaste.snit.ch/17819 00:01
dukeleto -fstack-protector is suspicious. the perl that does not work has that, the old one did not 00:02
i don't remember asking for that, so it must have been one of the defaults 00:04
i am totally blocked on this
mikehh rakudo (3db3e37) builds on parrot r40980 - make test / make spectest (up to r28187) PASS - Ubuntu 9.04 amd64 (gcc)
darbelo the hints file for your platform is the place to override that.
( config/init/hints/darwin.pm ) 00:05
dukeleto darbelo: thanks 00:08
dalek rrot: r40981 | chromatic++ | trunk/src/gc (2 files):
[GC] Inlined calculation of PMC attribute pools into

gives a 2.73% performance improvement on the primes.pasm benchmark.
00:17
rrot: r40982 | chromatic++ | trunk/src/pmc.c:
[PMC] Changed PMC destruction to free the PMC_sync structure only if it exists,
00:18
mikehh cardinal - builds on parrot r40980 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (gcc)
treed nods. 00:19
Interesting that you can get it to build.
I can't.
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)
treed My build problem relates to that bug.
I can't get build.yaml to generate because I can't run parrot_config. 00:24
I could try writing it myself in the meantime.
chromatic I wonder if that's my problem building Rakudo.
treed (Or shortcircuiting the rakefile.)
chromatic: What platform? 00:25
It doesn't seem to exist on Linux.
chromatic 32-bit x86 Linux 00:26
treed Hm. 00:27
Well, if you get that error message when running "parrot_config", update the bug so that the platform isn't restricted to Mac.
chromatic No problem when running it. 00:28
Now I get src/pmc_freeze.c:1336: failed assertion 'must_have_seen'
mikehh decnum-dynpmcs r181 builds on parrot r40980 - make test PASS - Ubuntu 9.04 amd64 (gcc) 00:30
00:34 davidfetter joined 00:35 dukeleto joined
mikehh partcl r694 builds on parrot r40980 - make test PASS - Ubuntu 9.04 amd64 (gcc) 00:36
dukeleto treed: can you attach your perl -V to the ticket about invalid charset? 00:37
GeJ_ between r40978 and r40982, I get a ~16% speed improvement on smoke test. (and ~4% CPU only) 00:39
GeJ chromatic++ 00:40
treed Yeah, about to do that.
(Just saw your e-mail.
darbelo I'got another strstart removal patch. Do I nopaste or open a ticket?
treed It's not 5.10.anything though
dukeleto darbelo: ticket with a patch, please
darbelo: unless it is really tiny 00:41
darbelo ~100 lines of patch, mostly trivial changes. 00:42
All tests successful, the changes to i386 jit got tested by chromatic earlier and passed.
mikehh bbl 00:43
cotto I'd call that tiny enough
ymmv 00:44
darbelo good, 'cause trac is slooooow today.
nopaste "darbelo" at 200.49.154.172 pasted "more strstart removal." (100 lines) at nopaste.snit.ch/17820 00:46
cotto Every time I see COW I want to say MOO.
darbelo MOO
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:48
cotto do ->_bufstart and ->strstart point at the same thing? 00:49
darbelo In a sane world yes, most of the time.
cotto So no.
;)
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:50
Also, when strstart is gone, ->_bufstart is all you'll have left. 00:51
cotto I was hoping to get some serious profiling bugs killed today, but it appears not to be in the cards. 00:52
chromatic Ditto. 00:55
But fast!
darbelo is going to catch some Z's
cotto: msg me if you find any troubles with the patch. 00:56
cotto looking now 00:57
01:00 NotFound joined
dalek rrot: r40983 | cotto++ | trunk/src (3 files):
[string] eliminate some ->strstart abuse, courtesy of darbelo++
01:06
rtcl: r695 | coke++ | wiki/SpecTestStatus.wiki:
NotFound++ fixed this segfault.
01:08
cotto strstart count is currently 284 01:12
That's down from 305 at r40938 before the first strstart patch. 01:14
cotto ponders how to set up a big thermometer in trac tracking the progress. 01:15
Coke google spreadsheet widget? 01:18
dalek rtcl: r696 | coke++ | trunk/config/PARROT_VERSION:
NotFound++ fixed another segfault.
cotto It'd be really nice if it could be automated. 01:20
at any rate, I'm out 01:21
01:26 quek joined
dalek rrot: r40984 | pmichaud++ | trunk (6 files):
[lexicals]: Add (find|store)_dynamic_lex to support dynamic lexicals
01:37
mikehh chromatic: ping 01:59
chromatic pong 02:00
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).
994 lines actually. 02:03
chromatic mikehh, I know what it is. One moment please. 02:04
I cuddled a *, but I didn't rerun the headerizer. 02:05
mikehh ah ok - I just couldn't seem to fix it 02:06
dalek kudo: 5a1e5a2 | pmichaud++ | (4 files):
First batch of updates to support contextuals. Refactors compilation
02:07
kudo: a6a4f57 | pmichaud++ | src/ (2 files):
Have !find_contextual accept the twigil as part of the name it
kudo: 9f2b09c | pmichaud++ | src/builtins/ (2 files):
Switch some current "get_hll_globals" into "find_contextual".
kudo: 6a0eb0c | pmichaud++ | src/builtins/globals.pir:
Move @*INC and %*INC into PROFILE.
kudo: b87755c | pmichaud++ | src/builtins/globals.pir:
Move more built-in contextuals into PROCESS:: .
kudo: 5470cc9 | pmichaud++ | src/builtins/globals.pir:
Move even more process contextuals into PROCESS:: .
kudo: 9e0c9de | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get *_dynamic_lex ops and other updates.
kudo: eefd954 | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
rrot: r40985 | chromatic++ | trunk/include/parrot/gc_api.h:
[GC] Reran make headerizer after r40981. Thanks to mikehh for finding the
rrot: r40986 | chromatic++ | trunk/src/gc/api.c:
[GC] Touched up the formatting of a function signature I missed in r40985.
02:12
rrot: r40987 | mikehh++ | trunk/src/ops/var.ops:
fix codetest failure - trailing spaces
02:29
02:35 janus joined 02:40 Andy joined 02:49 joeri left 02:57 davidfetter joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40987 - Ubuntu 9.04 amd64 (g++) 02:58
that's enough for the moment - need sleep - bbl 02:59
03:03 theory joined
chromatic Hm, 4.13% performance improvement with a naive patch to remove PMC_sync. Not bad. There are many fewer GC runs. 03:08
03:17 sri joined, zostay joined
jrtayloriv chromatic, remove it from where? 03:28
the gc/api.c?
or remove it altogether? 03:31
03:40 quek left 03:58 kyle_l5l joined
chromatic Removed it altogether. 04:08
dalek kudo: 2276af9 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 435 files, 13401 pass, 1 fail

S32-temporal/Temporal.t 7 - gmtime defaults to current time
04:22 JimmyZ joined 04:48 nopaste joined 04:50 nopaste joined 05:44 cotto joined
dalek kudo: 7734f9b | pmichaud++ | (3 files):
Enable contextual variable definitions and dynamic lookups.
05:46
06:21 darbelo joined
nopaste "darbelo" at 190.3.155.147 pasted "The forgotten strstart-removing gdbmhash patch" (19 lines) at nopaste.snit.ch/17825 06:24
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 nopaste.snit.ch/17825 06:25
purl Message for cotto stored.
06:27 darbelo left
cotto drive-by patching 06:36
dalek rrot: r40988 | cotto++ | trunk/src/dynpmc/gdbmhash.pmc:
[string] avoid strstart abuse in gdbmhash, courtesy of the insomnic darbelo++
06:39
cotto and the profiling runcore becomes slightly less buggy 06:48
dalek rrot: r40989 | cotto++ | branches/pluggable_runcore (2 files):
[profiling] make the profiling runcore smarter about when to print CS (context switch) lines
06:49
cotto I love fixing bugs by removing code. 06:53
JimmyZ cotto++
a bad joke: removing all codes, and then there were no bugs. ;) 06:54
cotto logical, yet extreme 06:55
pmichaud if you can remove all code and still pass the test suite, I'll be impressed. :)
cotto alternately we could just delete all bug reports
chromatic, ping
jrtayloriv screams "w00T!! $$$BLING$$$ --- I can go to sleep now --- I finally got this freaking gc patch to work" from insomniac land. 07:02
cotto jrtayloriv, you're awesome. It's great to have you around hacking on Parrot making me look slow. ;) 07:06
You'll only be more dangerous once you get that commit bit.
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:08
cotto lawl 07:10
I love those bugs.
jrtayloriv Iza gonna get me some zzzzzzzz -- night cotto 07:13
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40989 - Ubuntu 9.04 amd64 (gcc) 07:14
JimmyZ mikehh: I think you could write a script to auto report. ;) 07:15
dalek kudo: 86a9268 | pmichaud++ | src/classes/Failure.pir:
Update Failure objects to output to contextual $*ERR.
07:21
kudo: a746af0 | pmichaud++ | Test.pm:
Adjust Test.pir $WARNINGS flag.
kudo: 8566a62 | pmichaud++ | src/builtins/globals.pir:
Add ability for contextuals to also search %*ENV.
mikehh JimmyZ: got one but prefer to see what's happenin' so I can change strategy if necessary :-} 07:23
rakudo (7734f9b) builds on parrot r40989 - make test / make spectest (up to r28191) PASS - Ubuntu 9.04 amd64 (gcc) 07:30
07:31 iblechbot joined, quek joined
mikehh JimmyZ: like now I am gonna rerun rakudo before goin' on with other stuff 07:32
JimmyZ mikehh: I see ;) 07:33
mikehh rakudo (8566a62) builds on parrot r40989 - make test / make spectest (up to r28191) PASS - Ubuntu 9.04 amd64 (gcc) 07:47
cardinal - builds on parrot r40989 - rake test:all - same 3 failures - Ubuntu 9.04 amd64 (gcc) 08:00
decnum-dynpmcs r181 builds on parrot r40989 - make test PASS - Ubuntu 9.04 amd64 (gcc) 08:03
treed Should probably file a bug about those failures. 08:06
We did track it down to the one revision, yeah?
mikehh treed: passed at r70787 and 3 failures at r40788 08:12
treed; the culprit -> parrot: r40788 | jonathan++ | trunk/compilers/pct/src/PAST/Compiler.pir
treed: all 3 failures start with -> Method 'iterator' not found for invocant of class 'String' 08:14
let me put this in #cardinal too 08:16
partcl r696 builds on parrot r40989 - make test PASS - Ubuntu 9.04 amd64 (gcc) 08:23
partcl - running make specinfo now
08:31 quek left 08:33 quek joined
mikehh treed that was supposed to be r40787 08:37
treed Which was? 08:44
08:52 Zak joined
dalek rrot: r40990 | fperrad++ | trunk/tools/dev (2 files):
[languages] partial revert of r40960
08:55
a: d679fb4 | fperrad++ | config/makefiles/pmc.in:
revert INSTALL_DIR
08:58
09:19 JimmyZ joined 09:27 quek left 09:28 cognominal joined
dalek TT #978 created by chromatic++: Remove _synchronize from PMC Struct 09:37
dukeleto 'ello 09:47
10:05 Whiteknight joined
dalek kudo: e8b631c | mberends++ | src/builtins/globals.pir:
[builtins/globals.pir] preload $HOME/.perl6lib and languages/perl6/lib in @*INC
10:17
kudo: 825074a | pmichaud++ | src/ (4 files):
Revise %*ENV processing to resolve RT #57400.
10:29
kudo: 6e2104a | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
Whiteknight chromatic++ # kicking ass and taking names on that benchmark! 10:47
dukeleto looks like this 'Invalid charset number' crap isn't related to perl 5.10.1 . time for git bisect! 10:57
Whiteknight nice 10:58
10:59 bacek joined
bacek O hai 11:00
Whiteknight good morning bacek
irclogs?
purl somebody said irclogs was irclog.perlgeek.de/parrot/today or see also: infrared clogs
bacek Whiteknight: welcome to the future! It's 9PM already :)
Whiteknight: I want to break something in parrot. And I'll need your help with this idea :) 11:03
Whiteknight i like breaking, and ideas! 11:04
bacek Current GC API.
It's broken-by-design.
dalek TT #979 created by dukeleto++: Invalid charset number '8' on darwin during PCT.pbc bytecode generation 11:05
bacek E.g. using "Small_Object_Pool" directly for allocating objects enforce particular implementation. 11:06
dukeleto i am going to kick charset number 8 in the face 11:07
charset_9 Don't touch my brother!
bacek Whiteknight: also, current GC API doesn't allow something like "Gimme chunk of memory with this size" 11:09
Whiteknight: and without this ability I can merge "PMC" and "ATTRibutes" into single allocation. 11:10
Or convert Context to use ATTRibutes.
purl I don't know how to convert Context to use ATTRibutes..
Whiteknight bacek: we need PMCs to be located together so we can sweep
bacek botsnack!
purl thanks bacek :)
bacek So, "mark-sweep" enforces particular design. And it's bad 11:11
What about compacting GCs?
Whiteknight bacek: any GC is going to have a sweep
bacek Or trademills
Whiteknight: not all of them
purl not all of them are modifying my brain
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
Whiteknight ACTUALLY, chromatic's idea might work here
bacek "Uniprocessor Garbage Collection Techniques"
www.cs.rice.edu/~javaplt/311/Readin...cessor.pdf
anyway, "sweep" doesn't require all objects to be same size 11:13
and allocated from "Small_Object_Pool"
dukeleto 67 pages of GC goodness 11:14
bacek dukeleto: indeed
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
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
bacek So, all implementation details will be decoupled from Interp.
dukeleto Whiteknight: I don't jest. that looks like a really good introductory/overview paper.
bacek Whiteknight: Yay! jrtayloriv++ 11:17
Whiteknight bacek: I like that idea a lot. I've wanted to do it myself for a while
bacek Just ensure that this functions has explicit ""size" argument
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
Whiteknight then we could sweep those pools because all objects would be guaranteed to be PMCs
bacek Why sweeping require all objects to be PMC? 11:19
It's just chunks of memory
Whiteknight bacek: If we sweep linearly over a pool, we don't know if the block is a PMC or not
PMCs have flags, need destruction, etc. We need to know if an object is a PMC
bacek We know size.
Whiteknight but I can allocate an X byte buffer in the same pool I allocate an X byte PMC 11:20
and I don't want to call VTABLE_destroy on the buffer
bacek Ok. 11:21
We just need pairs of function "get_raw_chunk" and "get_pmc" in gc* 11:22
no, bad idea. 11:24
All we need is pass (optional) pointer to "destroy function". 11:25
Which will be invoked by GC during sweep.
Whiteknight so store the destroy function in the pool?
that idea actually has some merit 11:26
bacek In allocated object.
Whiteknight so for every object we add a header with a pointer to a destroy function?
dukeleto has bisecting in progress
bacek Whiteknight: only when requested. GC can be smart enough to not store it always. 11:27
E.g. in most PMC without "destroy" VTABLE it's useless. 11:28
11:28 rindolf joined
bacek Bah! We have to change Pmc2s to set "active_destroy" as pragma, not in "VTABLE_init" 11:28
This step is too big... Ok, scratch last idea. 11:29
Whiteknight yes, and custom_mark
bacek Let's just have pair of functions for allocate memory. 11:30
Both of them should accept explicit size.
Whiteknight I like that idea, but we need to be able to tell whether an item is a PObj or not
and then we need to be able to find all STRING headers that point to a string buffer 11:31
because of COW, it can be N:1
bacek Immutable strings ftw! 11:32
Whiteknight I want immutable strings. That would be a very good idea
dukeleto i like cows
Whiteknight but, it would be a huge job
bacek Actually, with this approach we can just drop STRING and always use String PMC. 11:33
Just reimplement it use ATTRibutes and allocate raw chunk of memory for real string 11:34
Then, String,mark will do all required job
Whiteknight there is some merit to that. I think the string compactor is very expensive
bacek And incomprehensible :) 11:36
Whiteknight: care to wrap-up on wiki? I want to chase failure exposed by nopaste.snit.ch/17815 11:37
NotFound Note that in order to make PMC variable size we might need to forbid morphing assignments
Whiteknight NotFound: Yes, I hadn't even thought about that
bacek (It actually another Keys shenanigans)
(morphing) VTABLE_morph is way-too-premature optimisation
Whiteknight yes, but some people do use the morph opcode 11:38
so we can't kill it entirely
at least, not yet
bacek Fortunately, I've put broad deprecation warning for all VTABLEs in 1.4 :)
NotFound bacek: morph is not the only way of morphing. Look for example at the Undef pmc.
Whiteknight yeah, we lose a lot of flexibility 11:39
I really like this idea. Hard part is finding a way to do it without breaking the whole damn codebase
bacek: yes, dump some of your ideas onto the wiki. I think there is a "GCTasklist" page you can use 11:40
NotFound You can start thinking about how to avoid assignment to Undef 11:41
Whiteknight Easy: kill Coke
:)
NotFound Drink Pepsi
bacek NotFound: anyway, we have to have something for implementing compacting GC. 11:42
And it's closely related to "assign to Undef"
Because we have to update all pointers to PMC.
Or wrap "PMC" into struct with single pointer. 11:43
bacek drink Pepsi. With scotch :)
dukeleto the horror 11:46
Whiteknight a "PObj Header" could be allocated to provide indirect access to a PMC 11:47
it would be fixed size and we could store it in a very simple pool
kid51: ping 11:51
bacek Whiteknight: +1 11:52
purl 1
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?
purl Message for kid51 stored.
dalek tracwiki: v24 | bacek++ | GCTasklist 11:53
tracwiki: GC irc talk
tracwiki: trac.parrot.org/parrot/wiki/GCTask...ction=diff
11:57 PacoLinux joined
dalek tracwiki: v25 | bacek++ | GCTasklist 12:00
tracwiki: trac.parrot.org/parrot/wiki/GCTask...ction=diff
bacek Whiteknight: where is jrtayloriv's patch? 12:01
I want to see it :)
Whiteknight not public yet, he said he was going to post a ticket today
bacek ok 12:02
dalek tracwiki: v26 | bacek++ | GCTasklist 12:03
tracwiki: trac.parrot.org/parrot/wiki/GCTask...ction=diff
Whiteknight I may change to the -S core for all my local testing needs 12:07
it cuts a full 4 seconds off my coretest time
bacek "-S" is for "switch"? 12:08
12:09 joeri joined
Whiteknight yes 12:09
it's the fastest platform my my system
My coretest time is down to 38 seconds 12:10
dalek a: d8dc591 | fperrad++ | t/pmc/t (2 files):
rewrite pir_error_output_like is PIR
12:11
a: d7bf31c | fperrad++ | t/pmc/ (16 files):
add messages
a: 11bb33e | fperrad++ | doc/running.pod:
update building item
bacek want to commit patch from nopaste.snit.ch/17815 and create ticket for broken tests... 12:12
12:14 masak joined
Whiteknight how many tests break because of that? 12:15
bacek 2
But it exposing some major failure in parrot guts...
Something like "calling PIR VTABLE override doesn't pop context"
Whiteknight oh great 12:16
bacek oh noes... 12:23
Looks like Sub.invoke auto-close is culpit.
And I don't quite understand how to fix it... 12:24
Whiteknight line?
bacek 328 12:25
It changes sub->outer_ctx
And I suspect this "outer_ctx" used somewhere incorrectly.
dukeleto is, I think, bisecting correctly now 12:26
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?
dukeleto: "GSOC: Definitely Didn't Suck" 12:28
bacek Whiteknight: erm... Way to handle lexicals
moritz purl: dukeleto
purl well, dukeleto is still feeling the effects
dalek a: 079ec78 | fperrad++ | doc/running.pod:
typo
moritz it seems purl doesn't learn fom actions. Good. ;-) 12:29
s/fom/from/
bacek think that context_pmc3 merge commit message is his best commit message ever :) 12:30
dukeleto Whiteknight: i might just take you up on that 12:31
purl, moritz 12:32
purl moritz is Moritz Lenz, mailto:moritz@faui2k3.org or very boring
dukeleto !
moritz well, she's right
dukeleto purl, moritz is also very exciting
purl okay, dukeleto.
dukeleto purl, moritz
purl i heard moritz was Moritz Lenz, mailto:moritz@faui2k3.org or very boring or very exciting
dalek a: 5c332e5 | fperrad++ | README:
add Hirschi citation
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 twitter.com/dukeleto
purl ...but dukeleto is still feeling the effects...
dukeleto purl, forget dukeleto 12:35
purl dukeleto: I forgot dukeleto
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 twitter.com/dukeleto
purl OK, dukeleto.
Whiteknight damn straight
purl kick ass!
dukeleto botsnack
purl thanks dukeleto :)
bacek Ok, it's not "autoclose" 12:37
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:40
or maybe that is totally wrong. i am pretty good at failing today 12:41
nopaste "Whiteknight" at 69.249.176.251 pasted "Small cleanup for bacek++" (26 lines) at 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
bacek Whiteknight: just commit it 12:45
Whiteknight done 12:46
dalek rrot: r40991 | whiteknight++ | trunk/t/pmc/namespace-old.t:
move the perl-based namespace.t to namespace-old.t
12:48
rrot: r40992 | whiteknight++ | trunk/src/pmc/sub.pmc:
[ctx] small fix in Sub.invoke to reduce calls to Parrot_pcc_get_outer_ctx
NotFound Whiteknight: manifest! 12:51
purl manifest is probably used for a ton of things, yes.
Whiteknight NotFound: cleanups forthcoming 12:52
dalek rrot: r40993 | whiteknight++ | trunk (3 files):
[t] Add a new PIR-based namespace.t and move over the first test. Also, MANIFEST fix NotFound++
12:54
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40990 - Ubuntu 9.04 amd64 (g++) 13:00
dalek a: 2b6fd90 | fperrad++ | config/makefiles/root.in:
useless, now tests are in PIR
13:03
a: 375318f | fperrad++ | src/lib/luaperl.pir:
remove languages/lua in path
bacek Bah! It's all my fault.
13:05 sri_ joined
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
purl ...but manifest is used for a ton of things, yes....
dukeleto purl, forget manifest 13:07
purl dukeleto: I forgot manifest
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
purl OK, dukeleto.
dukeleto purl, forget manifest
purl dukeleto: I forgot manifest
bacek Whiteknight: src/call/pcc.c:1196
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
purl OK, dukeleto.
dukeleto stops making noise
Whiteknight any file with more then 1000 lines is a refactor waiting to happen
bacek Whiteknight: I have to preserve n_regs_used to put such asserts 13:08
Whiteknight oh
mikehh Whiteknight++
dalek rrot: r40994 | whiteknight++ | trunk/t/pmc (2 files):
[t] move some more NameSpace tests from Perl to PIR
bacek Whiteknight: there is 3K lines in call/pcc.c... 13:09
mikehh Whiteknight: you got more coming or can I test this lot? 13:10
NotFound bacek: I hope that change a lot with the pcc rewiring 13:11
Whiteknight mikehh: lots more coming
bacek NotFound: I hope so
Whiteknight I'm hoping to convert this whole file, clean it up, and expand coverage
dalek lscript: 465d9d1 | fperrad++ | doc/running.pod:
update building item
lscript: 73a8d05 | fperrad++ | config/makefiles/root.in:
useless, now tests are in PIR
bacek always wonder how fperrad++ can work on ~5 projects concurrently 13:14
moritz probably with a good scheduler ;-) 13:16
dalek rrot: r40995 | whiteknight++ | trunk/t/pmc (2 files):
[t] move over other tests, and refactor them o put like tests together
13:25
rrot: r40996 | whiteknight++ | trunk/t/pmc/namespace-old.t:
[t] small fix to plan of namespace-old.t that I just broke
rrot: r40997 | NotFound++ | trunk (2 files):
[cage] improve pcc signature checks
13:28
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)
dalek rrot: r40998 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert two more Perl tests to PIR, and create a new test for the global namespace
13:35
rtcl: r697 | coke++ | trunk/docs/spectest- (2 files):
"2009-09-04 09:05",690,"r40969",97,7752,3569,2132,2051,8287,"--optimize"

With bumped parrot revision: complete 3 more test files, counting 296 passing tests. (NotFound++ fixed 2 segfaults in parrot to get us those 3 files...)
13:39
Coke NotFound++ # counting 502 more PASSED since parrotsketch. 13:40
502/3363
purl 0.149271483794231
jrtayloriv mornin'
Coke (whoops, that edit msg had a diff in it, whoops.)
Coke posts a few more simple todos in partcl's todo list. 13:42
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++
jrtayloriv: howdy
bacek sharpening knife for switching n_regs_used from array to struct. 13:55
But not today. 13:57
bacek must sleep
purl $bacek->sleep(8 * 3600);
bacek G'Night
dalek rrot: r40999 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert 4 more test and refactor the test file again for more sanity
13:59
dukeleto whiteknight++ for tests in pir 14:05
14:07 MoC joined
dukeleto Whiteknight: seems like you are not deterred by not having pir_error_outpput_like in pir, nice work! 14:07
Whiteknight dukeleto: It would be nice, but I can work around it for now 14:08
we can add more tests once that becomes readily available
more tests == more good
dukeleto +1 14:09
purl 1
14:09 cotto joined
dalek rrot: r41000 | NotFound++ | trunk/src/pmc/sub.pmc:
[cage] convert some check for NULL to PMC_IS_NULL
14:22
dukeleto got it! 14:23
Merge context_pmc3 branch into trunk (r40958) causes the build to fail on darwin 14:25
nopaste "dukeleto" at 69.64.235.54 pasted "git bisect log for context_pmc3 branch merge darwin build failure" (17 lines) at nopaste.snit.ch/17828 14:29
dalek rrot: r41001 | whiteknight++ | trunk/t/pmc (2 files):
[t] Convert more tests to PIR, delete a few duplicate tests, and add new tests
dukeleto whiteknight++ is on fire 14:34
Whiteknight commit early, commit often 14:41
purl well, commit early, commit often is dangerous if you're going to break trunk
Whiteknight has reached coding nirvana
szbalint Whiteknight: what kind of platform are you achieving 38 seconds for make coretest? :) 14:48
*using to achieve
dalek TT #980 created by jrtayloriv++: [PATCH]: GC Refactor 14:52
14:55 Psyche^ joined
dalek rrot: r41002 | mikehh++ | trunk/t/pmc/namespace.t:
set svn properties
14:56
Whiteknight szbalint: amd64 15:06
szabalint: dual-core
purl dual-core is good for virtualization
dalek lscript: 4651065 | fperrad++ | t/pmc/ (10 files):
add messages
15:12
Whiteknight purl msg bacek check out TT #980 15:15
purl Message for bacek stored.
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41002 - Ubuntu 9.04 amd64 (gcc)
dalek rrot: r41003 | whiteknight++ | trunk/t/pmc (2 files):
[t] Convert one more test and manufacture 4 others to test ISO-8859 compatibility in NameSpaces
15:16
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?
dalek rrot: r41004 | NotFound++ | trunk/t/pmc/fixedpmcarray.t:
[t] Improve coverage of FPA
15:20
Whiteknight make -j3 coretest TEST_JOBS=5 EXTRA_TEST_ARGS="-S"
szbalint ah :D
Whiteknight yeah, I optimize that baby for speed, since I run it so often
Whiteknight has to go out to the store now. Layer
Later
mikehh rakudo (6e2104a) builds on parrot r41002 - make test / make spectest (up to r28192) PASS - Ubuntu 9.04 amd64 (g++) 15:37
All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41002 - Ubuntu 9.04 amd64 (g++)
dukeleto can anyone else verify this on darwin or any other platform ? trac.parrot.org/parrot/ticket/979 15:39
NotFound dukeleto: Verify what? 15:44
purl somebody said Verify was optional
dukeleto NotFound: that the build fails on darwin 15:46
pmichaud dukeleto: ooc, what version of gcc? 15:47
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?
dalek lscript: 270cb16 | fperrad++ | (7 files):
remove languages/wmlscript in path (.include & load_bytecode)
lscript: 4e8b248 | fperrad++ | config/makefiles/ (2 files):
revert INSTALL_DIR
dukeleto NotFound: does this happen on any other platforms?
NotFound dukeleto: It doesn't happen in Linux i386 and Linux amd64, that's all I can check now.
15:50 cotto joined 15:55 theory joined
cotto hi 15:56
purl salut, cotto.
cotto btw, if any of you have the opportunity to buy Clearwire, don't.
dukeleto makes note to not buy Clearwire 16:02
cotto unless you're a fan of intermittent connections. 16:04
cotto hopes he can get FIOS in his new place
jrtayloriv shivers thinking about the godawful satellite connection he had in Idaho. 16:05
dukeleto is jealous of fios
cotto although reliable dsl would be fine too 16:07
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:08
dukeleto NotFound: feel free to create a ticket to implement the tests in PIR :) 16:10
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?
nopaste "cotto" at 74.61.2.46 pasted "possible fix for compiler warning" (35 lines) at nopaste.snit.ch/17829
cotto (it's in the pluggable_runcore branch, btw) 16:12
NotFound cotto: if you are going to modify the thing pointed by coredata, correct 16:13
cotto It's complaining about line 172 in src/runcore/main.c 16:15
interp->cores[num_cores - 1] = coredata;
NotFound cotto: and I suppose that things pointed to by interp->cores[] are non const 16:17
dalek a: 9ae88d8 | fperrad++ | config/makefiles/root.in:
fix target codetest
a: 76f6a69 | fperrad++ | t/pmc/ (16 files):
fix PIR code coda
cotto NotFound, you're correct 16:18
NotFound cotto: drop that const, then.
cotto will do 16:19
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
dalek rrot: r41005 | cotto++ | branches/pluggable_runcore (2 files):
[runcores] remove a const that was causing a compiler warning
16:22
Whiteknight we are getting darwin reports on smolder
so somebody is building something
dukeleto Whiteknight: link?
NotFound Note that these warnings in C become errors in C++
Whiteknight smolder.plusthree.com/app/public_pr...port/26889
I added smolder to my RSS reader. 16:23
NotFound So yes, is nice to avoid them
Whiteknight Simultaneously a good and bad move
and that's from r40992, so recently
dukeleto Whiteknight: that is my smolder report :)
Whiteknight okay, so you are building on darwin 16:24
dukeleto Whiteknight: that darwin is powerpc, the darwin that doesn't build is x86
Whiteknight okay, that makes more sense then
anybody 'round these 'ere parts on darwin-x86?
dalek lscript: bdbb352 | fperrad++ | config/makefiles/root.in:
fix target codetest
lscript: 763756e | fperrad++ | t/pmc/ (10 files):
fix PIR code coda
dukeleto make smolder_test doesn't get past "make" on darwin-x86 :( 16:27
Whiteknight damnit
dukeleto shall i make a ticket for that?
dalek TT #981 created by dukeleto++: make smolder_test doesn't report some broken builds 16:32
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:33
Whiteknight szbalint: on an 8-core machine, change it to -j9 and TEST_JOBS=10 16:34
you want to utilize all your cores
I don't even optimize. I will try that now and see what I get 16:36
of course, I have nothing else running
pmichaud: ping 16:39
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.
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:45
moritz szbalint: which platform? 16:49
purl I'm running on OS/2 on an Atari, can you help?
szbalint SuSe Enterprise 10, x86_64 16:50
moritz weird, GNU make usually understands it
Coke pats purl onna head. 16:51
szbalint I had nothing but trouble with suse so far :) 16:54
ah now I know what was the issue 17:00
I had a really old Test::Harness installed on the system
nopaste "NotFound" at 213.96.228.50 pasted "patch: load_bytecode in parrot HLL context" (25 lines) at nopaste.snit.ch/17830 17:08
NotFound Can someone check if this patch fixes the cross language issues? 17:09
17:22 theory joined
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:23
17:24 mokurai joined 17:27 jrtayloriv joined
cotto NotFound++ for reminding me of the c++ build 17:30
dalek rrot: r41006 | cotto++ | branches/pluggable_runcore (3 files):
[profiling] various fixes to fix the C++ build
17:32
cotto much better than fixes intended to break the C++ build 17:35
dalek rrot: r41007 | whiteknight++ | trunk/t/pmc (2 files):
[t] convert more tests to PIR, delete unnecessary tests, and add new HLL-related tests
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?
Maybe Fixed_Size_Mem_Pool, Var_Size_Mem_Pool, and Memory_Pools, respectively? 17:37
moritz the most probably answer is "nobody was there to come up with good names and JFDI" 17:39
afk
cotto jrtayloriv, go ahead and submit a patch. That sounds like something Whiteknight would appreciate.
Whiteknight jrtayloriv: yes! patches welcome!
jrtayloriv Whiteknight, OK -- will do. 17:40
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]
cotto When the architect's away... 17:43
17:46 payload joined
dukeleto cotto: the mice will dance on the tables 17:51
Wenn die Katze aus denn Haus ist, tanzen die Mauese auf den Tisch. 17:52
cotto I like that version. 17:53
18:04 chromatic joined
dalek rrot: r41008 | cotto++ | branches/pluggable_runcore/include/parrot/runcore_api.h:
[profiling] fix a small but important typo
18:07
18:08 tetragon joined
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:12
dalek rrot: r41009 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] create about 14 new tests for various methods in the NameSpace PMC
18:13
chromatic I was about to suggest that. 18:14
18:19 iblechbot joined
pmichaud Whiteknight: (iso-8859-1 versus unicode) Yes, I believe that you should be able to do that 18:22
it's certainly the case that Parrot returns true for comparison of iso-8859-1 and unicode strings 18:24
(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?
dukeleto jrtayloriv: did you get your branch that you needed? 18:30
jrtayloriv dukeleto, nope, not yet 18:31
dukeleto jrtayloriv: what do you want it called?
jrtayloriv gc-refactor ? 18:32
don't really care though.
dalek rrot: r41010 | dukeleto++ | branches/gc-refactor:
Creating a branch for jrtayloriv++ to work on for GC refactoring
18:37
jrtayloriv muchas gracias
dukeleto jrtayloriv: no problem. i applied your patches to it as well 18:39
jrtayloriv duk3leto, awesome -- thanks -- should I just attach further patches to the branch to TT980 ? 18:40
dalek rrot: r41011 | dukeleto++ | branches/gc-refactor (19 files):
[TT #980] Apply patches attached to ticket
18:41
dukeleto jrtayloriv: yes, please checkout the branch and apply further patches to that 18:52
jrtayloriv: and get a commit bit soon ;)
jrtayloriv dukeleto, sent in a CLA a few days ago -- hopefully I won't have to pester everyone so much after that :) 18:54
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
some dumptrucks take longer tubes than others
chromatic It's here; we can activate him anytime. 18:57
dukeleto DO IT 19:01
chromatic: he is burying me in patches ;)
chromatic jrtayloriv, can you create an account on parrot.org?
cotto It's likely he used one to file TT #980 19:02
jrtayloriv chromatic, done 19:03
chromatic Thanks. cotto, I think that's a Trac account which is different.
jrtayloriv, I think I've enabled SVN access for you. 19:04
cotto Oh. I thought they were the same. 19:05
chromatic Hang on a moment...
jrtayloriv hangs on 19:06
chromatic There you go.
jrtayloriv let's go 19:07
is user/pass same as my parrot.org account? 19:08
chromatic Your trac account. 19:10
dalek rrot: r41012 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] add some notes for later
19:11
dukeleto jrtayloriv: add yourself to CREDITS to test out your bit
jrtayloriv dukeleto, chromatic -- ok 19:12
19:15 kyle_l5l joined
cotto It's a terrible habit I have to code before thinking. 19:17
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: pastebin.com/d5a8f7ca 19:21
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,
dukeleto jrtayloriv: which editor?
purl it has been said that which editor is sri using in those videos?
jrtayloriv I've just been manually deleting that portion every time I've made a patch.
dukeleto jrtayloriv: are you using svn diff ? 19:23
jrtayloriv: or plain diff?
jrtayloriv dukeleto, svn diff
dukeleto purl, forget which editor
purl dukeleto: I forgot which editor
jrtayloriv dukeleto, emacs and vi both show the file as unchanged. 19:24
dalek rrot: r41013 | whiteknight++ | trunk/t/pmc/namespace.t:
[t] clarifying a test that doesn't work but probably should for pmichaud++
19:26
jrtayloriv chromatic, I heard you btw -- reading about autoprops right now.
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:27
dukeleto Whiteknight++ for test coverage 19:28
karma whiteknight
purl whiteknight has karma of 1253
dukeleto karma Whiteknight
purl whiteknight has karma of 1253
jrtayloriv dukeleto, nm -- I got it. Just had to do svn revert.
dukeleto ok, just making sure it was case insensitive
19:34 shockwave joined
jrtayloriv I did --> svn commit --username jrtayloriv --password mypassword --message 'testing commit bit' 19:35
19:35 shockwave joined
jrtayloriv and got this error --> svn: Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY request for '/parrot/!svn/act/cc95fd9f-b5ae-49e9-8e67-c8fb43a0805c' 19:35
cotto Try doing a checkout with your u/p. 19:36
jrtayloriv cotto, ok
cotto, no problems with checkout 19:37
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.
jrtayloriv :) ok
cotto, do I have to enter my u/p every time I do 'svn up' ? 19:39
chromatic SVN should cache your credentials.
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
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"
shockwave But I really don't like the Lua syntax. I can't get over it.
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?
dukeleto, write my own.
dukeleto, actually, I'm already in the process (couldn't help myself :))
dukeleto shockwave: parrot is faster than perl 5 for many things
jrtayloriv chromatic, cotto -- nope still failing with the same message 19:42
dukeleto shockwave: that means it faster than most dynamic languages.
jrtayloriv: svn version?
purl svn version is fine it's just the one on the server that's wrong I think
dukeleto purl, forget svn version
purl dukeleto: I forgot svn version
chromatic I might have done something wrong on the server. 19:43
jrtayloriv dukeleto, version 1.6.4
dukeleto that is quite recent. just wondering
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?
dukeleto shockwave: you can compile a string of code in a given language from PIR 19:44
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?
dalek rrot: r41014 | jrtayloriv++ | trunk/CREDITS:
testing commit bit
dukeleto shockwave: you can do that too
jrtayloriv++ on his first commit 19:46
chromatic Okay dukeleto, you get to watch him 'cuz you've been reading his patches anyway.
Rule 1: don't break the build
Rule 2: be awesome
dukeleto Rule 1a: don't break the build on any platform (more fun!)
parrot is broken on darwin-x86 right now :( 19:47
beer or chocolate for whoever fixes it
chromatic Can you git-bisect the branch to find a specific commit there?
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.
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
chromatic The Parrot binary is a thin wrapper around libparrot.
shockwave dukeleto, chromatic: Ok, thank you very much to for the help. That's all I needed to hear.
19:57 jhelwig joined 19:58 jrtayloriv joined
dukeleto jhelwig: i need to git bisect the context_pmc3 branch 19:58
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?
dukeleto everyone, meet jhelwig++. he is a git-svn ninja. he is hacking on making mk_manifest.pl work with git-svn as well
jhelwig: there is a bisect log at trac.parrot.org/parrot/ticket/979 20:00
jhelwig Hi, everybody! </doctor nick>
dukeleto jhelwig: linked to there, in the comments
jhelwig: i haven't had a chance to tell people about the parrot and pugs git-svn mirrors, so the pleasure is all yours :)
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:04
jhelwig dukeleto: Yeah. git merge-base trunk <the-sha1-you have>^2 20:05
^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
jhelwig What don't you have? 20:07
dukeleto jhelwig: $ git merge-base trunk 72913096c5baf54358d3445fc4688d52a142bdbc^2 20:08
fatal: Not a valid object name 72913096c5baf54358d3445fc4688d52a142bdbc^2
jhelwig: i need to use one of your mirrors that has the whole history
jhelwig dukeleto: technosorcery.net/parrot-git-svn.tbz 20:09
dukeleto: I'm not seeing where context_pmc3 was merged in to trunk. 20:11
dukeleto jhelwig: r40958
jhelwig Oh, of course. I forgot about the whole "dealing with SVN" thing. :-\\ 20:12
context_pmc3 wouldn't show that it was merged in. 20:13
^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"
jhelwig r40679 20:15
dukeleto: git svn find-rev `git merge-base trunk context_pmc3`
dukeleto for the win
jhelwig: that rev looks like a commit from bacek to trunk. you sure? 20:17
jhelwig That is the commit just before context_pmc3 started. 20:18
What it branched off from.
dukeleto jhelwig: ok
jhelwig: so i mark that as the beginning of the bisect? 20:19
jhelwig git bisect good $(git merge-base trunk context_pmc3) 20:20
Yeah.
dukeleto jhelwig: i think i am doing it now 20:23
dalek rrot: r41015 | jrtayloriv++ | branches/gc-refactor (14 files):
gave sensible names to Small_Obj_Pool and Memory_Pool
20:28 bacek joined
dalek rrot: r41016 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
[profiling] print op info after the context switch that affects it and be smarter about what's printed
20:36
dukeleto jhelwig: it gives me back the merge commit 20:41
nopaste "dukeleto" at 69.64.235.54 pasted "git bisect of context_pmc3 branch" (17 lines) at nopaste.snit.ch/17831 20:43
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
That what you did?
dukeleto jhelwig: not quite. let me try it again 20:47
20:53 Zak joined, shockwave left
bacek Good morning 20:58
purl And good moroning to you, bacek.
dukeleto bacek: morning! context_pmc3 seems to have broken the build on darwin-x86 :( 21:00
cotto hi bacek
bacek dukeleto: git checkout -b context_pmc3_locat; git reset --hard remotes/context_pmc3; git bisect start; git bisect good 0cf68bb6a5800bc02edd6556c0dc280fb23aac75
hi cotto 21:01
jrtayloriv++ # Welcome aboard
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
Bad rev input: 0cf68bb6a5800bc02edd6556c0dc280fb23aac75 21:04
bacek dukeleto: ah. r40696
dukeleto bacek: git merge-base trunk context_pmc3
bacek just grep proper revision from git log
jhelwig bacek: git svn find-rev r40696
It's quicker.
bacek jhelwig: O! Good to know 21:05
jhelwig Also does SHA1 -> SVN rev.
bacek jrtayloriv: ping 21:07
21:08 sri joined
dukeleto bacek: i also had to say "git bisect bad trunk" 21:11
jhelwig: git bisect bad with no args does what?
bacek "git bisect bad" should be enough
It will use HEAD from branch
21:12 sri joined 21:13 sri joined
dukeleto jhelwig: you should add an ascii progress bar to git bisect :) 21:16
bacek jhelwig: and blackjack! and hookers!!! :)
jhelwig dukeleto: :-P 21:17
dukeleto bacek: that will be in the enterprise version ;) 21:18
szbalint in fact, forget about the blackjack
:)
dalek rrot: r41017 | cotto++ | branches/pluggable_runcore (3 files):
[profiling] detect and handle separate subs that get called with the same context
21:20
dukeleto jhelwig: you get anywhere on the git-svn support for the manifest? 21:21
jhelwig Haven't really looked at it since last time. Might put some more time in on it this weekend. 21:22
dukeleto jhelwig: if you have any questions about Parrot::Manifest, this is the place to ask 21:23
cotto s/::Manifest// 21:26
dukeleto cotto: don't scare him yet 21:27
jrtayloriv bacek, pong 21:28
bacek jrtayloriv: Did you see trac.parrot.org/parrot/wiki/GCTasklist (GC rewrapping talk) 21:29
dukeleto bacek: first bad commit is r40846 21:30
bacek dukeleto: looking
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.
bacek jrtayloriv: yaeh. It was ~8 hours ago.
jrtayloriv :) 21:32
dukeleto bacek: i bisected the first commit of context_pmc3 to trunk
jrtayloriv bacek, oh I see -- you were talking about the section at the bottom
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?
bacek dukeleto: or you choose wrong "good" version... 21:37
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
jhelwig: 4th times a charm
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)
chromatic Let's deprecate all functions that modify STRINGs in place. 21:40
dukeleto chromatic: what is your reasoning?
bacek (git merge-base trunk context_pmc3) is wrong commit.
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.
bacek dukeleto: try "git svn find-rev r40696"
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.
bacek jhelwig: on my checkout it gives commit deep inside context_pmc3 branch 21:42
jhelwig: ah.
looks like I'm wrong
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.
cotto chromatic, so superCOW? 21:43
bacek jrtayloriv: ok, deal :)
dukeleto chromatic: which bring a noticeable speed improvement?
chromatic A measurable one anyway.
Once we have that in place, we can have singleton STRINGs.
Better memory use. 21:44
FAST comparisons.
VERY FAST hash lookups, with STRING keys.
dukeleto chromatic: which and how many functions would that involve deprecating? 21:45
chromatic Half of src/string/api.c, maybe. Handwave.
bacek dukeleto: grep _inplace src/string/api.c 21:47
dalek rrot: r41018 | cotto++ | branches/pluggable_runcore (2 files):
[profiling] add explicit detection of runloop termination
bacek chromatic: hashvalue is cached in STRING anyway. 21:49
chromatic Calculating a hash value is more expensive than you think. 21:53
Comparing singleton STRINGs for equality is a single pointer comparison. 21:54
21:54 kid51 joined
cotto How much time do we spend comparing STRINGs? 21:55
chromatic 5% of the time in Rakudo startup is STRING hashing and comparison. 21:56
8.5% of the time of Rakudo's startup is creating COW STRINGs. 21:57
bacek chromatic: immutable strings will not give much improvements...
Because of charset/encoding.
chromatic Why not?
bacek Even if pointers different we can't say that strings are different 21:58
22:01 Whiteknight joined
cotto The philosophy of being encoding-agnostic doesn't help there. 22:05
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!
bacek And encoding!
NotFound bacek: That will simplify code, but loss some funcionality 22:08
bacek NotFound: why?
dalek rrot: r41019 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl:
[pprof2cg] actually empty the array and remove some debugging code
cotto chromatic, do you know how I can find out if I'm in the that imcc is considering to be :main?
dukeleto bacek: i think it is r40702 that broke the darwin-x86 build. it causes a bus error
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
bacek dukeleto: ouch... It's first big commit...
dukeleto bacek: yeah, i looked through the first 10 pages or so ... 22:10
bacek NotFound: String.toBytes(Encoding)
NotFound: We can implement all functionality in String PMC.
nopaste "dukeleto" at 69.64.235.54 pasted "build error on darwin-x86 at r40702" (22 lines) at nopaste.snit.ch/17832 22:11
bacek dukeleto: interactive gdb session?
cotto chromatic, nm. found it 22:13
kid51 What *branches* of Parrot need testing over the next couple of days?
bacek kid51: pluggable_runcore? 22:15
kid51 Whiteknight ping
dukeleto has just found an interesting freakin' bug
Whiteknight pong
kid51 bacek: ok
bacek dukeleto: trunk or branch?
kid51 Whiteknight re your msg about 'make coretest <runcore>'. ... 22:16
dukeleto bacek: r40702
kid51 I don't see why not. It's just another 'make' target, correct?
Whiteknight kid51: yeah, I sort of have a workaround now
I've been doing make coretest EXTRA_TEST_ARGS="-S"
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...
cotto kid51, pluggable_runcore isn't likely to fail anything except codingstd tests. I haven't written any tests of the actual runcore yet.
Making sure that it builds on a variety of platforms is good though.
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]
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?
bacek msg mj41 can you resurrect box 11?
purl Message for mj41 stored.
bacek dukeleto: not at all. Just shuffling context around
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 nopaste.snit.ch/17833
kid51 And it has the advantage of not requiring us to add/test/maintain more 'make' targets in config/gen/makefiles/root.in.
Whiteknight yeah, so I'll just stick with that. I can do an alias locally
kid51 I think that's best. I have several aliases for Smolder, full test, etc. 22:21
bacek dukeleto: do you have gdb around? 22:23
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...
kid51 So this might be specific to Intel ... or it might be specific to your OS version ... or something else entirely.
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
NotFound: sad but true 22:26
this is a great excuse to upgrade to 4gb
22:27 tetragon joined
NotFound Great way to test 22:27
bacek dukeleto: oh shi...
dukeleto bacek: ? 22:28
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 :)
bacek And I don't like both of them.
dukeleto this is a no-win situation, except for the guy that sells me memory
bacek dukeleto: :) 22:30
kid51 True, but Mr Memory is the guy who got shot at the end of "The 39 Steps."
bacek valgrind doesn't report any errors on compiling PCT.pir... 22:31
Hmm... It can be some unintialised variables in action. Platform specific.
dukeleto: Is there is valgrind for macosx? 22:32
ETOOMANYIS
A-ha! x86/Darwin (Mac OS X): support is new. 22:33
dukeleto: do you use 32 or 64 bits version?
dukeleto bacek: there was a svn rev for it, last i know
bacek: of what? parrot?
bacek dukeleto: macosx
dukeleto bacek: not sure how to tell 22:34
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?
valgrind --version
valgrind-3.4.0.SVN
bacek dukeleto: according to site - yes.
but this version may help as well 22:36
Just run valgrind ../../parrot -o ../../runtime/parrot/library/PCT.pbc --output-pbc PCT.pir within compilers/pct
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?
kid51 make codetest has been stuck there for me for > 5 minutes
bacek dukeleto: no.
dukeleto bacek: it didn't find any errors 22:38
bacek dukeleto: for errors checks it's enough.
kid51 Hmm, it ran, albeit slowly, with prove -v.
dukeleto perhaps i should try the newer version
bacek dukeleto: ouch... It's getting more mysterious.
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41019 - Ubuntu 9.04 amd64 (gcc)
kid51 tries 'make codetest' again in branch
mikehh kid51: which branch you testin' 22:39
dukeleto bacek: why can't I do "valgrind make" ?
kid51 pluggable_runcore
dukeleto bacek: i actually did that just now, mysterious output
bacek dukeleto: hmm... Because valgrind targeting single process.
dukeleto: nopaste?
purl well, nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo
nopaste "dukeleto" at 69.64.235.54 pasted "valgrind make on r40702" (34 lines) at nopaste.snit.ch/17834 22:40
cotto kid51, that test works fine for me
kid51 Maybe it's slow because I'm doing make fulltest on trunk on same box 22:41
22:42 rg1 joined
nopaste "dukeleto" at 69.64.235.54 pasted "valgrind make with more flags on r40702" (324 lines) at nopaste.snit.ch/17835 22:43
dukeleto bacek: gotcha
bacek: i am going to try on trunk
bacek dukeleto: this is bugs in "make", not parrot. 22:44
dukeleto bacek: yeah, i noticed that. sucks 22:45
dukeleto gives himself a gold watch 22:46
cotto so we're triggering a make bug? nice. 22:47
NotFound make bug 22:48
bacek cotto: no. But valgrind report some make bugs.
mikehh missed reporting - rakudo (6e2104a) builds on parrot r41004 - make test / make spectest (up to r28192) PASS - Ubuntu 9.04 amd64 (g++)
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
mikehh rakudo (6e2104a) builds on parrot r41019 - make test / make spectest (up to r28193) PASS - Ubuntu 9.04 amd64 (gcc) 22:54
nopaste "bacek" at 114.73.158.5 pasted "Patch to test on amd64 for mikehh++" (78 lines) at nopaste.snit.ch/17836 22:57
bacek mikehh: can you test nopasted patch on amd64?
Who is "parrot_debugger master"? 22:59
dukeleto SWEET MOTHER I FOUND IT
bacek dukeleto++ # Hooray!
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 nopaste.snit.ch/17837
23:01 Andy joined
dukeleto bacek: it seems to be using /usr/local/lib/parrot.dylib instead of the one in the tree. is that correct? 23:01
mikehh bacek: that's on trunk? 23:02
bacek mikehh: yes
mikehh ok I'll try it
dukeleto the nopaste is from trunk
bacek dukeleto: yes... Did you notice Configure warning? :) 23:03
23:03 Andy joined
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
cotto even fewer bugs!
dukeleto bacek: no warnings from Configure.pl 23:04
bacek dukeleto: hmm... Looks like Configure on darwin didn't check for installed parrot.
NotFound dukeleto: I warn you, just in case Configure.pl doesn't ;)
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
where do I go to fix that? 23:06
dalek rrot: r41020 | cotto++ | branches/pluggable_runcore (2 files):
[profiling] make all runloops visible by means of a silly hack that gives them all a fake parent context
NotFound dukeleto: rm usually helps ;)
dukeleto NotFound: i rm'ed my installed parrot. but where do I go in the parrot code to properly warn someone at Configure time ?
NotFound The error message comes from config/inter/libparrot.pm 23:08
"See RT #52288: the check for old_versions should be improved" 23:09
Certainly ;) 23:10
Whiteknight dukeleto++
NotFound There is no "if ($^O eq 'Some damm apple invention') 23:11
bacek mikehh: any luck with patch? 23:13
kid51 'make codetest' passed on pluggable_runcore branch at r41019 23:16
cotto it'd better 23:17
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
kid51 make fulltest passed on trunk on Linux/i386
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?
cotto amazing
Whiteknight cotto: I could do that branch tonight I supposed, if context_pmc3 is settled
cotto I'm still finding bugs. I was going to merge so I could give rakudo another shot.
s/merge/sync with trunk/
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:22
nopaste "dukeleto" at 69.64.235.54 pasted "teach config/inter/libparrot.pm about darwin" (14 lines) at nopaste.snit.ch/17838 23:23
dukeleto NotFound: codereview nopaste please
Whiteknight cotto: I'm doing the kill_parrot_cont merge now. Be in in a few minutes 23:24
dukeleto now that i can compile parrot again, i can work on test_more.pir 23:25
cotto great!
I'm running tcl hello world now. It's making normal partcl look speedy
Whiteknight urg, lots of conflicts already 23:26
mikehh bacek: building now 23:27
NotFound dukeleto: looks good
dukeleto NotFound: danke
valgrind++ 23:31
karma valgrind
purl valgrind has karma of 24
dukeleto valgrind++
mikehh bacek: make test PASS, running fulltest now 23:32
bacek mikehh: thanks! 23:34
dukeleto $ make test
make: *** No rule to make target `test'. Stop.
cotto 1.5 seconds for normal tcl hello world, 4m15s for profiled tcl hello world
dukeleto erg. that was in the valgrind dir 23:35
cotto: that must be a lot of features making it so slow
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:36
I suppose it'd be worth profiling the profiler, though. ;) 23:37
mikehh bacek: codetest wants a space between sizeof and paren -> sizeof ( 23:40
NotFound cotto: Call it 'Who'
bacek mikehh: ok, will fix
NotFound Who profile the profilers? 23:41
bacek meta-profiler
also, see recursion :)
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
dukeleto jhelwig: somehow i have git svn pointed at a branch: $ git svn dcommit -n 23:49
Committing to svn.parrot.org/parrot/branches/plu...le_runcore ...
diff-tree 0d1b432f8b4f30ef58b2b048db4e7e6089ea9f26~1 0d1b432f8b4f30ef58b2b048db4e7e6089ea9f26
How do I make it not do that?
cotto Well, I have a profile for tcl hello world, but it
's kinda weird. 23:50
bacek dukeleto: git reset remotes/trunk?
dukeleto bacek: that did it. thanks. 23:51
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
NotFound bacek: What was the problem? 23:53
bacek NotFound: accessing non-existing register
NotFound Uh... That caused a double-free? :o 23:54
dalek rrot: r41021 | dukeleto++ | trunk/config/inter/libparrot.pm:
[build] Teach config/inter/libparrot.pm about darwin so that people get properly warned about having an installed parrot
23:55
dukeleto NotFound: i am good at making things blow up :)
ttbot Parrot trunk/ r41021 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/82134.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
bacek NotFound: yes. It put some garbage into regs. 23:56