Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Fix ipv6-related failures | Test imcc_interfaces and annotations-tree branches
Set by moderator on 31 January 2011.
bacek_at_work cotto, let's switch to own dog food instead :) 00:03
My YAML::Tiny is good enough already. We just have to decide where is should go "./ext" or "./runtime/parrot/library" 00:04
cotto_work bacek_at_work: +1 if it's feasible 00:05
bacek_at_work cotto_work, it should be. And I ported show_experimental to nqp already.
cotto_work It looks like it'd be a 15 second job for you or a 15 minute job for a normal person. 00:06
bacek_at_work Multi-line scalars aren't parseable yet
afk # meeting for nex 6 hours
cotto_work yuck
whiteknight what we really need is a set_pointer VTABLE on the PackFile PMC 00:07
cotto_work bacek_at_work: can you nopaste your port or show_experimental? 00:08
whiteknight and then we need to actually mark the PackFile* in PackFile.mark
cotto_work dukeleto: is there a nice way to move an external project into parrot.git while preserving history? 00:09
00:10 sheant left
whiteknight cant you use a submodule? 00:10
cotto_work decommutes
dalek rrot: 78d1638 | NotFound++ | t/op/stringu.t:
set_addr -> set_label, TT #1857
00:24
00:29 knewt left 00:30 knewt joined, kid51_at_dinner is now known as kid51 00:33 knewt left, knewt joined 00:34 tcurtis joined, tcurtis left
dalek rrot: 8f3e664 | NotFound++ | compilers/pct/src/PAST/Compiler.pir:
set_addr -> set_label in PAST, TT #1857
00:37
cotto ~~ 00:40
dalek rrot/whiteknight/imcc_compreg_pmc: efd80f0 | NotFound++ | tools/dev/show_deprecated.pl:
show something meaningful for deprecation notices without eligible or ticket fields
00:41
rrot/whiteknight/imcc_compreg_pmc: 2cdf5dd | nwellnhof++ | / (2 files):
Add some debug output to IPv6 test
rrot/whiteknight/imcc_compreg_pmc: a35f817 | nwellnhof++ | / (5 files):
Remove support for deprecated charset:encoding:"" literals

TT #1808
00:42
rrot/whiteknight/imcc_compreg_pmc: 693ddea | pmichaud++ | compilers/pct/src/POST/Node.pir:
[pct]: TT #821 -- Allow POST::Sub to handle parameters :slurpy + :optional and :slurpy + :named + :optional (by treating them as though :optional is not present, as recommended in the ticket).
rrot/whiteknight/imcc_compreg_pmc: d774533 | pmichaud++ | / (5 files):
Merge branch 'master' of github.com:parrot/parrot
rrot/whiteknight/imcc_compreg_pmc: 78d1638 | NotFound++ | t/op/stringu.t:
set_addr -> set_label, TT #1857
rrot/whiteknight/imcc_compreg_pmc: 4a37c23 | Whiteknight++ | / (113 files):
merge in from master
rrot/whiteknight/imcc_compreg_pmc: 0d3be41 | Whiteknight++ | compilers/imcc/pbc.c:
update some uses of interp in imcc to imcc->interp
rrot/whiteknight/imcc_compreg_pmc: acf50a1 | Whiteknight++ | compilers/imcc/pbc.c:
fix a boo-boo I just made
whiteknight ...I hope it doesn't list every commit in the merge
00:52 extreme left
bacek_at_work cotto, nopaste.snit.ch/29613 00:56
cotto bacek_at_work, thanks. I'll add that later tonight 00:57
whiteknight ha, as soon as I send out that email I fix it so the test suite runs again 00:58
it's a massacre, but it runs 00:59
cotto wfm
;)
whiteknight all the tests for IMCC, which expect very specific types of behaviors, are all broked 01:00
cotto maybe they need a hug
whiteknight a big, angry, violent hug 01:05
cotto yeah, one of those 01:06
whiteknight minus the hug
dalek rrot: 1b1f6f7 | nwellnhof++ | / (3 files):
Work around GC problem in embed API

Cherry-picked from branch gc_dynamic_threshold on bacek's request. See TT #1990
01:12
rrot: 0d912d7 | nwellnhof++ | src/pmc/sockaddr.pmc:
Fix GCC warning
01:14 extreme joined
nwellnhof parrot compiles for me without any warnings, bacek++ 01:15
bacek_at_work nwellnhof, :) 01:24
cotto, it should be "//" instead of "||" in show_experimental.nqp
cotto, %e<note> || '';
cotto noted 01:25
bacek_at_work, is pirate self-hosting?
cotto forgot
and is there a nice way to build a self hosted version 01:26
dalek nxed: r769 | NotFound++ | trunk/winxed.winxed:
refactor options handling and some other minor changes in non installed driver
01:32
01:32 dmalcolm left
dalek tracwiki: v15 | nwellnhof++ | BuildWarnings 01:33
tracwiki: Resolved by bacek++
tracwiki: trac.parrot.org/parrot/wiki/BuildWa...ction=diff
02:05 bacek_mobile joined
bacek_mobile Cotto, not yet 02:05
cotto bacek_mobile, ok 02:06
dalek rrot/whiteknight/imcc_compreg_pmc: 9efe75c | Whiteknight++ | frontend/parrot/main.c:
Fix pasm files and preprocessing

