Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: merge and extensively test gen_gc2
Set by moderator on 17 February 2011.
whiteknight I really need to get back to that IMCC branch 00:00
cotto ~~
00:02 pjcj joined 00:21 kid51 joined 00:25 lucian left 00:26 lucian joined 00:41 nwellnhof left
dalek rrot/gen_gc2: 9f44b5c | jkeenan++ | src/ (2 files):
[codingstd] No trailing whitespace.
00:45
rrot/gen_gc2: 0804857 | jkeenan++ | src/gc/gc_gms.c:
[codingstd] Provide at least stubs of function documentation.
rrot/gen_gc2: 8a0b798 | jkeenan++ | src/gc/gc_gms.c:
[codingstd] Do ASSERT_ARGS for two new functions.
p/ctmo: 8b83fce | jonathan++ | / (4 files):
First cut of storing/looking things up in the SC. Will need something for putting one assembled at compile time in place too.
00:47
p/ctmo: 8b1576b | jonathan++ | src/HLL/SerializationContextBuilder.pm:
Fill out get_slot_past method in SC builder.
p/ctmo: 9d84745 | jonathan++ | src/HLL/SerializationContextBuilder.pm:
Start to fill out some of the SC builder bits.
rrot/m0-spec: 2619854 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
plagiarize/expand chromatic's summary of M0's goal of extreme simplicity
00:55
rrot: ba51297 | jkeenan++ | README_cygwin.pod:
Eliminate trailing whitespace. mstevens++.
00:59
rrot: 04120ec | jkeenan++ | docs/submissions.pod:
Spelling corrections per TT #2016. mstevens++.
00:59 dmalcolm left 01:07 preflex left
dalek TT #2016 closed by jkeenan++: Improve spelling on docs/submissions.pod 01:08
TT #2016: trac.parrot.org/parrot/ticket/2016
TT #2015 closed by jkeenan++: minor pod lint
TT #2015: trac.parrot.org/parrot/ticket/2015
rrot/m0-spec: 07925d6 | jkeenan++ | docs/pdds/draft/pdd32_m0.pod:
[codingstd] Quiet pdd_format errors.
01:28
kid51 cotto: Hope I didn't step on your toes with that codingstd commit.
cotto kid51, I don't think git would let you, but I'll check anyway 01:30
looks fine at a quick glance 01:31
cotto goes off to do thing
dalek rrot: 45aac19 | jkeenan++ | / (2 files):
Add a file to .gitignore; rebuild MANIFEST.SKIP.
01:46
02:07 lucian left 02:13 kid51 is now known as kid51_at_dinner 02:32 ShaneC joined 02:33 jsut_ joined 02:37 jsut left 02:57 whiteknight left 03:01 kid51_at_dinner is now known as kid51 03:08 pjcj left 03:10 cognominal left 03:11 cognominal joined
dalek rrot/m0-spec: 2755af6 | jkeenan++ | docs/pdds/draft/pdd32_m0.pod:
Grammatical correction smaller than this commit message.
03:13
rrot/m0-spec: 8d7f71a | jkeenan++ | docs/pdds/draft/pdd32_m0.pod:
Use numbered list for numbered items.
03:16
rrot/m0-spec: b9686c8 | jkeenan++ | docs/pdds/draft/pdd16_native_call.pod:
Copyright update for file modified in 2011.
03:20
03:21 pjcj joined 03:32 AzureStone left 03:33 AzureStone joined 03:35 hudnix left, hudnix joined 03:37 dolmen left
nopaste "bacek" at 192.168.1.3 pasted "jnthn, can you bring some ligth on this?" (86 lines) at nopaste.snit.ch/32991 03:38
bacek_at_work msg jnthn Can you look at it? I'm kind of lost... nopaste.snit.ch/32991 03:39
aloha OK. I'll deliver the message.
03:51 kid51 left
bacek_at_work msg jnthn nm. I'm too stupid. 03:56
aloha OK. I'll deliver the message.
04:17 hudnix left 04:21 hudnix joined
cotto ~~ 04:53
05:00 cognominal left 05:05 mtk left 05:12 mtk joined
dalek p: 549d447 | bacek++ | / (3 files):
Create attribute accessors. Mostly stolen from nqpclr
05:21
rrot/gen_gc2: cc68060 | bacek++ | src/gc/gc_gms.c:
More docs.
05:46
rrot/gen_gc2: dd4b2c6 | bacek++ | / (13 files):
Merge branch 'master' into gen_gc2
05:49
06:12 rurban_ joined 06:14 rurban left 06:15 rurban_ is now known as rurban 06:31 perlite left 06:41 perlite joined
bacek ~~ 06:55
06:58 perlite left, perlite joined
ShaneC is runtime/parrot/include/fp_equality.pasm actually valid pasm? 07:05
looks like pir
(just been trying to get the hang of pasm, going over any .pasm files i can find) 07:06
07:19 fperrad joined 07:28 perlite_ joined 07:30 perlite left, perlite_ is now known as perlite 07:31 clunker9 joined 07:33 cotto left 07:55 cotto joined
cotto ShaneC, what's your interest in pasm? It's not useful for very much. 07:56
ShaneC was thinking of writing (or trying to) a really minimal pasm interpreter, not enough to run a hll 07:58
since i wouldnt be able to easily pull in the pmcs required
cotto What's your long-term goal? 07:59
ShaneC curiosity mostly
and maybe learn enough about how parrot works to contribute eventually 08:00
cotto If you'd like to contribute sooner, you can pick a ticket tagged "newbie" or "gci".
ShaneC i've also never written a garbage collecting memory manager, would be a fun way to play with that 08:01
cotto I'm not sure about "fun". They're notoriously difficult to debug.
We do have a well-defined interface though. 08:02
ShaneC i've written memory managers before, i'm aware of what would be ahead ;-P
and tbh i'm really curious how my implementation would fare against parrot in benchmarks
cotto Parrot's not much good if you can't play with it like that. 08:03
ShaneC basically no single long term goal, scratching lots of different itches 08:05
cotto I'm sure it'll be a good learning experience.
ShaneC, do you have any other areas you're interested in? 08:08
ShaneC what do you mean?
cotto other parts of parrot you'd like to hack on or things you'd like to do with parrot
ShaneC my day job is console game programming, i'd love to get parrot embedding on them 08:09
i asked about that before but it sounded like a pretty large task 08:10
cotto Cool. I've got a friend who works on PS3 games.
We're trying to start thinking of Parrot as libparrot, i.e. a library designed with embedded applications in mind.
dukeleto ShaneC: welcome
ShaneC hello 08:11
cotto whiteknight's doing a great job of moving us in that direction.
dukeleto ShaneC: have you done any embedd linux development?
ShaneC very little linux development
i am familiar with linux/bsd but have written very little software for either, compiled at least 08:12
cotto Which console does $dayjob have you working on?
ShaneC i'm working on ps3/360 atm but i am licensed for all of them
08:13 benabik left, benabik joined
dukeleto ShaneC: have a look at trac.parrot.org 08:13
08:13 benabik left
ShaneC and have access to dev kits/sdks to test anything 08:13
dukeleto: will do, thanks
dukeleto ShaneC: we have lots of tickets with patches that need to be tried and tested, and tasks marked "gci" are beginner tasks
ShaneC: which OS/platform are you trying parrot on? 08:14
ShaneC windows
could fire up a vm if necessary though
i've built/run parrot on my freebsd vm in the past 08:15
08:15 benabik joined
cotto I'd love to have someone use Parrot in a product like an xbox game. I'd buy that game and frame it. 08:18
bacek ~~
ShaneC, current (and next) parrot's GCs aren't very suitable for gamedev. Stop-the-world will kill all fun. 08:19
OTOH, it's quite possible to make them incremental.
cotto This is true.
Angry Birds just isn't fun when I can see the gc pauses. 08:20
bacek cotto, android 2.1?
cotto not sure. It was a work pager. 08:21
bacek ShaneC, check trac.parrot.org/parrot/wiki/GCMassacre. Current "MS2" GC is "TriColour M&S"
ShaneC bacek: would a simple refcounting gc be feasible?
bacek ShaneC, nope. 08:22
"circular references". We have a lot of them.
ShaneC gotcha
cotto In Parrot's early days, a refcounting gc was explicitly rejected because of the difficulties it's caused for Perl 5.
ShaneC always been curious why that wasn't carried over from p5 08:23
NotFound I'm using refcounting in winxedxx
ShaneC it was fast at least, i didn't know circular refs were causing that many headaches
cotto The idea is that a tracing gc would be more complex, but that the code would also be more self-contained. 08:24
bacek ShaneC, I killed last refcounting bit from parrot 1.5 years ago. Plumbed a lot of leaks. 08:25
ShaneC stop-the-world may not be terrible on game dev if we could control when it happened
shove it in another thread when we know parrot isn't doing anything else
NotFound ShaneC: we can, more or less, by using an explicit sweep in appropiate places. 08:26
cotto aloha, clock? 08:28
aloha cotto: LAX: Fri, 00:28 PST / CHI: Fri, 02:28 CST / NYC: Fri, 03:28 EST / UTC: Fri, 08:28 UTC / LON: Fri, 08:28 GMT / BER: Fri, 09:28 CET / TOK: Fri, 17:28 JST / SYD: Fri, 19:28 EST
cotto bacek, happy weekend 08:29
bacek cotto, thanks :) I'm having my beer already
.oO( Wander if jnthn's irc client hightlight "beer" )
08:30
cotto bacek, how did you find that debian bug?
or become aware of it
bacek cotto, mmm. I think sorear mentioned debian package. 08:31
And I just checked it
ShaneC bed time -- thanks for the info everyone!
cotto ok
'night, ShaneC
bacek afk # kids
NotFound Refcounting in winxedxx is automated by using a class for object references that does the decrements in its destructor. That way is self-contained enough. 08:32
ShaneC ++c++ ;-) 08:33
alright /bed this time, i mean it!
NotFound BTW if someone wants a system simpler than parrot to experiment with GC systems, winxedxx may be appropiate. 08:34
08:34 ShaneC left 08:35 KaeseEs left 08:41 theory left
moritz NotFound: does it handle circular references in any way? 08:44
NotFound moritz: no 08:46
Maybe in some future. For a now, the goal is just to being able to compile and run winxed stage 1, and a naive approach is enough for that. 08:50
08:58 lucian joined 08:59 KaeseEs joined 09:23 cognominal joined 09:28 lucian left
mj41 msg nwellnhof nwellnhof/unicode_dynpmcs on tt.taptinder.org/ 09:32
aloha OK. I'll deliver the message.
10:07 preflex joined 10:08 cotto left
dukeleto ~~ 10:19
dalek rrot: e645be9 | (Gerd Pokorra)++ | compilers/data_json/JSON.nqp:
add copyright, vim-info and documentation to the file "JSON.nqp"
10:20
moderator Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: merge and extensively test gen_gc2 | Help debug Lua on gen_gc2 with patch nopaste.snit.ch/33053 10:32
bacek ~~ 10:33
moderator Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: merge and extensively test gen_gc2 11:48
bacek msg fperrad I've got clean run of Lua test on gen_gc2 after my last commit. Hooray! :) 11:50
aloha OK. I'll deliver the message.
moderator Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: merge and extensively test gen_gc2 | Green light from lua, partcl-nqp and rakudo on gen_gc2 11:51
dalek a: c473b39 | bacek++ | dynext/pmc/luatable.pmc:
Fix (probably very old bug) bug with marking of LuaTable.

