Camelia, the Perl 6 bug

IRC log for #parrot, 2010-02-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 s1n joined #parrot
00:02 s1n left #parrot
00:03 ash_ joined #parrot
00:13 plobsing who should I talk to about parrot's opengl bindings?
00:13 darbelo japhb, IIRC
00:13 plobsing seen japhb?
00:13 purl japhb was last seen on #parrot 3 days, 1 hours, 16 minutes and 14 seconds ago, saying: darbelo, used by the Perl 5 embedding somehow (Blizkost)?  Though I would have assumed that would be handled by the Blizkost config/make  [Feb  5 22:57:16 2010]
00:25 dukeleto plobsing: what do you want to know?
00:26 plobsing whether the signatures generated by config/gen/opengl.pm vary or are constant.
00:26 plobsing because I want to move to a static call_list and src/nci.c
00:27 darbelo plobsing: IIRC those are generated based on local headers.
00:28 darbelo They can vary from place to place.
00:28 plobsing yes, that's what I thought, but then there's a list of signatures in the file
00:28 plobsing so I'm not sure
00:33 plobsing maybe I should shift around my planned actions and make opengl a testbed for my dynamic nci thunk libraries idea
00:36 hicx174 joined #parrot
00:40 bacek_at_work o hai
00:40 Whiteknight hai
00:40 bacek_at_work Whiteknight, you are bloody pervert! Why did you create such PMC???
00:40 bacek_at_work :)
00:41 cotto_w0rk bacek_at_work, it's not even done yet.
00:41 cotto_w0rk clock?
00:41 purl cotto_w0rk: LAX: Mon 4:41pm PST / CHI: Mon 6:41pm CST / NYC: Mon 7:41pm EST / LON: Tue 12:41am GMT / BER: Tue 1:41am CET / IND: Tue 6:11am IST / TOK: Tue 9:41am JST / SYD: Tue 11:41am EST /
00:46 abqar joined #parrot
01:05 abqar_ joined #parrot
01:26 eternaleye joined #parrot
01:33 Whiteknight bacek_at_work: it's a debugging and analysis tool
01:38 mikehh joined #parrot
01:40 solarion joined #parrot
01:46 bacek_at_work Whiteknight, like pathoanatomist's tools?
01:46 Whiteknight never heard of them
01:47 bacek_at_work Did you see "True Lies" movie?
01:48 Austin What pmc is this?
01:51 bacek_at_work http://github.com/Whiteknight/parrot-hack​er-tools/blob/master/src/pmc/pmchack.pmc
01:52 Whiteknight Austin: I'm trying to conjure pure evil
01:52 Austin And doing a fine job, I'm sure.
01:54 cotto good evening
01:54 purl Ah, evening. The tumultuous mind tarries and contemplates, reveling in the silence afforded by the diurnal proletariat. Good evening, indeed.
02:23 hicx174 joined #parrot
02:35 japhb plobsing: the OpenGL config step tries to wrap as many library functions as it can (basically, what current Parrot NCI can handle).  It keeps track of all the unique signatures it came across while parsing the GL* headers, and adds them to the call_list.  On any given platform, with any given release of the headers, it will appear unchanging.  But upgrade your GL headers, or go to another platform, and the list will be different.
02:35 japhb And, as I said, it will currently be incomplete because there are a number of signatures that current Parrot NCI just can't handle.
02:40 cotto NotFound, c++ build should be happy now.
02:40 cotto (well, g++)
02:42 dalek parrot: r43788 | cotto++ | trunk (2 files):
02:42 dalek parrot: [ops2c] fix the C++ build and use enums instead of chars
02:42 Austin Hey, is there going to be a PVMW @ YAPC this year? (If not, will there be a PVMW not @ YAPC?)
02:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43788/
02:44 Austin I think in the future we should schedule the PVMW with the super bowl, but in some other city. There's gotta be a discount for that.
02:44 cotto I axed about that earlier and didn't get a good answer.  It'd be a good #ps question.
02:45 Austin I'll ask the list
02:50 kid51 joined #parrot
02:59 dalek parrot: r43789 | coke++ | branches/rm_cflags:
02:59 dalek parrot: Remove CFLAGS script.
02:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43789/
03:02 cotto Austin, particle can check/verify that your CLA has arrived.  Coke and chromatic can give you your secret decoder ring.
03:02 cotto s/and/or
03:03 Austin Coke already acknowledged getting the .pdf. He said something about a parrotsketch meeting being required. (Tho I have no idea why.)
03:03 leto joined #parrot
03:04 cotto Ok.  iirc you have to be proposed and seconded by at least two committers.
03:07 Coke t/pmc/packfile.t is failing in trunk.
03:07 Austin Nobody uses that anyway.
03:10 Austin Here's a little bit of joy: I'm passing a list of parameters to a function (actually, lines in an array). I'd like to commingle the parameters with logic, selecting which lines to pass. How to do that in P6?
03:11 dalek TT #1393 closed by jkeenan++: src/gc/api.c: Intermittent test failures at line 245 since r43211
03:13 eternaleye (backlogging) Coke: Fluxx on Parrot would be epic, especially if it was networked multiplayer. Although, since cards mutate the rules, it might be tough adding expansions like Zombie Fluxx without changing core code.
03:13 cotto Coke, what platform are you on?
03:14 Austin Whiteknight has developed a PMC that should support that.
03:14 cotto make test is fine on my box
03:15 dalek parrot: r43790 | coke++ | branches/rm_cflags (4 files):
03:15 dalek parrot: Remove cc_flags.pl
03:15 dalek parrot: This loses any special meaning from CFLAGS - no modified @ccflags@ just now.
03:15 dalek parrot: Build is now straight $(CC) - no intermediate perl script. Windows users
03:15 dalek parrot: should see a speedup (if it builds). Build just got a lot more verbose.
03:15 dalek parrot: (half from warnings, half from actually showing the build line.)
03:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43790/
03:21 Coke cotto: in general, linux.
03:21 Coke why?
03:24 Coke eternaleye: yes, presumably you'd have to code against any potential rules changer.
03:24 cotto Coke, I'm not seeing any test failures in trunk.
03:25 Coke cotto: this is on timtowtdi
03:25 eternaleye Austin: Can you do up some pseudocode? I'm not sure I understand what you want to do
03:26 Austin I got nothing for ya. You mentioned changing core code, and Whiteknight has a PMC that exposes far more of the core than is really safe.
03:26 eternaleye Austin: I meant your commingling params and logic thing
03:26 Coke anyone here on windows?
03:27 eternaleye And I meant core game logic of a Fluxx game on parrot
03:27 Austin oh. Sorry. Yeah, I'll nopaste something.
03:27 Coke something non-strawberry preferred, but I'll take that (wondering about rm_cflags branch)
03:28 nopaste "Austin" at 68.37.46.53 pasted "commingling parameters and logic" (8 lines) at http://nopaste.snit.ch/19520
03:29 cotto For Fluxx you'd probably end up implementing a VM for which the cards would contain various bits of code to modify gameplay.
03:29 Austin The point being that I only want to emit the debug code if $debug is on
03:29 cotto For 1000 Blank White Cards, good luck. ;)
03:35 janus joined #parrot
03:37 treed Someone should play a version of nomic where the object is to print the text "$name wins" or something
03:37 treed everyone takes turns making commits that have to be approved by the other players.
03:38 treed or that makes it crash or something
03:38 treed maybe that would make coders better at knowing what makes crashes happen
03:42 eternaleye Austin: ( $debug ?? "\t" ~ "say \"Fetching attribute: '$attr'\"" !! Nil )
03:42 Austin Hmm. What's Nil?
03:42 purl somebody said Nil was generally completely equivalent to '()
03:42 Austin Thanks purl. But I don't know what that means.
03:42 eternaleye Undef in item context, empty list in list context
03:43 * kid51 is not getting any failure in trunk on t/pmc/packfile.t:  Linux/i386, r43790
03:43 Austin So in a parameter list, it simply goes away?
03:43 eternaleye Hm, might not
03:45 eternaleye Maybe if you did Array.new( |( ( ...yourargs... ).grep: !*.notdef ) ) - that should work as long as you have no intended undefs in the args
03:46 eternaleye Somewhat hacky, though
03:46 eternaleye The reason for the convolution is that I'm not sure if Nil would be in item context (and thus an undef value) or list context (and thus fall away)
03:47 * kid51 holds his breath waiting to see if this smolder report will be reported back properly
03:48 eternaleye Because it'd be Array.new( 'foo', 'bar', ( $debug ?? 'baz' !! Nil ), 'quux' ), and that comma after the ??!! bit might be enought to make an entry in the array
03:49 eternaleye TimToady_: ^^^ Thoughts?
03:49 kid51 rm_cflags branch:  make test:  PASS on Linux/i386
03:50 eternaleye Austin: What you really seem to be in need of is a macro, but those are NYI
03:50 Austin :$
03:51 kid51 Well, it took about 3 minutes, but both of those smolders were reported properly.
03:51 kid51 rm_cflags branch:  http://smolder.plusthree.com/ap​p/projects/report_details/32113
03:51 Austin Maybe just making the 3ary test a flattening list?     *( $debug ?? 'baz' !! Nil)
03:52 kid51 as expected, output of 'make' in rm_cflags branch is ~3.5 times more verbose than in trunk
04:04 dalek parrot: r43791 | jkeenan++ | trunk/lib/Parrot/Ops2c/Utils.pm:
04:04 dalek parrot: [codingstd] Eliminate trailing whitespace.
04:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43791/
04:04 dalek parrot: r43792 | jkeenan++ | branches/rm_cflags/lib/Parrot/Ops2c/Utils.pm:
04:04 dalek parrot: [codingstd] Eliminate trailing whitespace.
04:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43792/
04:11 Austin Is there a way in parrot-nqp to specify a value for Parrot's "-L" flag?
04:12 Austin (The obvious, parrot-nqp -Llibrary foo.nqp, doesn't work.)
04:12 kurahaupo1 joined #parrot
04:12 Austin Howdy, kura.
04:16 Tene Austin: no, there is not.
04:16 plobsing Austin: I think you can poke it through the parrotinterpreter pmc
04:17 Tene Right, but there are no recognized arguments to parrot-nqp that do that.
04:17 Austin I feel a ticket coming on...
04:18 plobsing Tene: is this because HLLs can't see PIR constants?
04:18 Tene plobsing: No, that's not related at all.
04:18 Austin plobsing: we're talking about command line arguments
04:19 plobsing oh, I thought you wanted to change the library path
04:19 Austin I do.
04:19 Tene he wants to change it by providing command-lie arguments to the 'parrot-nqp' binary.
04:19 Austin But I was asking about a way to do it via the CLI to parrot-nqp
04:19 Austin parrot-nqp -Llibrary foo.nqp
04:20 Austin CLASSPATH=$HOME/parrot/classes  parrot-nqp foo.nqp
04:20 Austin or something
04:20 purl i heard something was really wrong out there :)
04:22 eternaleye CLASSPATH would be a less-than-awesome name for that variable
04:23 Austin And that's a less-than-awesome way to implement searching, too.
04:23 eternaleye Unless you _like_ breaking Java horribly
04:23 Austin The Cranberries.
04:23 purl the cranberries are native to the New World, I think.  Can you even grow cranberries in the UK?
04:34 dalek TT #1429 created by Austin_Hastings++: Add -L support to parrot-nqp
04:44 mikehh joined #parrot
04:45 kurahaupo1 Austin: howdy.
04:45 * kurahaupo1 has hands in guts of disassembled computer, hoping to add more RAM.
05:13 petdance joined #parrot
05:48 mikehh_ joined #parrot
05:49 Austin w00t. Kakapo = bad-ass.
05:56 mikehh_ joined #parrot
05:59 dalek parrot: r43793 | coke++ | branches/rm_cflags/config/gen/makefiles (2 files):
05:59 dalek parrot: restore 2 of the CFLAGS directives in the makefile itself.
05:59 dalek parrot: Presumably this would actually be necessary only if !shared.
05:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43793/
06:02 kurahaupo joined #parrot
06:15 dalek parrot: r43794 | coke++ | branches/rm_cflags/config/gen/makefiles/CFLAGS.in:
06:15 dalek parrot: This file generates no warnings as is. don't need this anymore.
06:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43794/
06:25 cotto svn--
06:25 cotto because reverting to an old revision and updating again shouldn't require manual intervention
06:27 jan joined #parrot
06:31 dalek parrot: r43795 | coke++ | branches/rm_cflags/config/gen/makefiles/root.in:
06:31 dalek parrot: re-order and fix these makefile deps (unbreak build)
06:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43795/
06:36 Austin What kind of error is a call to an abstract method?
06:38 cotto "don't do that"
06:38 purl "don't do that" is, like, a perfectly valid workaround :)
06:39 Austin Illegal Operation?
06:39 Austin That's where I'm at now.
06:40 cotto I guess that'd work.
06:40 Austin class Exception::AbstractMethodCalledis Exception::IllegalOperation;
06:49 dalek parrot: r43796 | coke++ | branches/rm_cflags/config/gen/makefiles/CFLAGS.in:
06:49 dalek parrot: These files are warnings-clean in the default build.
06:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43796/
06:50 Austin Mmmm...the severity and type are both integer values.
06:50 Austin That's the kind of excellent documentation we expect from Parrot docs.
06:54 cotto We'll get you a commit bit tomorrow.  After that you can fix it yourself. ;)
06:54 Austin snicker
06:55 Austin Is there a cool tool for checking config settings from the command line?
06:56 cotto ./parrot_config
06:58 cotto Is that what you were thinking of?
06:58 Austin Yes, exactly. Cotto++
06:58 Austin Sadly, exception info is not configured.
07:00 Austin Is there a way to generate an isotone integer given a PMC?
07:00 Austin The exception types appear to be just an enum.
07:00 Austin Any new exceptions won't have types unless there is some kind of registry.
07:02 cotto That's a weakness of the current system.
07:02 Austin Ahh! I'm turning into Max Headroom...
07:02 Austin make test-test-testcase
07:05 dalek parrot: r43797 | petdance++ | trunk/src/call/args.c:
07:05 dalek parrot: consting and localizing local vars
07:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43797/
07:08 Austin Ahh, my old nemesis: C3 linearization.
07:08 Austin Of course it's an ambiguous hierarchy - it's a straight line.
07:09 Austin How's pbc_merge, cotto?
07:11 cotto Your patch and my fix seem to have made it usable.
07:11 Austin Woo-hoo. What did you fix?
07:11 cotto I just copy/pasted the extra case to another switch in the same function.
07:12 Austin Oh.
07:12 Austin I thought you were doing a rewrite or something.
07:12 Austin (the way you were talking the other day, I expected a commit entry with "rm pbc_merge.c" in it...)
07:13 cotto I was going to until I saw that you figured out an easier way to make it work.
07:13 Austin laugh
07:13 Austin What's next on your plate?
07:13 cotto ops_pct
07:13 Austin What's that?
07:13 purl that is the case, but I don't know
07:14 cotto the pct-based ops compiler to replace ops2c
07:15 Austin Ahh.
07:16 Austin I don't suppose you'd like to figure out why C3 doesn't work?
07:16 cotto I figure I can at least get the upgrade tax paid before I get distracted by the next shiny thing,
07:16 Austin Laugh!
07:18 uniejo joined #parrot
07:19 cotto and the award for lamest placement of an exclamation mark in an error message goes to...
07:19 cotto "Class Compiler already registered!"
07:20 * Austin sings, "I'm the root of all that's evil - yeah - but you can call me 'cookie.'"
07:21 NotFound cotto++ Build fine and pass tests.
07:22 cotto and now we use advanced techniques like "enums" instead of casting to/from char
07:23 Austin You know, I just saw a History Channel show on "1980's tech"
07:23 Austin They didn't mention enums, though.
07:23 * NotFound feeling old
07:38 eternaleye joined #parrot
07:39 Austin Okay, I think I just visually found a bug.
07:44 cotto where
07:44 Austin Nopaste coming
07:45 nopaste "Austin" at 68.37.46.53 pasted "Register allocation bug, or just a TRACE problem?" (32 lines) at http://nopaste.snit.ch/19521
07:45 Austin Or perhaps not.
07:48 nopaste "cotto" at 96.26.227.153 pasted "HLLCompiler is making me confused" (15 lines) at http://nopaste.snit.ch/19522
07:56 Austin Interestingly, cotto, the Parrot_oo_register_type function, which throws that message, is checking a parameter called _namespace to see if the class already exists.
07:58 cotto It smells like a bug in the HLLCompiler code.
07:58 * cotto wishes pmichaud were here to confirm/deny
07:58 Austin deny
07:59 Austin Pmichaud's code contains no bugs that can be found by humans.
07:59 Austin It says so on the label.
08:04 cotto sleep
08:04 Austin FWIW, the autogenerated stuff doesn't just use HLLCompiler
08:05 Austin It loads PCT.pbc or some such.
08:05 Austin But yeah, there's a bug down there someplace.
08:05 Austin I tried adding a .namespace with a sub in it, but it still breaks.
08:08 iblechbot joined #parrot
08:18 fperrad joined #parrot
08:27 Austin Aww, crap.
08:27 Austin The problem with finding bugs is writing the steps to reproduce.
08:29 dalek TT #1430 created by Austin_Hastings++: Change trace offset numbers to hex format
08:47 bacek joined #parrot
08:49 barney joined #parrot
09:05 Austin Hey, bacek: does pbc_dump work right when dumping the constants table (specifically, keys)?
09:05 jhelwig_ joined #parrot
09:05 bacek Austin, yes afaik
09:06 Austin ticket coming
09:06 bacek patches welcome!
09:06 purl patches welcome is always true
09:07 Austin tt#1431
09:19 dalek TT #1431 created by Austin_Hastings++: Register assigned to .local string variable is mis-remembered
09:33 eternaleye joined #parrot
09:54 mikehh joined #parrot
09:58 lucian joined #parrot
10:28 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32117), fulltest) at r43797 - Ubuntu 9.10 amd64 (gcc with --optimize)
10:28 bacek mikehh, merge coming
10:29 mikehh it tested ok for me
10:30 mikehh the part1 goody
10:30 bacek exactly :)
10:30 bacek r43798
10:31 * bacek offer cheap karma for removing gc_encapsulate_part1 branch from svn
10:34 mikehh ok
10:39 dalek parrot: r43798 | bacek++ | trunk (10 files):
10:39 dalek parrot: Merge branch gc_encapsulate_part1 back to trunk.
10:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43798/
10:39 dalek parrot: r43799 | bacek++ | branches/gc_encapsulate_part2:
10:39 dalek parrot: Second part of GC encapsulation
10:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43799/
10:48 eternaleye_ joined #parrot
10:53 mikehh joined #parrot
10:55 dalek parrot: r43800 | mikehh++ | branches/gc_encapsulate_part1:
10:55 dalek parrot: branch merged so remove it
10:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43800/
10:55 dalek parrot: r43801 | bacek++ | branches/gc_encapsulate_part2/src/gc (2 files):
10:55 dalek parrot: Move pool intialization into gc_ms.c from api.c
10:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43801/
10:55 dalek parrot: r43802 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
10:55 dalek parrot: Encapsulate allocate_pmc_header
10:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43802/
10:55 dalek parrot: r43803 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
10:55 dalek parrot: Encapsulate free_pmc_header
10:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43803/
10:55 dalek parrot: r43804 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
10:55 dalek parrot: Encapsulate allocate/free string headers
10:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43804/
11:05 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32118), fulltest) at r43804 - Ubuntu 9.10 amd64 (g++ with --optimize)
11:11 schmalbe joined #parrot
11:34 kid51 joined #parrot
11:50 kid51 rm_cflags branch:  PASS at r43804:  http://smolder.plusthree.com/ap​p/projects/report_details/32120
12:01 Austin Hey, kid51 - looks like you'll be getting some real snow this time.
12:21 cognominal joined #parrot
12:24 bluescreen joined #parrot
12:30 ruoso joined #parrot
12:33 dalek parrot: r43805 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
12:34 dalek parrot: Encapsulate allocation/deallocation of attributes and fixed size storage
12:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43805/
12:34 dalek parrot: r43806 | bacek++ | branches/gc_encapsulate_part2/src/gc/gc_ms.c:
12:34 dalek parrot: Rename gc_ms_finalize to gc_ms_finalize_memory_pools
12:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43806/
12:48 plobsing joined #parrot
12:50 dalek parrot: r43807 | bacek++ | branches/gc_encapsulate_part2 (5 files):
12:50 dalek parrot: Move pools destruction functions in alloc_resources.c
12:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43807/
12:50 dalek parrot: r43808 | bacek++ | branches/gc_encapsulate_part2/src (3 files):
12:50 dalek parrot: Encapsulate GC finalization little bit more. Properly implement MS GC
12:50 dalek parrot: finalize.
12:50 purl i think finalize is not enough
12:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43808/
12:57 bluescreen joined #parrot
13:03 kvorg joined #parrot
13:04 kid51 Austin:  I grew up in Rochester and went to college in Buffalo.  By my standards:  New York City *never* gets real snow.
13:06 dalek parrot: r43809 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
13:06 dalek parrot: Encapsulate allocating of buffer and string storage
13:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43809/
13:06 dalek parrot: r43810 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
13:07 dalek parrot: Factor out merge_memory_pools function to decouple merging of Interp
13:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43810/
13:16 * kid51 to $job
13:24 whiteknight joined #parrot
13:27 whiteknight good morning #parrot
13:36 payload joined #parrot
13:39 bacek aloha whiteknight
13:39 whiteknight did gc_encapsulate_part1 merge?
13:40 bacek whiteknight, yes
13:40 bacek loooong time ago
13:55 dalek parrot: r43811 | bacek++ | branches/gc_encapsulate_part2 (6 files):
13:56 dalek parrot: Encapsulate destruction of child interpreter
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43811/
13:56 dalek parrot: r43812 | bacek++ | branches/gc_encapsulate_part2 (5 files):
13:56 dalek parrot: Encapsulate allocate/free bufferlike headers
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43812/
13:56 dalek parrot: r43813 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
13:56 dalek parrot: Encapsulate block/unblock/test mark and sweep. Implement total_unblock in terms of is_blocked/unblock
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43813/
14:00 Essobi joined #parrot
14:08 whiteknight I can't keep track
14:09 bacek whiteknight, of what?
14:10 whiteknight of branches merging
14:10 Coke bacek: (long time ago) you mean yesterday?
14:10 whiteknight that is a long time, in bacek-time
14:11 bacek Coke, yes. At least in my timezone.
14:11 * Coke will hopefully have rm_cflags in by the weekend.
14:11 Coke (if not tomorrow.)
14:15 Coke uh, do we have any platform on which using backwhacks in the makefile is required?
14:16 Coke sorry, backslashes. (as part of file paths)
14:18 Coke I ask again, do we have anyone building on windows that is NOT using strawberry or cygwin?
14:20 bacek Coke, TapTinder?
14:20 Coke TapTinder?
14:20 purl TapTinder is software development tool - http://taptinder.org . For Parrot project running on http://tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
14:21 Coke bacek: I see no way there to say "show me the windows"
14:21 * bacek declaring victory
14:21 bacek Coke, http://tt.ro.vutbr.cz/file/cmdout/191037.txt
14:22 bacek this is "client 5"
14:22 bacek bacek@icering:~/src/parrot$ ack -c 'interp->mem' src/ -r|grep -v ':0'
14:22 bacek src/gc/gc_ms.c:63
14:22 bacek ooookey
14:22 Coke ... ok. I can't see having to drill down into the report to say "what client are you", and also: ... that's strawberry perl.
14:22 bacek There is no references to interp->mem_pools left in sources apart from gc_ms.c!
14:23 bacek mj41, ping
14:23 Coke bacek: try ack -clQ 'interp->mem' src
14:23 mj41 bacek, pong
14:23 bacek mj41, Coke want some strange windows build :)
14:24 bacek Coke, thanks for ack. Same results :)
14:24 Coke yes, but I saved you a pipe!
14:24 mj41 have strawberry perl and cygwin machines online
14:25 * bacek smoking pipe saved by Coke
14:25 Coke Right. I'm looking for the "real" windows build.
14:25 Coke (using the MS compilers)
14:26 Coke rm_cflags branch fails on strawberry now because the makefile is all foo\bar instead of foo/bar
14:26 Coke (that is only tangentially related to my desire to have someone using MS compiler to test.)
14:28 dalek parrot: r43814 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
14:28 dalek parrot: Add get_gc_info introspection function.
14:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43814/
14:28 dalek parrot: r43815 | bacek++ | branches/gc_encapsulate_part2/src/gc (2 files):
14:28 dalek parrot: Move calculation of active/total buffers into gc_ms.c
14:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43815/
14:28 dalek parrot: r43816 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
14:28 dalek parrot: Encapsulate mark_special. It's wrong way because we have to move whole mark_FOO_alive into gc_ms. But it's good enough for now
14:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43816/
14:28 dalek parrot: r43817 | bacek++ | branches/gc_encapsulate_part2/src/gc (3 files):
14:28 dalek parrot: Encapsulate pmc_needs_early_collection
14:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43817/
14:33 mj41 we have copy of cygwin wm machine somewhere
14:33 Coke ... cygwin is also not the MS compiler.
14:33 Coke (I have cygwin here too if I need it.)
14:34 mj41 I can make MS from this one
14:35 mj41 Do you want to test trunk or any branch?
14:39 whiteknight Anybody around here knowledgable about packfiles?
14:39 Coke only that that test is failing. =-)
14:39 whiteknight I'm trying to figure out what the status of the packfile PMCs is, and what is preventing them from being used in Parrot to manage bytecode?
14:40 Coke mj41: I'm going to need MS feedback on the rm_cflags branch (though it's not 100% yet)
14:40 bacek whiteknight, nothing
14:40 Coke having that to compare to trunk would be nice.
14:40 whiteknight bacek: so all that is required is to create a branch and make the switch-over?
14:40 bacek whiteknight, yes (almost)
14:40 whiteknight ...almost?
14:42 bacek whiteknight, currently Packfile PMCs are wrapper around PackFile_foo functions
14:43 bacek They weren't build for "on-line" usage in runtime.
14:43 bacek Main purpose was able to unpack/create/pack PBCs
14:43 bacek check examples/pir/make_hello_pbc.pir if you want
14:44 whiteknight so what is the design? Are we going to use those PMCs internally to work with packfiles or not?
14:45 bacek we can
14:45 bacek But it will require some adjustments
14:45 whiteknight lots of possibilities, but any firm decisions?
14:45 bacek And VTABLEs are way too narrow...
14:45 whiteknight Adjustments are fine. The whole subsystem needs refactors and fixes
14:46 bacek Yeah... Do you mean cleanup with fire?
14:46 Coke can we rip out the #if 0 code in src/runcore/main?
14:46 whiteknight Coke: let me look
14:46 whiteknight bacek: yes, cleanup with fire
14:47 whiteknight and encapsulating things into PMCs is a good first start
14:47 Coke whiteknight: if not, no matter, I can shove more in the if 0 black hole in the branch.
14:48 bacek whiteknight, than I want to highly recommend again to change PBCs to be truly "portable". And have single format, not zillion of combinations.
14:48 whiteknight Coke: Probably need to leave it for now. CG and CGP cores are slightly fragile and I don't want to remove code we might rely on later
14:48 Coke bacek: but the unachieved theoretical runtime efficiency! =-)
14:48 bacek Coke, Yay! :)
14:48 Coke whiteknight: technically the code is already removed, but ok. I'll keep branch changes minimal.
14:49 Coke (that's a good plan regardless)
14:49 whiteknight bacek: yes, I agree with that. I'm looking for good GSoC project ideas
14:49 whiteknight Coke: I mostly want to keep the ideas around, in case we need to make use of them again
14:49 whiteknight Alternatively, delete the code but make a ticket referencing the commit
14:50 lucian joined #parrot
14:51 whiteknight a portable bytecode format would be awesome. Properly encapsulating bytecode into PMCs would be awesome too
14:52 whiteknight brb
14:56 whiteknight joined #parrot
14:58 iblechbot joined #parrot
14:58 Coke rant: having a warning disabled by default and enabling only on certain files is backwards.
14:58 whiteknight which warning?
14:58 Coke unused.
14:58 whiteknight and why would it be disabled by default?
14:59 Coke whiteknight: ... I can't speak to why.
14:59 whiteknight enable it everywhere
14:59 Coke whiteknight: ... did you see my rant? =-)
14:59 whiteknight I'm enabling!
14:59 cognominal joined #parrot
15:00 Coke rm_cflags will enable it by default then shut it off for the files where it is hard to fix.
15:00 Coke (and fix it for the rest of the files, since mostly it's just deleting old crap.)
15:00 whiteknight "hard to fix" is a challenge, not something to just ignore
15:00 Coke whiteknight: you're welcome to challenge yourself, sure.
15:01 whiteknight enable the warning by default, we'll clean it before the next release
15:02 Coke I'm going to enable it by default and then disable it on those files that `need` it. easy enough to re-enable it for the file you wish to try to clean. (the hard ones are the generated ops files)
15:02 particle pay attention to the buildbot output
15:05 Coke Parrot_compile_string has an unused variable, 'pf'. except it looks like it is not supposed to be unused. anyone?
15:06 whiteknight ah, generated code files might be good candidates to turn that warning off then
15:06 whiteknight but all "real" code files should have it
15:08 NotFound whiteknight: I started a test of dumping pbc using pacfile pmc but not finished it. Extending that tests for reading and writing will be a good way to make sure the PMC are able to do al the work. But in order to do some realistic writing test we need some way to assemble parrot opcodes from HLL.
15:08 whiteknight in other news, some of our code generators should get a lot smarter
15:09 whiteknight NotFound: so something like an op or pmc that can compile a single op to a string of bytecode?
15:13 NotFound whiteknight: I'd like better something that takes an op name and the number and type of parameters and return the opcode number. Even better, other that takes just the name and return an array of variants.
15:13 whiteknight NotFound: so an OpLib PMC that provides PIR-level access to the op list?
15:14 whiteknight including lookup and compilation?
15:14 NotFound whiteknight: PMC, interpreter method, keyed access.... anything.
15:14 whiteknight actually a series of ops might be better, less call overhead and more flexibility
15:14 whiteknight I will prototype some ops like that for testing
15:15 NotFound I don't care about speed, at least for the first attempts.
15:15 whiteknight ok
15:16 Coke ... Andy++
15:16 Andy for?
15:16 purl for is *only* foreach, because c-style for is "loop"
15:16 Andy Or do you mean Armstrong?
15:16 Coke (just found and removed several useless string creations that were in loops in parrot argument processing.)
15:16 Andy haha, awesome!
15:17 Coke (which would have been found if this (*&@#$# arg was enabled by default, which it soon will be.)
15:17 whiteknight an OpLib PMC with a get_integer_keyed_string (for specific op variant lookup) and get_pmc_keyed_string (returns a hash of all variants, signature -> opnumber) would work
15:17 dalek parrot: r43818 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
15:17 dalek parrot: CFLAGS enables this for some files, but it's off by default.
15:17 dalek parrot: Make it on by default, fix the warnings that we can, then, if
15:17 dalek parrot: necessary, disable it where we have to.
15:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43818/
15:19 NotFound whiteknight: I think so. At least will be enough for proof of concept tests.
15:20 whiteknight ok
15:21 NotFound Oh, and for the reading part, getting the name and signature from the opcode number will also be useful.
15:24 bubaflub joined #parrot
15:24 Psyche^ joined #parrot
15:26 whiteknight so an Opcode PMC type also might be interesting, that contains lots of info about one op
15:27 NotFound Yeah
15:29 whiteknight an OpLib PMC that provides access to the entire library and returns Opcode PMCs on keyed lookups
15:30 NotFound whiteknight: sounds great
15:30 whiteknight and Opcode.get_string_keyed() could return the compiled bytecode of that statement
15:32 NotFound May be helpful, at least for non-jump ops.
15:32 whiteknight yeah, the jump ops get more tricky
15:33 dalek parrot: r43819 | coke++ | branches/rm_cflags/src (9 files):
15:33 dalek parrot: Eliminate some unused variables and static functions.
15:33 dalek parrot: Most interesting one is the string creation inside the loops in src/call/args.c
15:33 dalek parrot: - might be worth a benchmark on trunk.
15:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43819/
15:50 dalek parrot: r43820 | whiteknight++ | branches/op_pmcs:
15:50 dalek parrot: branch to prototype some new PMCs for working with ops
15:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43820/
15:56 moritz public service announcement: the timtowtdi.org server is going to be unavailable to us starting from next week (Coke, japhb, kj have accounts there)
15:56 whiteknight what is that server?
15:57 moritz (oh, forgot leto)
15:57 moritz whiteknight: leto did some benchmarking on it, Coke some smoke testing, some others did some web hosting
15:57 whiteknight ok
16:00 bubaflub joined #parrot
16:01 theory joined #parrot
16:01 NotFound joined #parrot
16:09 payload joined #parrot
16:14 whiteknight joined #parrot
16:15 Austin_away Why, oh why, does C3 not work?
16:16 whiteknight it does work, if you ignore all the bugs and the fact that it doesnt work
16:17 Austin Yeah. Aside from that.
16:19 Austin What? You have two classes with a common ancestor? And you want to make one a parent of the other? No, that's ambiguous. Sorry.
16:20 Coke moritz: it's going away permanently?
16:21 moritz Coke: probably
16:21 Coke thank you for the heads up.
16:24 whiteknight Austin: is that an issue with the C3 algorithm, or just our implementation of it?
16:25 Austin It seems like a safe bet that it's an implementation issue. See tt#1426
16:32 whiteknight ok
16:42 mj41 Coke I setup machine with MS VC++ 2008, nmake on rm_cflags ok, now running nmake test
16:47 mj41 Coke Result: PASS
16:49 hercynium joined #parrot
16:54 whiteknight joined #parrot
16:57 Themeruta joined #parrot
17:06 mikehh joined #parrot
17:11 mj41 TapTinder machine 13 (WinXP, Visual Studio 2008 Express Editions, ActivePerl) added.
17:14 Coke mj41: huh. freaks me out that strawberry is failing but VC++ works.
17:14 Coke danke.
17:20 * Coke shuts off the lights on timtowtdi
17:21 Coke (at least in my room)
17:23 whiteknight joined #parrot
17:28 dalek parrot: r43821 | coke++ | branches/rm_cflags/src (2 files):
17:28 dalek parrot: Remove more unused code.
17:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43821/
17:42 plobsing joined #parrot
17:44 dalek parrot: r43822 | whiteknight++ | branches/op_pmcs/src/pmc (3 files):
17:44 dalek parrot: Add initial prototypes of three new PMCs with some quick TODO notes
17:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43822/
17:48 mikehh_ joined #parrot
18:06 whiteknight I really want to clean up the src/pmc.c file
18:07 whiteknight Renaming functions from e.g pmc_new() to Parrot_pmc_new(), etc
18:11 Coke Should this function (pcf_v_(PARROT_INTERP, PMC *self)
18:11 Coke actually be generated, or is that an undef leaking through?
18:11 Coke (src/nci.c)
18:13 kurahaupo joined #parrot
18:17 mj41 joined #parrot
18:21 payload joined #parrot
18:21 plobsing joined #parrot
18:26 Psyche^ joined #parrot
18:31 cotto_w0rk joined #parrot
18:32 Psyche^ joined #parrot
18:43 PacoLinux joined #parrot
18:51 dalek parrot: r43823 | plobsing++ | trunk/tools/build/nativecall.pir:
18:51 dalek parrot: use a global variable instead of threading a parameter through all calls in the program just for one use-site
18:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43823/
18:55 ruoso joined #parrot
18:56 allison joined #parrot
19:03 Coke allison: hio
19:03 Coke allison: did you see the src/call/ change in branch? I wonder if that was a time sink.
19:04 allison hi
19:04 Coke (branches/rm_cflags)
19:04 allison didn't see it yet, will take a look
19:05 Coke r43819
19:07 * Coke wonders why ICC is adding warnings to the build.
19:07 allison looks good, clearing out some variables we don't need (especially avoiding creating constant strings we don't need)
19:08 dalek parrot: r43824 | plobsing++ | trunk/tools/build/nativecall.pir:
19:08 dalek parrot: add some command line options to nativecall.pir (currently mostly unimplemented)
19:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43824/
19:08 Coke allison: and those were in loops. whee.
19:08 allison excellent
19:08 Coke this'll get merged back in a few days.
19:09 cotto_work allison, is http://trac.parrot.org/parrot/ticket/866 on your list of things to eventually address?  whiteknight had some feedback.
19:09 NotFound I have my Basic interpreter running in the Nokia N900 :) Parrot coming soon, I hope.
19:10 whiteknight Sorry about the length of the comments.
19:10 allison cotto: his arguments are sound, I'm okay with eliminating pow
19:11 cotto_work ok.  Do you feel the same way about bignum?
19:11 allison cotto: it basically comes down to "how common will it be to override the behavior?" and with pow it's uncommon
19:12 allison cotto: it could be argued that any PMC that wants to return a bignum should return it as a PMC anyway
19:13 cotto_work agreed
19:13 cotto_work (I'm for taking out both bignum and pow, fwiw)
19:13 allison cotto: so set_pmc, get_pmc, are sufficient
19:13 allison (I'm reading back over the history of the conversation)
19:16 allison cotto: okay, I'll reverse the earlier comment, we can nuke both pow and bignum
19:16 cotto_work Glad to hear it.
19:17 allison cotto: but, that's an important point about "where to draw the line"
19:17 cotto_work Thanks for looking at the ticket.
19:17 allison cotto: if we remove pow, are there other common math ops we should also remove from the vtable?
19:18 whiteknight I'm a little bit of a VTABLE minimalist, but I won't push the conversation any further than the obviously under-used ones
19:18 allison the discussion might become more relevant with lorito
19:18 whiteknight ...despite my obvious dislike of having both a complete set of math ops and i_* math ops which are almost always identical
19:18 allison (with a minimalist op set, the monolithic vtable set is less useful)
19:19 allison whiteknight: and all the variants for all the different types
19:20 whiteknight I like the idea of fast vtable-based access to certain operations, but I can distinctly tell there was a "the more, the merrier" attitude earlier in Parrot's history and the ramifications of that were not thought out ahead of time
19:23 whiteknight of course, I wasn't present for most of Parrot's history, so I really can't say what the attitudes towards these kinds of things used to be
19:25 allison without benchmarks, we really can't say for sure whether vtable-based access is all that much of a speed advantage
19:26 whiteknight over, for instance METHOD calls, we have to assume they are
19:26 allison yes, there was definitely an early philosophy of "the more the merrier"
19:26 allison yes, faster than method calls
19:26 allison though, the old method calls were a simple function pointer invoke, so not actually much slower
19:27 whiteknight what are the other alternatives, direct ATTR access?
19:27 allison it depends on the situation
19:27 allison when it's not actually custom behaviour, and external op can be equally good
19:27 allison like, math behavior that really should be consistent
19:28 allison you run into some complexity with deciding if the behavior should be int-like or float-like
19:28 whiteknight but that could easily be decided with a flag
19:28 allison (we don't really have a way of making that decision externally at the moment)
19:28 whiteknight or a role
19:29 allison or with an attribute of the PMC that the op checks
19:29 whiteknight although that's a bit of a shoehorn
19:29 whiteknight VTABLE_get_math_mode()
19:29 allison aye, and that's part of why so many of the math ops are vtable functions
19:30 allison it's a clean implementation of polymorphism
19:30 whiteknight so in theory, if we had a way for a pmc to declare how it was handled in a scalar math operation, most of the vtable logic could be moved to consistent ops?
19:30 allison yes, definitely
19:31 allison and most of the math ops could be moved to dynops too
19:31 whiteknight you're making my mouth water
19:31 whiteknight I'm a big proponent of a "lean and mean" parrot
19:31 whiteknight but that's no secret
19:32 allison It's the direction we're heading now
19:33 allison it is a break from they earlier design philosophy, but a good one, I think
19:33 whiteknight I strongly agree. Decreasing memory footprint, decreasing the number of thigns to be initialized at startup, removing components that are not frequently used, these are all good things
19:37 allison speed has always been one of Parrot's goals, so in a sense we're just tackling a key goal from another angle
19:42 cognominal joined #parrot
19:51 Coke chromatic has burst my bubble. ah well.
19:51 eternaleye joined #parrot
20:02 * Coke makes the mistake of looking in config/auto/warnings
20:07 lucian joined #parrot
20:08 kurahaupo joined #parrot
20:08 mikehh joined #parrot
20:09 lucian joined #parrot
20:13 dalek parrot: r43825 | chromatic++ | trunk/lib/Parrot/Harness/DefaultTests.pm:
20:13 dalek parrot: [lib] Made t/src/*.t run before other extended core tests, to make parallel
20:13 dalek parrot: test runs slightly faster.  t/src/extend.t takes longer than most other tests;
20:13 dalek parrot: starting it earlier allows further time overlapping.
20:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43825/
20:23 joeri joined #parrot
20:23 chromatic joined #parrot
20:26 GeJ Good morning everyone
20:26 whiteknight good morning GeJ
20:26 whiteknight how is life in paradise today?
20:27 GeJ Heya whiteknight.
20:27 purl whiteknight is, like, mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
20:27 chromatic #ps in 4
20:29 * whiteknight almost forgot
20:30 dalek parrot: r43826 | mikehh++ | trunk/tools/build/nativecall.pir:
20:30 dalek parrot: fix codetest failure - trailing whitespace
20:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43826/
20:30 * whiteknight is reading through hundreds of lines of code at work, where the original author only used comments as a substitute for the delete key
20:31 whiteknight no english-language explanations of things, but hundreds of lines of inexplicably commented-out code
20:32 GeJ whiteknight: It's ok. Weather's fine. Job's okay. The only remaining problem is that days are only 24 hours long. I'm working on this, but I don't have any obvious solution yet. Still investigating.
20:32 Tene whiteknight: but what if he needed to get the deleted code back some time in the future?!?!
20:32 whiteknight GeJ: How much snow do you have there? We have two feet of it on the ground, and another 1.5 feet coming tonight
20:33 GeJ whiteknight: How's life treating you in... erm... your side of the globe? (I'd say east coast, but I'm not quite sure)
20:33 whiteknight Tene: I know! It's the ultimate version control system
20:34 GeJ whiteknight: snow? You mean that white thing that people seem to enjoy 3 weeks every 4 years on the TV? Yeah, we've heard about it. It could be an urban legend though.
20:35 whiteknight lucky bastard
20:36 GeJ Don't know if that's been said here, but FreeBSD 7.3 will ship with a Parrot 2.0 and Rakudo 2010.01
20:37 Coke huh.
20:37 allison GeJ: excellent
20:38 whiteknight GeJ: Great
20:40 GeJ I have nothing to do about it. I just saw the two ports a couple of days ago.
20:40 cognominal joined #parrot
20:40 kurahaupo joined #parrot
20:42 GeJ The guilty one is Aliaksandr Zahatski. Don't know if he's idling around here.
20:44 hercynium joined #parrot
20:45 allison Coke: technically the deprecation was for get_bigint and set_bigint, which don't exist
20:46 allison Coke: is there a rule for deprecation typos?
20:46 kurahaupo1 joined #parrot
20:46 dalek parrot: r43827 | whiteknight++ | branches/vtable_massacre:
20:46 dalek parrot: creating branch to rip out deprecated vtables bitwise*, *pow*, and *bignum
20:46 Coke .. don't do that?
20:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43827/
20:47 Coke allison: it looks like DEPRECATED.pod mostly agrees with the most recent ruling, so I'll close my eyes.
20:47 Topic for #parrotis now Parrot 2.0.0 "Inevitable" released! | http://parrot.org | Priorities: merge branches, remove deprecations | Roadmap: http://icanhaz.com/parrotroadmap | Latest modified TT's: http://icanhaz.com/parrotbugs
20:47 chromatic http://trac.parrot.org/parrot/wiki/GCSizeTuning -- implementation ideas for a GC tuning
20:49 whiteknight chromatic: looks nice. should run the GC more frequently but with smaller runs
20:50 chromatic Hopefully it runs the GC less frequently.
20:56 dalek tracwiki: v1 | chromatic++ | GCSizeTuning
20:56 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GC​SizeTuning?version=1&action=diff
20:58 chromatic whiteknight, what do you want to do with these deprecations?  Want to break them up into individual pieces?
20:59 Coke if anyone wants to hack on rm_cflags, I can carveout some tasks.
21:00 whiteknight chromatic: however. I was planning to go all scorched earth, but if there are other people with their hands in the branch we probably need to be more polite
21:00 chromatic Goes faster with more hands.
21:03 bacek Good morning
21:03 purl What's so good about it?
21:03 whiteknight First step is probably to update the bitwise and pow ops to call get_int and get_float vtables. Then rip out the unused vtables, then fix all broken tests
21:04 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32128), fulltest) at r43826 - Ubuntu 9.10 amd64 (gcc with --optimize)
21:04 bacek I've got small task for bored developer.
21:05 chromatic whiteknight, if you make a small wiki page like we did for the CC revamp, we can coordinate there.
21:05 bacek Cut CLI param parsing out of IMCC and do it _before_ init of Interp.
21:05 whiteknight okay. I'm getting in my car nowish, but I'll put together the page in 1hr when I get hom
21:06 bacek It will be very helpful with run-time GC selection
21:06 chromatic Excellent.
21:06 Coke bacek; also with pirc switch.
21:07 whiteknight bacek: I've wanted that same thing for a while
21:13 payload joined #parrot
21:13 plobsing joined #parrot
21:13 NotFound cotto_work: ping
21:14 cotto_work NotFound, pong
21:15 NotFound cotto_work: can we close TT #1428?
21:15 cotto_work lemme look
21:16 cotto_work definitely
21:16 NotFound cotto_work: can you add some comment about the fix?
21:16 cotto_work Sure.  I'll take care of it.
21:17 NotFound cotto_work++
21:17 chromatic msg whiteknight http://trac.parrot.org/parrot/​wiki/GCSweepFreeImplementation
21:17 purl Message for whiteknight stored.
21:17 chromatic Also bacek: http://trac.parrot.org/parrot/​wiki/GCSweepFreeImplementation
21:17 chromatic There's the algorithm whiteknight and I have tossed around for a while.
21:19 mikehh bacek: gc_encapsulate_part2 - make corevm/make coretest, make test PASS - some codetest failures (working on it) and make: ./pbc_merge: Command not found
21:27 bacek chromatic, it's exactly how previous Gen GC was implemented
21:28 dalek TT #1428 closed by cotto++: pbc_merge breaks c++ build
21:28 chromatic Is that good, bad, neutral, charm, or strange?
21:28 bacek chromatic, it's more good than bad
21:29 chromatic That's a positive sign.
21:29 chromatic How much more GC encapsulation work do you have?  Do you have more branches in mind?
21:29 bacek chromatic, it's done
21:30 bacek next branch - Boehm GC again
21:30 dalek tracwiki: v1 | chromatic++ | GCSweepFreeImplementation
21:30 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GCSweepF​reeImplementation?version=1&action=diff
21:30 chromatic Okay, I'll wait for the merge and then work on this.
21:31 bacek chromatic, ok.
21:32 mikehh joined #parrot
21:36 dalek parrot: r43828 | mikehh++ | branches/gc_encapsulate_part2/src/gc/gc_ms.c:
21:36 dalek parrot: fix codetest failures - linelength and trailing spaces
21:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43828/
21:36 dalek parrot: r43829 | mikehh++ | branches/gc_encapsulate_part2/src/gc/gc_ms.c:
21:36 dalek parrot: fix codetest failure - at least one space between C keyword and subsequent open parenthesis
21:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43829/
21:36 dalek parrot: r43830 | mikehh++ | branches/gc_encapsulate_part2/src/gc/api.c:
21:36 dalek parrot: fix codetest failure - at least one space between C keyword and subsequent open parenthesis
21:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43830/
21:44 mikehh joined #parrot
21:46 darbelo purl: msg Austin You may redeem this purl-o-gram for an enchanted +1 Bit of Commiting. Contact Coke for more details.
21:46 purl Message for austin stored.
21:52 cotto_work mikehh, the gc branch looks fine apart from some codingstd failures.  I don't see any problem with pbc_merge.
21:52 mikehh_ joined #parrot
21:53 dalek parrot: r43831 | mikehh++ | branches/gc_encapsulate_part2/src/gc/gc_private.h:
21:53 dalek parrot: fix codetest failure - at least one space between C keyword and subsequent open parenthesis
21:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43831/
21:53 cotto_work mikehh, the gc branch looks fine apart from some codingstd failures (possibly the ones you just fixed).  I don't see any problem with pbc_merge.
22:01 Coke darbelo: he already has the commit bit, and he should be talking to whiteknight, not me. =-)
22:02 Coke </deniability>
22:03 darbelo Coke: Oops. Sorry.
22:04 mikehh__ joined #parrot
22:05 darbelo purl: msg Austin Oops, I meant Whiteknight, not Coke. Also, your bit is now active. Don't break the build. Increase the awesome.
22:05 purl Message for austin stored.
22:08 mikehh joined #parrot
22:08 Coke note: new commiters first commit email may be delayed by gremlins. be patient.
22:09 darbelo gremlins--
22:09 dalek parrot: r43832 | mikehh++ | branches/gc_encapsulate_part2/src/gc/gc_ms.c:
22:09 dalek parrot: fix codetest failures - unused assert macros
22:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43832/
22:25 mikehh I am still getting a codetest failure for assert args in src/gc/gc_private.h that I fixed in r43832 for gc_ms.c but make headerizer does not work for me
22:27 mikehh that's in gc_encapsulate_part2 branch
22:27 cotto_work not quite fixed.  There's an extra "Parrot_" in front of some of the assert_arg macros.
22:33 mikehh cotto_work: I thought I fixed those
22:35 mikehh joined #parrot
22:36 cotto_work mikehh, there are still some in src/gc/gc_ms.c
22:39 mikehh cotto_work: ok I see them
22:41 kiwichris joined #parrot
22:43 plobsing joined #parrot
22:45 tewk MMD question, I defined is_equal in PMC A, but not in PMC B, ne A B works but ne B A throws a exception from DefaultPMC. do I have to re define is_equals in B too?
22:46 chromatic Sadly, I believe so
22:46 chromatic We don't have a mechanism to identify commutative MMD.
22:46 chromatic For "commutative" read whichever mathematical word means "reflexive", perhaps.  I'm in writer mode, not math mode.
22:46 tewk uggh, code duplication
22:47 darbelo Would making default try "the other way around" help any?
22:47 darbelo Avoiding the obvious infinite recursion, clearly.
22:48 tewk YES, As long as we all agree that is_equal is reflexive
22:48 chromatic Or we have some mechanism to mark some candidates as such.
22:49 tewk sounds like pmc2c fun :)
22:49 tewk and MMD dispatch work too.
22:51 cotto_work joined #parrot
22:55 NotFound BTW, i think that PMCNULL is equal to PMCNULL
22:55 darbelo It shouldn't be?
22:55 cotto_work You make a good argument.
22:56 NotFound Should be, but current code doesn't think so.
22:58 darbelo Ouch.
22:58 dalek parrot: r43833 | plobsing++ | trunk/tools/build/nativecall.pir:
22:58 dalek parrot: implement head, thunks, loader, coda, and all targets as well as restrict the loader function to loading thunks and nothing else
22:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43833/
23:01 mikehh_ joined #parrot
23:03 darbelo You know, having a VTABLE be always implemented in terms of other VTABLEs is a good sign you can delete safely.
23:04 cotto_work are you thinking of the i versions?
23:04 Whiteknight joined #parrot
23:04 darbelo Nope, get_bignum(), I've just killed it. Running make test before commiting.
23:05 cotto_work darbelo++
23:06 cotto_work I won't miss that one at all.
23:06 cotto_work Make sure to take it out of src/vtable.tbl too.
23:06 darbelo Yeah, did that.
23:08 darbelo Incoming!
23:08 purl duck!
23:09 cotto_work Urgh.  _vtable on x64 is 1968B.
23:09 Whiteknight urg
23:09 mikehh_ joined #parrot
23:10 chromatic At least x64 has more registers.
23:11 Whiteknight chromatic++ #sweepless gc algorithm
23:12 cotto_work looks like some of the vcgc ideas got in there
23:12 chromatic I don't see any big holes in the idea.
23:12 Whiteknight cotto_work: exactly
23:12 darbelo I just looked it over and it sounds almost generational.
23:13 chromatic It's not quite generational, but it requires very few changes.
23:13 Whiteknight generational uses a similar idea to reduce the mark set
23:13 Whiteknight this is the same idea on the sweep set
23:13 chromatic We can keep the current precise system without having to track down every place we store a GCable to put guards around it.
23:13 darbelo I like it.
23:13 Whiteknight ours is hardly precise (*cough&src/gc/system.c*cough*)
23:15 * darbelo pokes dalek with a stick.
23:15 dalek parrot: r43834 | plobsing++ | branches/nativecall_pir_build:
23:15 dalek parrot: branch takes wrong approach to solving the problem
23:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43834/
23:15 dalek parrot: r43835 | darbelo++ | branches/vtable_massacre (9 files):
23:15 dalek parrot: Remove the get_bignum() VTABLE.
23:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43835/
23:15 chromatic It's mostly precise; we don't use a lot of the C stack and we don't have to trace much of it.
23:16 darbelo In the interst of full disclosure, r43835 should be tested by someone who has GMP installed.
23:17 darbelo I can't test Integer->BigInt autopromotion on my box.
23:18 Whiteknight I need to install GMP
23:18 darbelo I also disagree with Integer->BigInt autopromotion, but that's a mostly unrelated phenomenon.
23:18 Whiteknight +1
23:18 purl 1
23:19 Whiteknight Parrot should make fewer assumptions about the behavior of HLLs
23:21 kurahaupo joined #parrot
23:28 eternaleye joined #parrot
23:35 Coke (assumptions), well it has to work /some way/ in parrot. if there's a way that involves less work on our part that is overridable, go for it.
23:40 hercynium joined #parrot
23:44 kurahaupo joined #parrot
23:48 mikehh_ joined #parrot
23:50 mikehh joined #parrot
23:56 lucian joined #parrot

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

Parrot | source cross referenced