Differentiate between .pasm files and other input files. Call the PASM compiler for the first set, PIR compiler for everything else. Also, implement preprocessing with the -E option
02:07
whiteknight I can't wait till this branch works 02:11
it's going to be awesome
AWESOME I say
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#6859) fulltest) at 3_0_0-371-g0d912d7 - Ubuntu 10.10 i386 (g++-4.5) 02:15
whiteknight: think it will be ready for 3.1? 02:16
whiteknight mikehh: It's ready now, if you don't mind ~200 test failures, and a failure to complete the build, and codestd failures which would be dubbed a "crime against C" 02:17
mikehh whiteknight: ha, I will give it a go a bit later 02:18
whiteknight I always appreciate it
I've been moving so fast just to get the code prototyped and reprototyped that I've been cutting corners 02:19
cotto is there any reason to use YAML::Tiny as a submodule rather than moving it into runtime/parrot/library ? 02:25
02:26 nwellnhof left
bacek_mobile Cotto, flip the coin :) 02:29
cotto what's tails mean?
;)
dukeleto, ping 02:30
bacek_mobile Tails for import into :) 02:32
cotto I suppose I should install git-achievements before attempting this. 02:33
bacek_mobile Achivement unlocked :) 02:35
cotto You currently have: 1 achievements 02:37
02:40 whiteknight left 02:41 Kristaba left
KaeseEs now all that remains is to write a git plugin for steam 02:41
02:48 bacek_mobile left
cotto is there a better way to merge the projects than pulling and moving the files into the right places? 02:49
03:05 kid51 left 03:11 extreme left, extreme joined
plobsing cotto: you could graft the other project's history into parrot's. that only really makes sense if we are going to be absorbing in stead of referencing it (not sure where we're going with this) 03:21
cotto I'm leaning toward absorbing. 03:22
bacek_at_work plobsing, consume :)
03:22 adu left
cotto the test seems to be going into an infinite loop 03:32
bacek_at_work cotto, "make reconfig" usually helps.
cotto magic fiddling fixed it 03:34
go figure
cotto wonders what passover has to do with roadmap goals 03:38
plobsing there may be fewer available tuits due to religious observances and family gatherings? 03:40
KaeseEs does a tuit ~~ a developer-hour? 03:41
cotto KaeseEs, it comes from the expression "when I get around to it"
it's essentially usable hacker time 03:42
KaeseEs oh ho ho
cotto now you know
plobsing KaeseEs: however there are different grades. do not get ripped off with the square ones. only round tuits are good. 03:43
KaeseEs i'm torn between the nbc "the more you know" and the bill nye "now you know" sfx playing in my head
dalek Heuristic branch merge: pushed 30 commits to parrot/yaml-tiny-import by cotto 03:44
cotto 30?
ah. That includes bacek's history too 03:45
stupid commit-stealing bot
plobsing heuristic branch merged saved this channel's remaining shards of sanity 03:48
03:49 bacek left
cotto plobsing, that too 03:49
KaeseEs looks like i can get a fair amount of work done in 750us, hooray! now to read some more of bacon's stuff 04:14
dalek rrot/yaml-tiny-import: ed5319a | cotto++ | tools/dev/show_experimental.nqp:
add show_experimental.nqp from bacek++
04:15
rrot/yaml-tiny-import: d775ac6 | cotto++ | t/library/yaml_tiny.t:
add a test to parse api.yaml
rrot/yaml-tiny-import: b04920b | cotto++ | api.yaml:
fix eligibility good in api.yaml
rrot/yaml-tiny-import: 78dfa4d | cotto++ | tools/dev/show_experimental.nqp:
add a fix mentioned by bacek++
rrot/yaml-tiny-import: 87a5cc1 | cotto++ | tools/dev/show_deprecated.nqp:
add nqp port of show_deprecated
KaeseEs bacek_at_work: is there a branch that has a partial implementation of the sweepless gc bit from the wiki? (don't wanna step on anyone's toes) 04:16
dalek rrot/yaml-tiny-import: 96eb8d0 | cotto++ | t (4 files):
remove perl versions of show_* and tests
04:18
rrot/yaml-tiny-import: 86347b1 | cotto++ | MANIFEST:
manifix
plobsing msg whiteknight: the current build failures in imcc_compreg are due to no longer setting up a context (IMCC abused the current context for constant folding) our alternatives, as I see them, are restore the IMCC context manipulation you've removed OR us constant unfolding (for which there is a prototype waiting in a branch) so that we no longer need the context-abusive constant folder 04:26
aloha OK. I'll deliver the message.
cotto It makes me sad that I know the opsc tests by how slowly they run. 04:27
plobsing it makes me sad that I know the opsc tests by how frequently I have to update their ops counts.
dalek rrot: afda976 | cotto++ | / (5 files):
Merge branch 'master' of git://github.com/bacek/YAML--Tiny into yaml-tiny-import

Conflicts:
  \tREADME
rrot: 1429108 | cotto++ | / (7 files):
shuffle files around, move yaml_ok into yaml_tiny.t
rrot: d3f8921 | cotto++ | config/gen/makefiles/root.in:
update makefile template for YAML::Tiny
rrot: ee1f42b | cotto++ | / (2 files):
fix makefile template, add magic to make test pass
rrot: ed5319a | cotto++ | tools/dev/show_experimental.nqp:
add show_experimental.nqp from bacek++
rrot: d775ac6 | cotto++ | t/library/yaml_tiny.t:
add a test to parse api.yaml
rrot: b04920b | cotto++ | api.yaml:
fix eligibility good in api.yaml
rrot: 78dfa4d | cotto++ | tools/dev/show_experimental.nqp:
add a fix mentioned by bacek++
rrot: 87a5cc1 | cotto++ | tools/dev/show_deprecated.nqp:
add nqp port of show_deprecated
rrot: 96eb8d0 | cotto++ | t (4 files):
remove perl versions of show_* and tests
rrot: 86347b1 | cotto++ | MANIFEST:
manifix
cotto Where's that heuristic, again?
plobsing heuristic is just a fancy way of saying it doesn't work 04:29
dalek rrot: b7cf765 | cotto++ | MANIFEST.generated:
add YAML/Tiny.pbc to MANIFEST.generated
04:32
cotto that's enough out of me
for now
msg pmichaud Your build should be back to normal now. 04:36
aloha OK. I'll deliver the message.
cotto seen gerd 04:38
aloha gerd was last seen in #parrot 3 days 8 hours ago joining the channel.
dalek TT #1993 closed by cotto++: New api.yaml tests require YAML.pm and List::MoreUtils.pm 04:42
TT #1993: trac.parrot.org/parrot/ticket/1993
bacek_at_work cotto, ping 05:06
ttbot Parrot 99576e15 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/4137.txt (tt.taptinder.org/buildstatus/pr-Parrot) 05:07
dalek rrot: 9df28c8 | cotto++ | lib/Parrot/Pmc2c/ (2 files):
avoid a rare VTABLE struct leak, fixing tt #898