Previously if we set C<key> to NULL C<value> then C<key> wasn't marked.
11:52
11:57 contingencyplan left
dalek TT #2020 created by jbyrpxgqbpvhfhl2++: Acquiring Pure Tips on how to Give Up Smoking 12:03
TT #2020: trac.parrot.org/parrot/ticket/2020
fperrad great, bacek++ 12:04
12:07 Hackbinary left, Hackbinary joined
mikehh TT #2020 is SPAM 12:09
bacek fperrad, yeah. It wasn't actually related to gen_gc. gen_gc just exposed it. 12:11
ok. Now I'm pretty comfortable to merge gen_gc2 back and make it default. 12:24
12:53 mtk left 13:00 mtk joined
dalek rrot: 33711f2 | (Gerd Pokorra)++ | compilers/data_json/JSON_README.pod:
add documentation in POD format for JSON generated with NQP
13:14
rrot: 067e7bd | (Gerd Pokorra)++ | MANIFEST:
update manifest
14:00 whiteknight joined 14:12 rurban_ joined 14:14 rurban left, rurban_ is now known as rurban
whiteknight good morning, #parrot 14:18
14:18 plobsing left 14:32 nwellnhof joined
Coke msg chromatic - I know the modern perl.mobi is unsupported, but I have some issues and would be happy to contribute a patch. 14:32
aloha OK. I'll deliver the message.
nwellnhof ~ 14:33
14:39 mtk left 14:43 mtk joined, darbelo joined
dalek sella: 55aaef0 | Whiteknight++ | / (4 files):
some updates
14:45
sella: 74bdd33 | Whiteknight++ | / (5 files):
add in a PrototypeItem so that we can have constructors and maybe attach other metadata to a prototype. A few other random changes
sella: b9ac4b8 | Whiteknight++ | / (2 files):
some small build fixes
sella: 737ee33 | Whiteknight++ | ParrotContainer.nqp:
remove old unused file
14:47
rtcl-nqp: 7b14e1d | coke++ | build/Makefile.in:
Fix build: $< doesn't work everywhere.
15:14
15:18 cotto joined
dalek TT #2021 created by mstevens++: evil pod warnings in docs/* 15:47
TT #2021: trac.parrot.org/parrot/ticket/2021
cotto_work ~~ 15:50
Coke +1 on applying 2021. 16:05
16:07 plobsing joined
dalek rrot: 017e3b7 | mstevens++ | docs/ (2 files):
fix some warnings from podchecker