When a dynpmc calls a dynpmc parent's VTABLE function via SUPER, don't leak a VTABLE struct. This doesn't happen very often.
05:08
cotto bacek_at_work, pong
bacek_at_work cotto, what is new policy to remove items from api.yaml? 05:09
pmichaud++ closed quite few tickets
And we probably can create automated tools to clean up api.yaml
cotto bacek_at_work, mark them as "old"
bacek_at_work cotto, ok. 05:10
cotto bacek_at_work, that's the point.
It'll be great.
It feels good to finally get that ticket closed. 05:12
chromatic++ for the suggestion
dalek TT #898 closed by cotto++: r40313 introduces a memory leak 05:15
TT #898: trac.parrot.org/parrot/ticket/898
TT #276 closed by cotto++: t/dynpmc/foo fails 05:32
TT #276: trac.parrot.org/parrot/ticket/276
cotto Wow. Adding a pir-level backtrace to Parrot_confess is a pretty huge yak. 05:42
Step 2: add INTERP to every use of PARROT_ASSERT, PARROT_ASSERT_ARG, PARROT_FAILURE and PARROT_ASSERT_MESSAGE. 05:43
That code doesn't get to make as many assumptions as I'd like. 05:46
05:57 rurban_ joined 05:59 cosimo left 06:00 rurban left, rurban_ is now known as rurban 06:04 mtk left 06:09 mtk joined
bacek_at_work cotto, still around? 06:13
bacek@illusion:~/src/parrot$ ./parrot-nqp tools/dev/resolve_deprecated.nqp 06:14
Ticket trac.parrot.org/parrot/ticket/843 is closed and can be marked ad 'old'
Ticket trac.parrot.org/parrot/ticket/1628 is closed and can be marked ad 'old'
Ticket trac.parrot.org/parrot/ticket/103 is closed and can be marked ad 'old'
Ticket trac.parrot.org/parrot/ticket/868 is closed and can be marked ad 'old'
Ticket trac.parrot.org/parrot/ticket/1628 is closed and can be marked ad 'old'
Ticket trac.parrot.org/parrot/ticket/1635 is closed and can be marked ad 'old'
dalek rrot: 26d115c | bacek++ | tools/dev/resolve_deprecated.nqp:
Semi-automated deprecations resolver.
bacek_at_work Right after my latest commit :)
Meh, typo...
dalek rrot: 8bf4af9 | bacek++ | tools/dev/resolve_deprecated.nqp:
Fix typo and add commented out YAML::Dumper sample.
06:17
cotto bacek_at_work, yup 06:20
shiny
bacek_at_work cotto, we do need YAML::Tiny.dump
cotto bacek++
I like your laziness 06:21
though before that spreads too far, I want to use "completed" or something more intuitive than "old" 06:22
bacek_at_work *
cotto If only there were a way to do that through some sort of automatic conversion.
*?
bacek_at_work "whatever" (old vs completed) :) 06:23
map( -> $_ { $_ eq 'old' ?? 'completed' !! $_ }, @tags)
right after implementing YAML::Tiny.dump
.write_string actually 06:24
sorear bacek_at_work: how essential is POST going to become? 06:26
bacek_at_work sorear, in my dreams? Official way of generating PBC.
06:27 jsut_ joined
cotto sounds fun 06:31
What about YAML::Dumper?
06:32 jsut left
bacek_at_work It puts types into yaml. 06:32
E.g. "!Hash { ... }"
which is legal YAML.
But useless for api.yaml
cotto ok 06:34
dukeleto ~~
cotto hio dukeleto
dukeleto, does the gcc compile farm have any ppc machines? We have some pcc-specific bugs. 06:35
dukeleto cotto: well, there is one under my desk
cotto is it smoking? 06:36
dukeleto cotto: nope, turned off 06:37
cotto too depressing?
dukeleto cotto: nah, it has a loud fan but otherwise is a decent machine. it is my old work desktop G5
dukeleto presses the ON button 06:38
cotto BOOM
dukeleto cotto: also, i saw on the farm mailing list that they are buying some darwin machines, but they currently don't have any operational 06:39
cotto ok
dukeleto cotto: is there a TT ? 06:41
cotto: it will take some time to get the machine in smoking order
cotto trac.parrot.org/parrot/ticket/1813 for one 06:42
dukeleto remembers that he unplugged the keyboard/mouse/monitor and all that jazz
cotto I'll start tagging them as I see them. Trac's search is braindead. 06:43
dukeleto cotto: you can assign ppc stuff to me, if you want 06:44
cotto wfm
06:52 contingencyplan left, AzureStone left, perlite left, pjcj left, sorear left, szabgab left, jjore left 06:53 contingencyplan joined, AzureStone joined, perlite joined, pjcj joined, szabgab joined, jjore joined, sorear joined
cotto This is probably insane, but I thought I'd bounce it off someone. 06:53
There's a ticket open to get pir backtraces when a assertion failure is triggered. This is tricky because an interp isn't always available and there's none being passed to ASSERT_*().
What about adding a static INTERP* variable, initializing/clearing it in make_interpreter/Parrot_really_destroy and using that static variable for backtraces if it's non-null?
I'm inclined not to do it, but I thought I'd give the idea some air before putting it down. 06:54
dalek rrot: a65c158 | bacek++ | runtime/parrot/library/YAML/Tiny.pm:
Quick hack to write_string from YAML::Tiny.
06:56
rrot: 161effc | bacek++ | tools/dev/resolve_deprecated.nqp:
Update api.yaml and write it back.
rrot: e46cb83 | bacek++ | runtime/parrot/library/YAML/Tiny.pm:
Remove debug output from YAML::Tiny._dump
rrot: d674bf5 | bacek++ | runtime/parrot/library/YAML/Tiny.pm:
Quote string dumped from YAML::Tiny
rrot: 70a9039 | bacek++ | runtime/parrot/library/YAML/Tiny.pm:
Format yaml without extra spaces.
rrot: deb1231 | bacek++ | api.yaml:
First self-hosted api.yaml
rrot: fbfc2a8 | bacek++ | tools/dev/resolve_deprecated.nqp:
Add some progress indication.
bacek_at_work cotto, hooray :)
cotto Is that an actual port of write_string?
cotto looks
I love multis 06:58
bacek_at_work, how complete is that?
sorear cotto: it's totally reasonable to stash the current interp in TLS. Mono does that. 06:59
bacek_at_work: Yeah I've read some of your notes... wondering if there is any sane possibility of bypassing POST and directly calling into packfiles 07:00
cotto sorear, that's what make_hello_pbc.pir does. 07:02
especially as the packfile pmcs mature, there's no reason why that wouldn't work. POST is just a nice interface for describing what to do with the pmcs. 07:07
bacek_at_work cotto, "complete"? Good enough for api.yaml turn-around :) 07:13
cotto That's probably what I was asking. 07:14
bacek_at_work <dalek> parrot: deb1231 | bacek++ | api.yaml: 07:16
<dalek> parrot: First self-hosted api.yaml
parrot: review: github.com/parrot/parrot/commit/deb123171e
:)
cotto I saw. Nice work.
bacek_at_work It's parsed-and-dumped api.yaml via YAML::TIny
cotto this opens up whole new worlds of laziness for us 07:19
bacek_at_work Indeed :)
cotto dukeleto will be quite happy, I'm sure
dukeleto bacek_at_work: nice work
cotto I 07:20
I'd better change "old" to "completed" while it's still possible.
dukeleto bacek_at_work: my tools had tests, and you delete them and don't write tests for yours? Bad form, mate. 07:21
(even if they were horribly simple tests)
bacek_at_work dukeleto, it wasn't me. Blame cotto, mate :)
dukeleto bacek_at_work: i just want tests that will fail if api.yaml isn't valid yaml. is that so much to ask? 07:22
cotto dukeleto, the current test fails if api.yaml is bad 07:23
I figured that was all you cared about.
dukeleto cotto: what test?
cotto t/library/yaml_tiny.t 07:24
dukeleto t/library/yaml_tiny.t ?
ah, ok
just saw that
cotto: ok, i retract my sarcasm :)
it is nice to see the deprecation data being used 07:25
cotto dukeleto, is api.yaml documented anywhere?
dukeleto cotto: a few files name it as the place that deprecated/experimental stuff lives, but nothing documents the policy of how to update it 07:26
cotto: we need those docs
cotto yup
dukeleto cotto: which describe to change a dep to "completed" instead of removing it
cotto: feel free to write the docs, or assign me a TT to do it. But you have to decide where the docs live, because that is too hard :) 07:27
dalek rrot: 644b7ad | cotto++ | / (4 files):
change "old" to "completed" in api.yaml.

We have lots of old deprecations that aren't completed. Hopefully this is more intuitive.
07:28
cotto dukeleto, exactly. bacek_at_work asked about that earlier this evening.
dukeleto, right next to our docs on debugging Parrot. 07:30
ingy hi dukeleto
what's shakin?
dukeleto ingy: howdy! 07:32
ingy: we just got a YAML::Tiny in Parrot, which is probably the disturbance in the force that you sensed with your Ingy-sense 07:33
ingy nice!
dukeleto ingy: what brings you around these parts? 07:34
ingy my irssi-sense more like it :)
dukeleto ingy: ah, yes
ingy i blink on terms like yaml
just happened to have a problem that needed irc
dukeleto ingy: what have you been hacking on lately?
ingy Cog 07:35
dukeleto ingy: is this related to Cobol on Cogs?
ingy :P
no
it's a futuristic app/webapp framework
really an information framework 07:36
but one step at a time
as a nice aside it is turning out to be the world's fastest webapp framework
I have never been keen on speed 07:37
but it's cool
ingy is a speed freak
dukeleto ingy: i have been using django lately, and i am impressed at the automatically generated admin interface for database elements
ingy: i don't think and perl web framework has that
ingy mmm 07:38
that's a big part of cog actually
data is typed objects. objects have cog schema class-like definitions. schema objects can generate perl code, python code, js code or admin interfaces :) 07:40
dukeleto ingy: i like it 07:41
bacek_at_work what about generating on ponies? It's last bit in my World Domination project!
:)
dukeleto bacek_at_work: ponies are generated dynamically at run-time
07:42 fperrad joined
dukeleto bacek_at_work: via pony-passing-style 07:42
bacek_at_work Hey, are ponies enclosed? How you can implement pps without proper enclosure???
dukeleto ingy: what is Cog written in?
bacek_at_work dukeleto, perl. search.cpan.org/~ingy/Cog-0.05/lib/Cog.pm
dukeleto bacek_at_work: well, assume that a pony is a frictionless sphere. The proof is trivial.
ingy: which confs will you be at this year? 07:44
cotto nice to see something from austin_hastings 07:48
ingy dukeleto: OSDC::Taiwan and probably YAPC::NA 07:52
dukeleto ingy: cool. i will hopefully see you at YAPC::NA. I am still thinking about YAPC::EU 07:56
for those into Javascript: javascriptweekly.com/ 08:04
cotto dukeleto, looks interesting 08:05
dukeleto cotto: i am a sucker for free, useful, curated info 08:07
cotto +1
dalek TT #1995 created by gerd++: building a new release is broken; seem to be: "ops2c" is broken 08:18
TT #1995: trac.parrot.org/parrot/ticket/1995
08:46 theory left 08:53 cognominal left 09:15 bacek joined 09:16 bacek left 09:33 bacek joined
dalek rrot/generational_gc: 847eb47 | bacek++ | src/gc/gc_gms.c:
Allocate/free work_list for each collecting cycle.

work_list can grow dramatically when we collect very old generation.
09:52
rrot/generational_gc: eeba54f | bacek++ | src/gc/gc_gms.c:
Reorder stats/checks to provide stats before check.
rrot/generational_gc: fc8aa8d | bacek++ | src/gc/gc_gms.c:
One more fix for manipulating Pointer_Arrays
rrot/generational_gc: 704ee69 | bacek++ | src/gc/gc_gms.c:
Stylish changes of variable name for consistency.
rrot/generational_gc: 54a464b | bacek++ | src/gc/gc_gms.c:
Switch from assert to condition in seal_object.