Signed-off-by: Christoph Otto <christoph_github@mksig.org>
16:14
16:17 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
dalek TT #2021 closed by cotto++: evil pod warnings in docs/* 16:19
TT #2021: trac.parrot.org/parrot/ticket/2021
16:30 dmalcolm joined
darbelo Normal warnings, we can tolerate. Not so with the evil kind. 17:07
cotto_work -Oevil 17:08
darbelo -Wevil
plobsing -Oe optimized for magnetism! 17:09
17:14 nwellnhof left 17:20 jsut joined 17:24 jsut_ left 17:27 theory joined
Coke -OeOeO 17:31
17:47 dip left 18:18 AzureStone left 18:20 AzureStone joined 18:30 AzureStone left 18:36 AzureStone joined 18:41 ShaneC joined 18:44 lucian joined 18:57 ShaneC1 joined 19:01 ShaneC left, ShaneC joined 19:04 ShaneC1 left 19:18 ShaneC1 joined
dalek nxed: r811 | NotFound++ | trunk/winxedst (2 files):
predef replace
19:19
19:23 ShaneC left
dalek sella: 42cdf1d | Whiteknight++ | / (5 files):
fix naming to be more succinct
19:32
sella: 7180794 | Whiteknight++ | / (4 files):
+missing file. +test for Prototype::Item
sella: ac9d2a2 | Whiteknight++ | prototype/Manager.nqp:
cleanups to Prototype::Manager, and add a stub test file
sella: 4e41253 | Whiteknight++ | / (3 files):
Separate out .create and .construct behaviors in Prototype::Item, so we can call one or the other independently
sella: c45235d | Whiteknight++ | / (5 files):
Harness now using a normal build constructor
sella: d48b231 | Whiteknight++ | / (11 files):
rearrange the way I show dependencies between the libraries. The method of having a million setup files was unmanagable
sella: 605d188 | Whiteknight++ | / (2 files):
Add an option to Container to auto-register objects instantiated by the default factory.
sella: aac0c30 | Whiteknight++ | t/container/Container.t:
tests for container autoregistration
sella: cd0c2bf | Whiteknight++ | t/ (3 files):
+tests for Action
sella: cfd4033 | Whiteknight++ | / (3 files):
fix to ActionArg::ContainerResolver. Add stub test files for both ActionArg subclasses
rrot-linear-algebra: 9ce90f2 | Whiteknight++ | t/ (4 files):
update the test suite and harness to use Rosella
rrot-linear-algebra: 6d10918 | Whiteknight++ | t/harness:
small changes
rrot-linear-algebra: 9ce90f2 | Whiteknight++ | t/ (4 files):
update the test suite and harness to use Rosella
19:35
rrot-linear-algebra: 6d10918 | Whiteknight++ | t/harness:
small changes
cotto_work Someone's on a roll. 19:53
20:14 contingencyplan joined
whiteknight slowly but surely 20:19
20:21 cotto_work left 20:25 cotto_work joined
Coke Rosella? 20:33
aloha, Rosella?
aloha Coke: Sorry, I don't know.
Coke ENOREADME 20:34
20:34 perlite_ joined 20:37 perlite left 20:38 perlite_ is now known as perlite 20:40 mtk left 20:46 mtk joined 20:50 nwellnhof joined
nwellnhof ~ 20:50
whiteknight Coke: Rosella is new. No readme, no aloha entry, no nothing 20:53
plobsing dalek's not nothing 20:56
Coke mmm. 20:58
benabik But dalek isn't very informative if you don't know what it's spamming about. 20:59
whiteknight I'm working on it. It's new 21:03
Coke does it need to be in dalek? 21:06
whiteknight yes. It's all parrot-related stuff
Coke I'll just ignore it for now, NBD. I assumed you wanted people to ask about it, since it was all over the channel. My bad.
whiteknight people can certainly ask about it. I just haven't put out all the README and other info yet
I'm working on it 21:07
it's like a patterns and practices library 21:08
I don't know what the requirements are for something being in dalek's feed. I can take it out if it bothers people 21:12
plobsing If it is parrot-related, that's great. but a readme or a description would be nice so I could tell myself whether it was parrot-related or not 21:16
Coke aloha, Rosella is like a patterns and practices library 21:20
aloha Coke: Okay.
whiteknight Yeah, I know. Today's the first day of it. I'm putting together a README
It's not an omission by intent 21:21
21:33 whiteknight left, pyrimidine left 21:52 wknight-phone joined 21:56 frodwith left 21:57 frodwith joined 22:04 donaldh joined, jsut_ joined 22:09 jsut left 22:12 rurban_ joined 22:14 wknight-phone left, rurban left 22:15 rurban_ is now known as rurban
cotto_work rlwrap++ 22:17
22:17 darbelo left
plobsing cotto_work: what are you rlwrapping? 22:19
dalek p/ctmo: f115e3e | jonathan++ | src/ (4 files):
Various fixes and tweaks. This gets us actually doing an initial call to the SC builder during the compile, though of course it's a drop in the ocean. Turns out that there's going to be quite some yaks to shave before this can really come into use.
cotto_work ChunkSpy in this case, but I want to rlwrap everything now. It's kinda amazing.
plobsing poking around Lua for Lorito? 22:20
cotto_work It even persists across sessions.
plobsing: exactly
way more interesting than $dayjob, unfortunately 22:21
22:22 donaldh left, fperrad left
plobsing how much can we steal from Lua? it's the opposite VM philosophy from Parrot. Parrot wants to encapsulate itself from C, not recurse on the C stack, etc. Lua fully embraces C, uses setjmp/longjmp as the (non-resumable) exceptions mechanism, doesn't care about inferior runloops, etc... 22:24
NotFound plobsing: we also use setjmp/longjmp 22:25
cotto_work It has 37 ops, so it's not M0's opposite in all aspects.
plobsing NotFound: we only use setjmp/longjmp after we've given up. 22:26
NotFound plobsing: and for C handlers
37? We need 5 more. 22:27
plobsing NotFound: yes, and those. which have a very special codepath and are used quite rarely.
NotFound plobsing: and finalize use it, too. 22:28
cotto_work NotFound: easy fix. Add 5 hcf ops. 22:29
NotFound For varierty, we can add hdn: Halt and Disable Nuke
plobsing finalize only exists because we're avoiding setjmp/longjmp as the main exception mechanism 22:30
NotFound We use it less mainly ;)
cotto_work plobsing: my aim atm is to figure out how few ops we can get away with for m0 22:31
lua has its 37, but several of those are optimizations 22:32
plobsing if we're obsessed with minimalism, why not just 1 op? :^) 22:33
NotFound Updating android in my toshiba tablet... crossing fingers... 22:35
cotto_work The nice thing about having only 1 op is that you can very aggressively optimize dispatch. 22:38
NotFound We are more agressive against just one? Cowards... 22:46
23:04 whiteknight joined 23:12 dmalcolm left
dalek tracwiki: v8 | cotto++ | LoritoOps 23:25
tracwiki: not sure if we'll go with what this page says, but a minimal M0 only needs one comparison op
tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff
tracwiki: v9 | cotto++ | LoritoOps
tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff
rrot/m0-spec: 624d49b | cotto++ | docs/pdds/draft/pdd32_m0.pod:
start thinking about how ops will deal with register types
23:32
23:43 jsut joined 23:47 jsut_ left 23:55 vmspb joined