We can call seal_object for already sealed objects. E.g. when we propogate from gen1 to gen2.
rrot: 29d2c10 | mikehh++ | MANIFEST:
re-generate MANIFEST
10:44
rrot: fbe4dd5 | mikehh++ | runtime/parrot/library/YAML/Tiny.pm:
missing copyright and fix cuddled else failure
11:29 whiteknight joined
dalek rrot: 393bb6d | mikehh++ | t/library/yaml_tiny.t:
change shebang line so it does not require an installed nqp
11:40
rrot: 9a5e8bb | mikehh++ | t/codingstd/perlcritic.t:
modify ingnore of nqp shebang
11:43 contingencyplan left
mikehh bah - s/ingnore/ignore/ in last commit 11:44
whiteknight good morning, #parrot 11:54
12:29 bluescreen joined 12:41 kthakore left 12:59 mtk left 13:00 mtk joined 13:08 gg411 joined
Coke (git submodules) I keep hearing how much these suck. 13:16
atrodo I find them useful, but not quite as awesome as I think they should be 13:23
13:26 mtk left 13:30 mtk joined 13:38 whiteknight left 13:52 Kapace left 13:57 rurban_ joined 14:00 rurban left, rurban_ is now known as rurban 14:14 plobsing left 14:37 plobsing joined 14:47 gg411 left 14:51 bluescreen left
Coke TL;DR's kid51's post. 15:03
15:05 bluescreen joined 15:06 cognominal joined 15:11 jsut joined 15:15 jsut_ left 15:21 whiteknight joined 15:25 jsut_ joined
whiteknight good morning, #parrot 15:28
15:29 theory joined, plobsing left 15:30 jsut left
pmichaud good morning 15:32
15:41 plobsing joined
plobsing ping whiteknight 15:42
15:43 dalek left 15:44 dalek joined
whiteknight pong 15:45
plobsing how do you want to resolve the constant folder contexts issue?
whiteknight I'm not sure what that issue is 15:46
15:47 bluescreen left
plobsing it is the segfault building library/Archive/Zip.pbc. the context doesn't have the appropriate registers because IMCC is no longer creating and pushing its own context 15:47
the constant folder is "clever" and executes individual ops with registers it populates manually 15:48
15:51 bluescreen joined
whiteknight oh, constant folding ops. Right 15:51
I thought you were talking about a filesystem folder
I was trying to add context-building wrappers to the IMCCompiler invoke vtable, and the Parrot_compile_file function 15:52
so they were building wrapper context with 3,3,3,3 registers
so either I'm not building those contexts like I thought I was, or they are not being found by IMCC
as a sanity check, can we disable the constant folder? If so, does the build/test suite fair any better? 15:53
plobsing the constant folder is required to compile PIR. all-const-inputs ops don't get generated by opsc (because they don't really make sense). 15:54
whiteknight right, that's what I thought
okay. I'm firing up my VM now. I think I am definitely creating contexts for IMCC to use. We need to make sure those are the right ones being found by IMCC 15:55
plobsing I created a constant UNfolder which fills the same role (it is slightly more general), without playing games with contexts
whiteknight where is that?
plobsing in constant_unfolding branch
the intent was to cut back on the ops required (by eliminating some const-variants), but I got pushback on that, so it never got merged 15:56
whiteknight that's a shame 15:57
plobsing not really, it wasn't much work 15:58
15:58 Kristaba joined
whiteknight still, it sounds like it could have had nice benefit 15:58
plobsing nah. after dynops_mapping, ops cost less. 15:59
16:00 vmspb joined
plobsing and there's the issue of going through all the ops and determining which const-variant ops are not much of a win 16:00
labour intensive, for little gain. 16:01
but it does provide a nice alternative to the constant folder, whose context-games I've never been fond.
whiteknight okay, it looks like I never added in the code to push a new context in IMCCompiler.invoke 16:02
I definitely was playing with it last night, I might not have pushed it
dukeleto ~~ 16:06
dalek rrot/whiteknight/imcc_compreg_pmc: 99e9640 | Whiteknight++ | src/pmc/imccompiler.pmc:
create a new context for IMCC to use
16:08
whiteknight plobsing: either that doesn't fix it, or that exposes a different problem. 16:11
pmichaud ...that's very strange, I received kid51's message as a private message to me from kid51, not as a parrot-dev post.
whiteknight plobsing: no, definitely different problem. This is a segfault I was seeing yesterday in PCC for some reason 16:12
raw_sig, an FIA, has a null ->data field coming in to fill_params 16:14
cotto_work ~~ 16:15
plobsing that is odd. I don't think IMCC fiddles with the internals of FIAs
cotto_work seen gerd 16:16
aloha gerd was last seen in #parrot 3 days 19 hours ago joining the channel.
16:16 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
pmichaud and apparently kid51's isp is blocking email from my servers... :( 16:16
whiteknight plobsing: It's a signature FIA, those are generated and stored as constants, right?
maybe the PMCs in the PackFile are getting collected
plobsing whiteknight: that is entirely possible 16:17
we could attach mark routines to the structs we use to pass those around
whiteknight imcc is returning raw PackFile* structures. the IMCC compreg is wrapping them up int Eval PMCs, which should be marking I think
16:18 gg411 joined
whiteknight and I am disabling GC before entering IMCC, and reenabling it after we exit IMCC 16:19
plobsing whiteknight: before or after those are rooted in the eval PMC?
whiteknight I unblock GC after building the Eval PMC with the PackFile
github.com/parrot/parrot/blob/99e9...er.pmc#L31 16:21
it's ugly now while I'm getting the logic in place. It will be refactored eventually 16:22
plobsing I'm still having the context issue 16:25
IMCCompiler.compile_file() does not do the appropriate amount of setup 16:29
nor does IMCCompiler.eval() it would seem.
16:30 gg411 left 16:31 gg411 joined
dukeleto cotto_work: pong 16:31
cotto_work tries to remember when he pinged 16:37
dukeleto cotto_work: i think it was about putting yaml-tiny in a submodule 16:38
cotto_work dukeleto: that seems to be the case. I just pulled it directly in.
dukeleto cotto_work: simpler, for now 16:40
cotto_work: does that mean i should get rid of the parrot/yaml-tiny repo ?
whiteknight plobsing: No, those other methods are very rough prototypes and are not used yet.
cotto_work yes
plobsing whiteknight: I see that method in my backtrace. it *is* being used 16:41
whiteknight oh wait, yes. compile_file is used during the frontend
the other methods are not
16:42 bluescreen left
whiteknight let me add in the context nonsense to that method 16:42
the interface between IMCC and the rest of libparrot was far too messy, clearly 16:43
dalek rrot/whiteknight/imcc_compreg_pmc: c8f4100 | Whiteknight++ | src/pmc/imccompiler.pmc:
add context setup/teardown in IMCCompiler.compile_file
16:44
whiteknight looks like we're getting a similar segfault still
yep, same segfault
plobsing are we looking at the same thing? it built for me. 16:46
whiteknight I am getting a segfault in ops2c 16:47
./ops2c --dynamic src/dynoplibs/trans.ops --quiet 16:49
plobsing wfm
whiteknight well, blah 16:50
what platform you on? 16:51
plobsing x86_64 linux 16:53
whiteknight that's where I am 17:01
./ops2c --dynamic src/dynoplibs/trans.ops --quiet 17:02
make: *** [src/dynoplibs/trans_ops.c] Segmentation fault
that's what I get after a realclean and a make
plobsing realcleaning now 17:04
make -j3 realclean; parrot-config; make -j3 # completes no issues here 17:09
17:12 AndChat| joined
whiteknight major wtf 17:13
do you have any uncommitted changes?
or any unpushed ones?
plobsing not anything beyond what lex/yacc did on their own 17:15
I have an update for some tests (because I see a bunch of them failing) 17:16
17:16 gg411 left
plobsing any idea why imcc->frames would not be populated? that seems to be related a number of segfaulty tests. 17:17
sorear once you figure out why imcc is scrambling memory, you might be able to get rid of the GC disable calls 17:18
plobsing nope, that's still pretty far off. the reason IMCC disables GC is that there are a number of places where it keeps PMCs under hash-allocated structs. 17:19
s/hash-allocated/heap-allocated/
tadzik ~~ 17:29
whiteknight I call the new imcc_reset function a lot to reset the imcc info struct to after it's been used for a compilation
doing that seems to fix some failures
probably not the best for reentrancy 17:32
dalek rrot/whiteknight/imcc_compreg_pmc: f9fff95 | plobsing++ | t/pmc/pmc.t:
skip arg-less-init IMCCompiler test (requires int for init)
17:37
whiteknight I definitely fixed that same test last night
I must not have pushed a whole batch of commits
plobsing imcc_reset() would definitely precipitate the issues I am seeing 17:38
cotto_work Is there a simple way to purposefully trigger an assertion failure from pir?
17:39 Tene left
plobsing cotto_work: that would be a bug in parrot. assertions are only active in debug builds. if it were possible to violate the assumptions in the assertion from PIR, it should be a runtime check, not an assertion. 17:39
17:39 Tene joined
dukeleto cotto_work: do something wrong :) 17:40
plobsing you could NCI a function which uses ASSERT_ARGS and call it with nulls where they shouldn't go 17:41
but such a test would segfault on debug builds
pmichaud you could add an assert dynop :-)
plobsing whiteknight: could you make sure you have all of your work pushed before I make any more duplicated efforts? 17:42
pmichaud maybe even add it to debug.ops
cotto_work pmichaud: that doesn't strike me as a bad idea. 17:43
pmichaud it doesn't? Sorry about that. :)
I'll try to come with badder ideas in the future :)
*come up with
cotto_work My idea was much worse. I added a special case to sleep so that sleep 1234 asserts 0, 17:44
NotFound The ASSERT_ARGS is supposed to check that the functions are never called that way. Calling such functions via NCI from random places defeat that purpose. 17:45
pmichaud Since we have dynops, we might as well make good use of them :-)
cotto_work or bad use
pmichaud or that :)
NotFound If the invalid call comes from valid pir, either the assertion is wrong or the code that uses the function should check before. 17:46
plobsing I agree with NotFound. PIR should not be able to trigger assertions. 17:47
NotFound wrong -> non null decorating mistake.
cotto_work In this case I'm just using it to check code for tt #1273, 17:48
sorear can't PIR currently trigger segfaults?
NotFound sorear: supposig that bugs doesn't exist, never.
dalek rrot/pir-bt-on-crash: 6421774 | cotto++ | / (3 files):
first shot at pir backtraces for assertion failures

There are no guarantees about these since assertion failures by definition result from some kind of unexpected internal state. In the worst case this won't provide less debugging information than we already do, and I try to ensure that an infinite loop isn't possible either.
17:49
NotFound We uses to have the hcf opcode to abort, but we got rid of it because of misinterpretations. 17:50
17:50 vmspb left
NotFound For debugging purposes, you can write a dynamic op that does an invalid call on purpose. 17:51
But please don't put that in the parrot repo. 17:52
cotto_work NotFound: sure. I can do a lot of things if I don't intend on pushing.
whiteknight plobsing: everything is as pushed as it's going to be now. 17:53
dukeleto NotFound: atrodo's lorito has an hcf :) 17:54
atrodo dukeleto> just in case
17:55 bluescreen joined
NotFound I'm tempted to add a PLEASE opcode, and a runloop that checks the frequency of PLEASEs and throws excpetions 'Programmer is not polite' and 'Programer is too polite' 17:55
atrodo Isn't that a intercal feature? 17:56
NotFound atrodo: yeah
cotto_work NotFound: PLEASE REFRAIN
sorear NotFound: hrm. I thought I saw a bug once where somebody used set_addr on a hash, and Parrot crashed, and it was closed WONTFIX "set_addr on hashes is a deeply internal interface and you shouldn't touch it unless you know what you're doing" 18:01
pmichaud truly stable systems don't arise from saying "failures (segfaults) never occur". Stable systems arise from being robust enough to handle them when they inevitably occur.
18:01 kid51 joined
NotFound sorear: that is one of the reasons for redoing set_addr and the like. 18:02
pmichaud Providing optional support for a programmer to investigate "What happens when a segfault occurs?" seems entirely valid to me. But that's just me. 18:03
NotFound Some of the set_ vtables shouldn't be directly invokable from pir.
pmichaud: IMO the support for that thing are denuggers. 18:04
debuggers
If we provide direct support someone will insist that it should be tested, and when the tests segfault as expected we'll get "parrot segfaults in test" reports. 18:05
18:06 plobsing left
nopaste "kid51" at 192.168.1.3 pasted "t/distro/manifest_generated.t: new test failure" (25 lines) at nopaste.snit.ch/30069 18:06
18:06 kid51 left
whiteknight that becomes more of an option if Parrot attempted to handle segfaults 18:07
it currently does not attempt to handle it at all
NotFound Calling abort trigger the same alarms and log reports than a segfault. 18:10
dukeleto cotto_work: www.codesimplicity.com/post/open-so...implified/ 18:21
cotto_work: that is a very cool document that i think we (and others) should discuss 18:22
18:30 nwellnhof joined 18:31 plobsing joined 18:32 Eclesia joined
Eclesia hi 18:32
cotto_work dukeleto: looking now 18:33
nopaste "NotFound" at 192.168.1.3 pasted "Error loading YAML/Tiny module" (10 lines) at nopaste.snit.ch/30073 18:35
atrodo dukeleto++ 18:36
cotto_work dukeleto: that's a good reaffirmation of our method of closing master for no more than a few days. 18:39
I'm don't usually realize how accustomed I am to assuming an monthly release schedule. 18:40
NotFound Maybe will be better to not close it at all. Crate a branch for the release and do only bugfixes on that branch.
cotto_work NotFound: a concern I have about that approach is that the release branch wouldn't get as much testing and attention. 18:42
Responding quickly to contributions is something that we really need to be better about. GSoC will be a good place to make that happen, if not before. 18:44
18:47 contingencyplan joined
dukeleto cotto_work: we could freeze master a few days before a release, only allowing bugfixes, and create a branch called 'integration' that all other work goes on in, then merge integration into master when the release is tagged 18:57
cotto_work: so by default, smokers will be testing the master branch
cotto_work: and developers would be running tests manually in the integration branch 18:58
cotto_work: commits to the 'integration' branch should only be made when master is frozen
cotto_work: and we just branch 'integration' from the commit that freezes master
cotto_work: people that know about integration, use it. Others can just wait for master to unfreeze. 19:00
cotto_work: i am not sure it is really necessary, though.
cotto_work: just about anything bigger than a breadbox should be in a branch
cotto_work: so people should just work in branches when master is frozen => dead simple
PerlJam if people always work in branches, that wouldn't change when master is frozen. 19:01
whiteknight For the 3.3 release, if it isn't tried before then, I'm planning on a similar idea 19:03
About a week in advance I'm going to freeze master, cut a release candidate, and allow work to continue on some other branch 19:04
then we can slowly merge in bugfixes or cherry-pick in other commits as needed, but in a limited and controlled way
cotto_work whiteknight: I'm interested in seeing how that works. 19:05
whiteknight me to. it will be a fun experiment
cotto_work My instinct says it won't work as well as a straight freeze a couple days before the release, but we won't know without trying it. 19:08
Besides, most work will still be happening in topic branches.
It could have no effect at all.
whiteknight What I like most about the idea is putting out that release candidate, so we can identifiy release-related issues a week before we actually cut the release 19:09
there is always a spate of "the release parrot is missing X" or "the release parrot has this problem on platform X"
dukeleto whiteknight: we could attempt to setup a "release smoker" on the compile farm 19:10
whiteknight that may be overkill, if we can identify all the problems with a single candidate 19:11
dukeleto whiteknight: also, OSUOSL just got funding from facebook and are building a fancier version of the gcc compiler farm, and giving access to open source projects
whiteknight: automated work vs. manual work
whiteknight right, i heard about that
dukeleto whiteknight: can't value them the same
whiteknight: yes, it is very exciting, called "Supercell" 19:12
whiteknight: it will have a few OS choices as well
whiteknight dukeleto: it's as much work to set up the automated release smoker as it would be to just put out a candidate. Plus, if the candidate is strong, I can reuse much of that on release day
dukeleto whiteknight: i ain't stopping you from doing work :)
19:12 Eclesia left
dukeleto whiteknight: but there is the other side, where we have a release smoker build releases, and then we just "choose" one and the release manager blesses it, adds his awesome release message and a few other errata, and BAM. A parrot release,.... 19:13
where the release manager doesn't have to follow 50 steps to release
whiteknight yes, there are benefits to the technique
dukeleto also, Dist::Zilla 19:14
we can probably automate our release process 80% with dzil
whiteknight dukeachoo: I choose you 19:15
19:15 cotto_work left
PerlJam I did a proof-of-concept for automating Rakudo Star releases using dzil. It worked quite nicely. 19:16
dzil++
19:28 vmspb joined
pmichaud cotto: +2 on your "Attempting to get backtrace...no guarantees" I really like that. 19:28
19:28 fperrad left 19:29 cotto_work joined
pmichaud cotto: +2 on your "Attempting to get backtrace...no guarantees" I really like that. 19:29
cotto_work pmichaud: thanks. 19:31
dalek rrot/whiteknight/imcc_compreg_pmc: df0c2ce | plobsing++ | compilers/imcc/main.c:
can't clean up before error message output
cotto_work bacek, atrodo, dukeleto: does any time within the next week sound like a good time to start on the M0 spec?
dukeleto PerlJam: i would like to see that code
cotto_work: i have been thinking about it for a while, we all need to have a brain meld, though
cotto_work If only we had a concall line available. 19:32
dukeleto cotto_work: ;)
cotto_work: i've looked at atrodo's lorito and our spec will have maybe a 70% correspondence with those ops 19:33
cotto_work: the M0 should not have any opcodes that push or pop anything. Everything calls the current continutation with their arguments 19:34
cotto_work dukeleto: sure. the other 30% is the tricky part
dukeleto cotto_work: atrodo's lorito has a stack for argument parsing
cotto_work: which we won't have
19:34 janus joined
dukeleto cotto_work: i think M0 will be fewer ops than we expect 19:34
cotto_work: one that he doesn't have it altering the intstruction pointer, or whatever we call it 19:36
cotto_work: program counter ?
cotto_work: basically, "advance the bytecode one unit"
nwellnhof dukeleto: atrodo's lorito doesn't have a (global) stack for arguments
PerlJam dukeleto: well, there's not actually much to it. github.com/perlpilot/rakudo-dist Like I said, it was a proof-of-concept. I did enough that I could see how to proceed if I wanted to continue with it. But then my tuit supply dried up
dukeleto nwellnhof: yes, but it has a stack
nwellnhof dukeleto: i wouldn't call it a stack
dalek nxed: r770 | NotFound++ | trunk/ (2 files):
refactor option handling in installed driver
19:37
dukeleto nwellnhof: what is it?
PerlJam dukeleto: But I agree with your assessment that you could probably automate 80%
nwellnhof it's an array inside the context struct: github.com/atrodo/lorito/blob/mast...ito.h#L238
dukeleto nwellnhof: it doesn't use call-with-current-continuation style
nwellnhof: but it is close 19:38
nwellnhof dukeleto: yes, continuation passing wouldn't require many modifications 19:39
dukeleto nwellnhof: we need to make M0 use CPS, and it will probably have to know how to interact with the GC 19:40
mark, sweep as well as thaw/freeze
nwellnhof we should plan for a GC that can be implemented (mostly) in M0
dukeleto but we don't need those for our first iteration 19:41
nwellnhof: interesting idea, but that isn't going to happen before 3.3
cotto_work nwellnhof: I'd love to have that be where we head.
dukeleto nwellnhof: we should concentrate on producing something useful for 3.3, but i like that direction. We should definitely keep that in mind.
nwellnhof dukeleto: i know we're far away from that, but we should keep it in mind. 19:42
dukeleto nwellnhof: +1 19:46
This is a great introduction to continuations and continuation passing style, with example code in Perl 5: billhails.net/Book/v10.html 19:49
cotto_work: ^^^
cotto_work: you might like that, since almost everything else uses something lispy
cotto_work I might have seen that. lemme look
yup. very helpful 19:50
It's an odd experience writing cps perl
dukeleto the book implements a Scheme interp in Perl 5. And M0 is not that different from a scheme interp...
cotto_work I actually have a hand-written post-it of cps-style fact on my monitor.
19:50 jsut joined
dukeleto cotto_work: i think we can write code that rewrites code to be written in CPS style 19:50
cotto_work: we just need to write code in a way that can be transformed 19:51
cotto_work: i am not against having a dedicated DSL for M0, which is processed into C code, like parrot internals 19:52
19:52 sheant joined
cotto_work dukeleto: what do you mean "for M0"? 19:54
dukeleto cotto_work: M0 will be implemented in a DSL which gets processed into C
cotto_work: generating M0 code that is implemented with dynops 19:55
cotto_work: from some easier-to-use DSL
19:55 jsut_ left
dukeleto cotto_work: when converting from the DSL to the actual code, all the CPS tranformations can be done 19:55
cotto_work dukeleto: I see what you're saying.
dukeleto cotto_work: so the dev doesn't have to remember to do crazy CPS shenanigans 19:56
cotto_work no reason that won't work
dukeleto cotto_work: might be worth thinking about. Writing CPS by hand is quite time-consuming and error-prone
dalek rrot/pir-bt-on-crash: 429f7fb | cotto++ | / (2 files):
add perdoc to new functions, hopefully with sufficiently scary warnings
19:57
dukeleto cotto_work: but writing code that transforms normal code into CPS style, that seems like a better solution
rrot/pir-bt-on-crash: 67af9e4 | cotto++ | src/interp/inter_create.c:
add an assert_args macro to make codingstds happy
cotto_work dukeleto: wikipedia agrees
plobsing M0 should be distasteful. make easy things easy, make hard things possible, make evil/magical things hard.
cotto_work plobsing: yes
dukeleto plobsing: M0 *will* be distasteful, without having to hand-code CPS in low-level ops 19:58
plobsing M0 = magic-0. no magic. PERIOD.
dukeleto plobsing: define magic.
particle side effects and dwimmery 19:59
plobsing translating code so you don't have to worry about calling conventions is magic
cotto_work dukeleto: anything remotely surprising or complicated
dukeleto plobsing: magic at compile time or magic at runtime ?
plobsing anywhere
dukeleto plobsing: everything i am talking about is pre-compile time
plobsing pre-processing? that's fine, so long as it is completely separated from the compiler. 20:00
dukeleto plobsing: yes
plobsing: everything i am talking about is something akin to pmc2c 20:01
plobsing: just ease boilerplate stuff from the devs
basically, come up with some C macros that expand into the proper continuation passing style 20:02
i guess it can be as simple as that
dalek rrot: 6421774 | cotto++ | / (3 files):
first shot at pir backtraces for assertion failures

There are no guarantees about these since assertion failures by definition result from some kind of unexpected internal state. In the worst case this won't provide less debugging information than we already do, and I try to ensure that an infinite loop isn't possible either.
rrot: 429f7fb | cotto++ | / (2 files):
add perdoc to new functions, hopefully with sufficiently scary warnings
rrot: 67af9e4 | cotto++ | src/interp/inter_create.c:
add an assert_args macro to make codingstds happy
cotto_work So much for that heuristic. 20:03
ttbot Parrot 67af9e4f i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/4756.txt (tt.taptinder.org/buildstatus/pr-Parrot) 20:06
cotto_work cl is not a linux tool 20:08
nwellnhof tt machines 7 and 8 are windows although the archname says linux: tt.taptinder.org/cwm/machine/ 20:11
cotto_work What's the right way to decorate a non-pure function that takes no arguments and returns no values so that headerizer will pick it up? 20:17
NotFound cotto_work: maybe the best way is not to write it that way. 20:20
20:22 gg411 joined
dalek TT #1273 closed by cotto++: Provide a parrot 'backtrace' with assertion failures. 20:22
TT #1273: trac.parrot.org/parrot/ticket/1273
cotto_work NotFound: it's an unusual function. 20:23
NotFound I'd like an option to configure without that thing. 20:24
20:25 AndChat| left, nwellnhof left
cotto_work NotFound: the backtrace thing? 20:28
NotFound cotto_work: aye
But I'm not worried to enough to implement that option, son NM. 20:30
s/son/so
20:35 vmspb left
whiteknight cotto_work: PARROT_WHARRGARBL 20:44
PARROT_WHARRGARBL void Parrot_zomg_wharrgarble(void) 20:45
headerizer will be cool with it
dalek nxed: r771 | NotFound++ | trunk/ (4 files):
drop -c options from stages, it was ignored since it started to be handled in
20:49
20:57 Patterner left 20:58 Psyche^ joined, bluescreen left, Psyche^ is now known as Patterner
dalek rrot/generational_gc: 49e1cb2 | bacek++ | src/gc/gc_gms.c:
Fix small memory leak.
21:07
rrot/generational_gc: 6c7af5b | bacek++ | src/gc/gc_gms.c:
Sweep pool starting from older generation.

Otherwise we are sweeping freshly moved objects from younger generation.
rrot/generational_gc: 0a38586 | bacek++ | src/gc/gc_gms.c:
Paint objects moved from dirty_list back to generation white.

Otherwise they will not be processed correctly.
rrot/generational_gc: 22d25b8 | bacek++ | / (3 files):
Introduce pcc_set_context function to avoid direct poking into interp.
rrot/generational_gc: 12c257e | bacek++ | src/ (4 files):
Use pcc_set_context function.
rrot/generational_gc: 85173f3 | bacek++ | src/gc/gc_gms.c:
Print total number of collect runs in stats.
rrot/generational_gc: 39b4af6 | bacek++ | include/parrot/context.h:
Fix set_context macro
21:09
whiteknight bacek++ 21:10
as if he needs the little karma boosts from me 21:26
21:29 whiteknight left
plobsing why does PMCNULL.get_pointer return PMCNULL? 21:29
that doesn't make sense
21:31 bluescreen joined, bluescreen left
dalek nxed: r772 | NotFound++ | trunk/winxedst1.winxed:
operator %= in stage 1
21:33
21:34 AndChat| joined 21:38 gg411 left
mj41 cotto_work: TapTinder machine table copy-paste error fixed. tt.taptinder.org/cwm/machine 21:52
21:57 plobsing left, rurban_ joined 22:00 rurban left, rurban_ is now known as rurban
mikehh cotto_work: ping 22:06
couple of g++ errors in last commits 22:07
dalek nxed: r773 | NotFound++ | trunk/ (2 files):
more meaningful error message for some operators not implemented in stage 0
22:17
cotto_work mj41: thanks 22:18
mikehh: pong
dalek rrot/generational_gc: e757db7 | bacek++ | src/gc/gc_gms.c:
Clean on_dirty_list flag when we move object out of dirty_list.
22:19
mikehh cotto_work: couple of g++ errors in last commits 22:20
mikehh nedd to do some updates/backups bbl 22:23
need
bbl
22:24 mikehh left
cotto_work msg mikehh Thanks for noticing. I'll see what the g++ build does for me. 22:25
aloha OK. I'll deliver the message.
22:27 wknight-phone joined
cotto_work NotFound: what's your concern about the backtrace code? 22:29
dalek rrot: bc265ee | cotto++ | / (2 files):
fix the cl and g++ builds
22:32
cotto_work apart from it being hacky 22:34
22:38 cosimo joined
dalek rrot: 7d35f56 | jkeenan++ | MANIFEST.generated:
Re-alphabetize to get a test to pass.
22:39
cotto_work msg mikehh c++ should be "happy" now. (If I were a C++ compiler, I don't think I could ever really be happy.) 22:40
aloha OK. I'll deliver the message.
22:41 wknight-phone left
atrodo cotto_work> (delayed response) I should be good for sometime in the next week 22:43
dalek rrot/generational_gc: b8deafe | bacek++ | src/call/context_accessors.c:
Add more asserts.
22:51
22:52 nwellnhof joined
nwellnhof i'm about to merge nwellnhof/gc_dynamic_threshold now 22:55
22:57 mikehh joined
tadzik \\o/ 22:59
dalek rrot: 0d519eb | nwellnhof++ | src/gc/api.c:
Change GC names to lowercase

Print error message if name is invalid.
23:06
rrot: d34ec47 | nwellnhof++ | src/gc/gc_ (2 files):
Add #define for GC_DEFAULT_MIN_THRESHOLD
rrot: 715b2ea | nwellnhof++ | / (29 files):
Merge branch 'master' into nwellnhof/gc_dynamic_threshold
rrot: be26ad5 | nwellnhof++ | / (23 files):
Merge branch 'nwellnhof/gc_dynamic_threshold'
23:07 Themeruta joined, Themeruta is now known as NotFound_b
NotFound_b cotto_work: my concern is exposed in the ticket 23:08
cotto_work ok 23:10
NotFound_b: The way I see it is that once Parrot_confess is called, things can't get too much worse. At that point, we might as well try to spit out some more useful info as Parrot dies. If something it depends on is broken, it'll just trigger another assertion failure and die anyway. 23:19
We'll see. It's a nice feature but it also has a non-zero chance of unintended side-effects. 23:20
NotFound_b cotto_work: things always can get much worse, is a law of nature ;) 23:22
Or a law of Murphy, at least. 23:23
23:23 sheant left
cotto_work NotFound_b: Most indeededly. PDB_get_continuation_backtrace is a sizable bit of code and I shouldn't be too unimaginative about how it could break. 23:34
bacek++ for the highly atomic commits 23:35
mikehh clock? 23:36
cotto_work aloha: clock?
aloha cotto_work: LAX: Wed, 15:36 PST / CHI: Wed, 17:36 CST / NYC: Wed, 18:36 EST / UTC: Wed, 23:36 UTC / LON: Wed, 23:36 GMT / BER: Thu, 00:36 CET / TOK: Thu, 08:36 JST / SYD: Thu, 10:36 EST
cotto_work good evening, mikehh 23:37
mikehh hi cotto_work
bacek: bacek_at_work ping 23:38
bacek_at_work mikehh, barely here
mikehh I think runtime/parrot/library/YAML/Tiny.pir needs to be in .gitignore 23:39
cotto_work mikehh: I'll add it
good catch
23:41 hudnix left 23:42 hudnix joined 23:43 hudnix left, hudnix joined 23:44 hudnix left 23:45 hudnix joined 23:53 whiteknight joined, Andy joined