Camelia, the Perl 6 bug

IRC log for #parrot, 2008-04-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 kid51 guru ping
00:05 guru here
00:06 kid51 I spotted the line you reported in your patch, but I figured I'd let it slide.  I haven't yet figured out how best to handle situations where there's a long line starting with =item *
00:08 kid51 Since that PDD is still just a draft, we don't have to be as strict.
00:09 kid51 But thanks for running the test!
00:17 pmichaud anyone planning to stick around post-yapc::na?
00:18 kid51 Am planning to be there weekend *before*, but don't have enough vacation days to stay Thu-Fri.
00:18 * davidfetter still trying to figure out whether he's going
00:18 pmichaud I expect to be there Sat around noon (flying to Midway on Sat morning)
00:18 pmichaud so I'll be there Sat afternoon and all day sunday
00:18 pmichaud but I'm planning out my return flight
00:19 davidfetter is midway better for conference access than ORD?
00:19 pmichaud well, I'm flying southwest, so yes :-)
00:19 kid51 No significant difference.
00:19 davidfetter omg
00:19 pmichaud Personally I like midway better than ord
00:19 pmichaud either way just take the train to the conference
00:19 davidfetter i used to fly southwest, but no more
00:19 kid51 And either way involves 1 transfer on the El
00:20 davidfetter turns out they were suborning people pretty high up in the faa not to notice the safety checks they were skipping
00:20 * kid51 hopes they finished doing all those repairs on the Blue Line out near ORD
00:20 pmichaud well, given that american and united have been also grounding flights this past week for similar reasons, I find it hard to single out swa :-)
00:21 davidfetter i don't think either one of those outfits was actively bribing people high up in faa
00:21 pmichaud I haven't seen anything about bribes with swa
00:21 pmichaud and we'd hear about it here, since I'm in their home city (Dallas)
00:21 davidfetter http://www.denverpost.com/headlines/ci_8815970 <-- sample
00:22 pmichaud there's nothing there that indicates that southwest was bribing people
00:23 * davidfetter thinks it should be a felony to apply for a job in an industry you've regulated
00:23 davidfetter and another to hire
00:24 davidfetter we're talking class 1, general population, soap-on-a-rope felonies here, not country club
00:25 pmichaud that may be the case... but still I think the fault lies with the faa folks on this one.  I've heard that swa was encouraged by the faa officers involved that it would be okay to keep flying the planes.  (But I'd need to double-check that.)
00:25 pmichaud the faa has a habit of viewing itself in partnership with the airlines (as the denverpost article you just mentioned says)
00:25 davidfetter i'm curious how one might distinguish "bribe" from "you'll have a cushy job with a fat salary when you retire from swa"
00:25 davidfetter er, from faa*
00:26 davidfetter faa acquired this habit pretty recently. they used to be (and should go back to being, imnsho) an adversarial relationship :P
00:30 pmichaud yes, all of the articles I've read seem to indicate that it was pressure from faa managers that resulted in the lapses.  And that it's not limited to SWA.
00:31 pmichaud but back to my original q:  I guess wednesday night return would be okay?
00:31 davidfetter heh. sorry about that.
00:31 kid51 Only drawback to that:  You'd miss the Speaker's Party (assuming you're going to be a speaker).
00:32 pmichaud oh yeah
00:32 pmichaud speaker's party would be worthwhile
00:32 pmichaud okay, thursday.
00:32 purl I never could get the hang of thursdays.
00:32 pmichaud speaker's party was worthwhile in 2006, definitely
00:32 kid51 Yes, chez jmcadams.  But he's moved from there since then.
00:33 pmichaud good fares on thursday, too :-)
00:33 * kid51 gotta go
00:33 purl EXCUSE ME, I HAVE TO GO WASH MY COMPUTER
00:34 kid51 purl goodnight
00:34 purl goodnight, sweet prince, may flights of angels sing thee to thy rest.  now bugger off, kid51.
00:34 kid51 What can I say after that?
00:37 paula35 joined #parrot
01:35 dalek r26793 | infinoid++ | trunk:
01:35 dalek : [include] Apply C++ correctness patch from Senaka Fernando in RT#52500.  Senaka++
01:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26793
01:39 Infinoid karma c
01:39 purl c has karma of 6833
01:39 Infinoid karma (c++)
01:39 purl (c++) has karma of -2
01:39 Infinoid (c++)--
01:45 dalek r26794 | chromatic++ | trunk:
01:45 dalek : [Pheme] Ported from PAST-pm to PCT (Bernhard Schmalhofer, RT #52498).
01:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26794
02:03 guru left #parrot
02:12 cotto_home Infinoid: ping
02:13 Infinoid cotto_home: hi!
02:14 cotto_home t/codingstd/cppcomments.t reports itself as looking for cuddled elses instead of c++-style comments
02:14 Infinoid heh, oops.
02:16 Infinoid thanks!
02:16 dalek r26795 | infinoid++ | trunk:
02:16 dalek : [codingstd] Oops.  c_cppcomments.t should report itself as checking
02:16 dalek : cppcomments, not cuddled elses.  cotto++
02:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26795
02:16 cotto_home thanks!
02:20 particl1 joined #parrot
02:28 rdice joined #parrot
02:31 kid51 joined #parrot
02:47 * Infinoid overhauls ops2c to calculate all the necessary values *before* printing anything, to make rearranging the output easier
02:56 Infinoid kid51: are you available for some non-linux patch testing?
02:59 tetragon Infinoid: I'm not kid51, but I'm also on darwin
03:00 Infinoid great!
03:00 nopaste "Infinoid" at 75.5.247.47 pasted "break ops2c completely" (132 lines) at http://nopaste.snit.ch/12628
03:00 Infinoid after applying that, please rm src/ops/*.c and rebuild and test
03:01 Infinoid this gets me one step closer to building with g++, and doesn't seem to break gcc here
03:06 kid51 Infinoid:  Note that if you're overhauling ops2c.pl, you'll have to overhaul t/tools/ops2cutils/*.t as well.
03:06 anna30 joined #parrot
03:06 Infinoid would be too easy otherwise...
03:07 Infinoid this is a first hack, but I still don't understand this code very well... think it can use some more love.
03:08 kid51 If you think it's ugly now, you should have seen it before I got my hands on it.
03:08 kid51 It was probably a 1000+ line script -- completely untested.
03:08 Infinoid kid51++
03:08 kid51 In order to render it testable, I had to try to decompose it into reasonable subroutines.
03:09 Infinoid I'm trying to make it a bit more MVC-y
03:09 kid51 I'd encourage you, before you get in too deep, to look at those tests files.
03:10 Infinoid g++ chokes on ops2c's output, with an error about "static op_lib_t core_op_lib" being defined twice.  because it is.  so that's my motivation
03:10 Infinoid I will check out the tests, thanks
03:10 kid51 Since the test coverage is very high, you can rest assure that if you change something and the tests fail, that you've broken something, which means you can/should proceed in small steps.
03:11 Infinoid ... other than the fact that the output is in a completely different order now
03:11 kid51 In writing those tests, I was, in effect, "working around" the C code found in all those heredocs.  I left all the C code completely as it was and focused on refactoring/testing the Perl 5.
03:11 Infinoid I might back up a step, because this does need some QA
03:12 Infinoid I hate the thought of breaking platforms I don't have
03:13 kid51 I worked on that > 1 year ago, so my memory is hazy, but IIRC I organized the subroutines around the various 'print' statements that existed in the previous (non-modularized) tools/build/ops2c.pl.
03:14 Infinoid amazingly, t/tools/ops2cutils still passes.
03:14 tetragon So, any requests as to which test scripts to run first?
03:14 Infinoid tetragon: I think if it built, I'm doing well
03:14 tetragon So far I've only seen the usual crashes
03:15 tetragon And t/tools/ops2cutils still passes here
03:16 kid51 Infinoid:  If, so far, your changes have all been *within* the subs in Ops2c.pm, then, yes, the tests should continue to pass (at least mostly).  It's when you start ripping the public methods apart that you'll have problems.
03:16 Infinoid I haven't changed the API, I've just changed the order in which things are done
03:16 Infinoid the code likes to manipulate values in $self within the print() functions, which made it hard to move things around
03:16 kid51 I have to get to bed, but if you want to send mail or post an RT outlining your battle plan, I'd be happy to take a look tomorrow.
03:16 Infinoid so far when I've found that kind of thing, I just moved it to the bottom of new()
03:17 Infinoid ideally, all values should be calculated beforehand and the rest of it should be output-only, to make it easy to do what I'm doing now
03:17 Infinoid I'll post it to RT, thanks
03:18 Infinoid tetragon++ # thanks for the testing!
03:18 kid51 cet. par., I like the idea of accumulating all your values, then printing from them.  That, in general, is the way that the configuration step classes work -- and where they still do not I intend to refactor them.  It's just that ops2c.pl wasn't written that way originally.
03:19 Infinoid yeah, ops2c has obviously been an iterative development process :)
03:19 kid51 good night
03:19 purl sleep well too
03:21 tetragon Hrm, I'm getting two similar but vastly different stack traces for my t/stm/runtime.t test 4 crash
03:22 tetragon When I have no error message before the crash, my logs give me traces for two threads
03:23 tetragon When I get a single error message, I get a single thread in the log, where that trace is the same as for thread 0 of the two thread log
03:23 Infinoid that's marked as a TODO test, here
03:23 tetragon I know
03:23 Infinoid sounds racey
03:23 tetragon And once in a blue moon, it doesn't crash
03:23 tetragon It just prints two error messages
03:24 tetragon (I'm not including Darwin's "Bus Error" in the error message count)
03:30 Infinoid msg kid51 My ops2c patch is http://rt.perl.org/rt3/Tic​ket/Display.html?id=52506
03:30 purl Message for kid51 stored.
03:52 Infinoid hmm.
03:52 Infinoid src/builtin.c:145: error: declaration of 'int find_builtin(const char*)' throws different exceptions
03:52 Infinoid src/builtin.c:100: error: from previous declaration 'int find_builtin(const char*) throw ()'
03:52 Infinoid (there's nothing about throwing on line 100)
03:52 Infinoid have I mentioned (c++)-- ?
04:07 dalek r26796 | infinoid++ | trunk:
04:07 dalek : [gc] Fix 64-bit platform warning:
04:07 dalek : src/gc/gc_ims.c:854: warning: cast to pointer from integer of different size
04:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26796
04:12 dalek r26797 | infinoid++ | trunk:
04:12 dalek : [pmc] Fix warning:
04:12 dalek : ./src/pmc/task.pmc: In function 'Parrot_Task_init_pmc':
04:12 dalek : ./src/pmc/task.pmc:174: warning: assignment from incompatible pointer type
04:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26797
04:17 dalek r26798 | infinoid++ | trunk:
04:17 dalek : [imcc] Fix warning:
04:17 dalek : compilers/imcc/optimizer.c:1629: warning: 'is_ins_save' defined but not used
04:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26798
04:19 dalek r26799 | infinoid++ | trunk:
04:19 dalek : [imcc] Fix warning:
04:19 dalek : compilers/imcc/pbc.c:187: warning: 'old_blocks' declared 'static' but never defined
04:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26799
04:25 Infinoid ever since I was given this jar of blackberry jam, my bread intake has doubled.
04:36 Infinoid msg wknight8111 (re: #51980) I closed out this ticket, because the two snprintf options are indeed distinct and should be merged.  I think you mentioned some warnings on win32, but I can't remember what they were.  Please post them to the ticket?
04:36 purl Message for wknight8111 stored.
04:36 Infinoid msg wknight8111 Should *not* be merged, rather.  I'm up too late.
04:36 purl Message for wknight8111 stored.
04:36 Infinoid goodnight
04:36 purl goodnight, sweet prince, may flights of angels sing thee to thy rest.  now bugger off, Infinoid.
04:52 Theory joined #parrot
05:14 jjore joined #parrot
05:39 cotto_home goodnight
05:39 purl goodnight, sweet prince, may flights of angels sing thee to thy rest.  now bugger off, cotto_home.
05:39 cotto_home purl, forget goodnight
05:39 purl cotto_home: I forgot goodnight
05:39 cotto_home goodnight
05:52 dalek r26800 | chromatic++ | trunk:
05:52 dalek : [src] Minor cleanups and reformattings.
05:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26800
06:07 Senaka joined #parrot
06:07 Senaka is Parrot_dod_clear_live_bits arena based or is it a total wipe-out?
06:32 Andy joined #parrot
06:47 Senaka ping everybody
06:47 purl I can't find everybody in the DNS.
06:47 Senaka hello everybody
06:47 purl Hello Dr. Nick!
06:48 Senaka is Parrot_dod_clear_live_bits arena based or is it a total wipe-out?
06:57 Senaka left #parrot
07:05 iblechbot joined #parrot
07:22 AndyA joined #parrot
07:48 Senaka joined #parrot
07:49 Senaka seen chromatic
07:49 purl chromatic was last seen on #parrot 1 day and 2 hours ago, saying: Or jonathan.  [Apr  4 22:49:14 2008]
07:49 Senaka seen Allison
07:49 purl Allison was last seen on #parrot 4 days and 12 hours ago, saying: Infinoid: it's not currently spec'd. In fact, we're not planning to implement a compacting or copying collector until after 1.0  [Apr  1 12:41:04 2008]
07:49 Senaka oops
07:50 Senaka seen Infinoid
07:50 purl Infinoid was last seen on purl 3 hours and 4 minutes ago, saying: <private message>
07:51 Senaka seen Jonathan
07:51 purl Jonathan was last seen on #parrot 14 hours and 33 minutes ago, saying: I thought the .c extension triggers this?
07:51 Senaka seen lathos
07:51 purl lathos was last seen on #parrot 2 days and 18 hours ago, saying: For that you may want the concurrency PDD. That's another one worth staying away from.  [Apr  3 06:26:49 2008]
07:51 Senaka seems that no one is arnd :(
07:58 Senaka joined #parrot
08:05 Senaka left #parrot
08:54 iblechbot joined #parrot
09:07 dalek r26801 | fperrad++ | trunk:
09:07 dalek : [readline]
09:07 dalek : - fix configure on MinGW32
09:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26801
09:21 Senaka joined #parrot
09:22 Senaka anyone knows about copy-on-write usage?
09:49 barney joined #parrot
09:56 dalek r26802 | jonathan++ | trunk:
09:56 dalek : [core] Make Integer and Float PMCs handle somewhat better when subclassed by a high level object.
09:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26802
10:04 AndyA joined #parrot
10:13 AndyA joined #parrot
10:40 Senaka left #parrot
10:45 dalek r26803 | bernhard++ | trunk:
10:45 dalek : [coding_std]
10:45 dalek : Satisfy c_operator.t
10:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26803
11:29 Senaka joined #parrot
11:55 dalek r26804 | bernhard++ | trunk:
11:55 dalek : #50596: [PATCH][PCT] Add basic "tests"
11:55 dalek : Apply patch from aparker42@gmail.com with some tweaks.
11:55 dalek : 'svn move' t/compilers/past-pm/*.t' in order to preserve history.
11:55 dalek : Load 'dumper.pbc' as 'Dumper.pbc' was not found.
11:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26804
11:58 rdice joined #parrot
12:04 Senaka joined #parrot
12:05 Senaka what is Parrot_dod_free_pmc for?
12:05 Senaka have you got to explicitly say what to free?
12:20 barney Senaka: Sorry, I never dug into GC
12:32 dalek r26805 | bernhard++ | trunk:
12:32 dalek : Give credit to Andrew Parker.
12:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26805
12:42 kid51 joined #parrot
13:18 dalek r26806 | infinoid++ | trunk:
13:18 dalek : [src] Apply C++ correctness patch from RT #52510.  Senaka++
13:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26806
13:20 kid51 Infinoid:  Have begun looking at the ops2c patch.  This might be a good candidate for starting a new SVN branch in which to do revisions -- particularly if changes to the tests are needed.
13:21 Infinoid ok.  what's the goal?
13:21 purl the goal is to announce a boostrapped perl6 one way or another in YAPC::NA :)
13:21 kid51 purl:  I think we've already achieved that goal.
13:21 purl kid51: sorry...
13:22 Infinoid I'm happy to work on refacting ops2c further, but it helps me to know when to stop :)
13:23 kid51 Since ops2c.pl is invoked very early in the 'make' process, any errors we make have big effects downstream.  So this limits potential damage to others working in trunk.
13:24 kid51 This wouldn't have to be a long-lived branch, but it would permit all (3) interested to work on it without bothering others.
13:24 Infinoid sounds reasonable
13:25 kid51 It's what I did when I refactored this script originally -- but I'll let you make the call.
13:25 Infinoid please go ahead and make the branch
13:25 kid51 k
13:26 Infinoid I guess my first step would be to document Ops2c::Utils, because I'm unlikely to understand the code otherwise.
13:27 kid51 Call:  svn co https://svn.perl.org/parrot/branches/ops2c
13:27 dalek r26807 | jkeenan++ | ops2c:
13:27 dalek : Creating ops2c in https://svn.perl.org/parrot/branches
13:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26807
13:27 dalek r26808 | jkeenan++ | ops2c-26806:
13:27 dalek : Tagging trunk at r26806 so that the ops2c can later be synched to it.
13:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26808
13:28 kid51 Ah, this dalek bot fellow performs much better than svnbotl did in this usage.
13:28 kid51 dalek++
13:28 rotty seen barney
13:28 purl barney was last seen on #parrot 1 hour and 9 minutes ago, saying: Senaka: Sorry, I never dug into GC
13:29 Infinoid exterminate all humans
13:31 Infinoid I think svnbotl ignored all changes to tags/, only reporting changes to trunk and branches
13:31 Infinoid this one isn't so discerning.
13:32 kid51 I don't mind that.  Tags don't change very often.  But in this circumstance, svnbotl would puke at the large number of files being created/modified and go off-line for 10-15 minutes.
13:33 kid51 Fixing it to ignore tags would probably be a snap, but might not be worth the effort.
13:33 * kid51 applies Infinoid's patch to Ops2c.pm in ops2c branch and runs tests with Devel::Cover
13:37 kid51 All tests in t/tools/ops2cutils/*.t continue to pass.  Coverage actually improves slightly:  lib/Parrot/Ops2c/Utils.pm             99.2   86.1  100.0  100.0
13:37 Infinoid maybe I reduced the number of conditionals slightly.  *shrug*
13:41 kid51 Re-reading the POD in Parrot::Ops2c::Utils, I see that I had to write an FAQ to explain some of its arcane aspects.
13:41 kid51 The most unusual/annoying aspect of it was the closing of a filehandle and its subsequent reopening.  I've never seen that in any other Perl program.
13:42 Infinoid I can see why you'd be so enthusiastic about refactoring it.
13:46 dalek r26809 | jkeenan++ | ops2c:
13:46 dalek : Applying Mark Gline's 20080405 patch in
13:46 dalek : http://rt.perl.org/rt3/Tic​ket/Display.html?id=52506.  Refactoring of several
13:46 dalek : internal subs in Parrot::Ops2c::Utils.
13:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26809
13:57 * Coke wakes up.
13:58 dalek r26810 | jonathan++ | trunk:
13:58 dalek : [core] Make scalar PMC (and things inheriting from it) work better when inherited from by high level classes.
13:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26810
14:01 dalek r26811 | jonathan++ | trunk:
14:01 dalek : [core] Some of the key handling code blindly assumed what it was being passed was a key. Add some checks for this. Before, the fact that you passed an Integer PMC into there and it would do something sensible (as happens with array access) was pretty much blind luck. This change lets languages that have different integer types that maybe use flags or pmc_ext have their arrays work.
14:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26811
14:27 paco joined #parrot
14:33 Senaka joined #parrot
14:34 Senaka seen Infinoid
14:34 purl Infinoid was last seen on #parrot 51 minutes and 48 seconds ago, saying: I can see why you'd be so enthusiastic about refactoring it.
14:34 Senaka seen Jonathan
14:34 purl Jonathan was last seen on #parrot 21 hours and 16 minutes ago, saying: I thought the .c extension triggers this?
14:34 Senaka jonathan: ping
14:34 Senaka infinoid: ping
14:35 Senaka I need to know few things regarding the GC. Is anyone around?
14:37 dalek r26812 | pmichaud++ | trunk:
14:37 dalek : [rakudo]:
14:37 dalek : * Fix 3e4 parsing bug (RT#49910).
14:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26812
14:38 jonathan Senaka: hi
14:38 Senaka hi
14:38 jonathan What do you need to know? I'll answer if I can...
14:38 Senaka k thanks
14:39 Senaka first of all have you got to call methods such as, Parrot_dod_free_pmc? Isn't the GC supposed to internally manage these?
14:40 jonathan No, those should just be called by the GC itself.
14:40 Senaka next is that, as it seems from the exposed interface, the GC is un-aware of object allocations? If not, the interface seems to be distributed beyond the header dod.h
14:40 jonathan Allocations are out of arenas.
14:41 jonathan I think it's maybe memory.c that deals with some of that.
14:41 Senaka so isn't the GC informed saying... I'm picking space from you?
14:42 Infinoid maybe the GC works that out after the fact, during the next sweep
14:42 jonathan Right.
14:42 jonathan It goes through the arenas that are allocated.
14:42 Senaka you mean the allocation?
14:42 jonathan No, the GC.
14:42 Senaka yes
14:42 jonathan The allocation is done out of these arenas.
14:42 Senaka :)
14:42 Infinoid the GC discovers the allocation after it's already happened
14:42 Senaka I meant the discovery rather
14:43 Senaka ok but is this inline with normal GC operations?
14:43 Senaka ex:- say I allocate large chunks so rapidly
14:43 Senaka and free them almost instantly
14:43 Infinoid so, the "sweep" phase discovers a lot of newly allocated blocks
14:43 Infinoid or doesn't :)
14:43 Senaka sweep isn't called that often isn't it?
14:44 Senaka and the GC being stop-the-world I don't think so
14:44 Infinoid or the mark phase
14:44 Senaka am I missing something here?
14:44 jonathan sweep is called either explicitly from the bytecode using the sweep instruction, or on an allocation when all arenas are full.
14:44 * Infinoid still learning the terminology
14:44 Senaka "or on an allocation when all arenas are full."
14:44 Senaka where is the code that figures this out?
14:45 Senaka grepping didn't get me any clue... :(
14:45 jonathan src/gc/memory.c I think
14:45 jonathan oh no, not there
14:46 jonathan src/gc/smallobject.c
14:46 jonathan That one.
14:46 Senaka cool
14:46 Senaka found it
14:47 Senaka what's get free object doing? do you reuse dead PMCs?
14:47 Senaka hmm seems...
14:47 purl seems?  I know not seems.
14:48 Infinoid it'll reuse the buffer from them, sure
14:48 skids While everyone's talking about GC, how is the GC going to handle an embedded C library that does it's own allocs -- will it take hints from the shim code that does the embedding, or just let that all play off in a corner on its own?
14:49 Senaka malloc can be wrapped right?
14:49 jonathan The GC only cares about objects allocated out of its memory pools.
14:49 Infinoid stuff allocated outside the arenas can fend for itself
14:49 jonathan Right.
14:49 Senaka yes that's legal
14:50 Senaka new question
14:50 Senaka where would such objects lie?
14:50 Infinoid you're asking where PObjs are stored?
14:50 Senaka Infinoid: stuff allocated outside the arenas can fend for itself
14:51 Senaka doesn't the Arenas span the heap space?
14:51 Infinoid oh.  that'd end up wherever malloc decides to put it, which is platform-specific
14:51 Senaka I see
14:51 jonathan The areans hang off struct Arenas *arena_base; in Parrot_Interp structure (interpreter.h)
14:52 * skids assumes if a PDC references into such an allocation there is a way to tell the pointer apart from a GC-controlled buffer object?
14:52 Infinoid skids: it wouldn't be pointing into an arena's memory range
14:52 Senaka so ok... Now since allocations are handled by Arenas the GC will have to rather seek locations of such allocations
14:52 Senaka perhaps scan a list
14:53 Senaka on Harmony, the allocation would happen through the GC rather
14:53 Senaka so will have to work on some wrapper perhaps
14:53 Senaka or are their some callbacks etc.?
14:54 Infinoid Senaka: Harmony can service the calls parrot makes into smallobject.c, right?
14:54 Infinoid you wrap those, I mean
14:54 Infinoid are you talking about object allocation, or arena allocation?
14:54 Senaka object
14:56 Infinoid ok.  so yeah.  parrot calls gc_ms_get_free_object (or whatever), your wrapper calls the appropriate Harmony function, and Harmony gives us a newly allocated buffer
14:56 Infinoid right?
14:57 skids So when reading the new PDD I did think of a potential "confounding case" surrounding the "buffers never point to PDDs" thing -- a parrot-native trie data structure would have trouble with that, given that "keys" and "values" (the latter pointers to PDDs) are stored in the trie.
14:57 skids (and having a mapping table of values to PDDs would take extra space, defeating the purpose of a trie)
14:57 Infinoid PDDs?  PMCs?
14:57 diakopter kid51: you around?
14:58 kid51 Yes
14:58 Senaka newly allocated buffer ... chunk of memory rather
14:58 skids Infiniod: right, sorry, still learning to squawk right. :-)
14:59 Senaka well, may be we'll have to address PMC allocations and buffer allocations separately is it?
14:59 Infinoid I was under the impression that PMCs resided within buffers
14:59 Senaka hmm buffer is inside PMC ain't it?
14:59 diakopter kid51: how goes the TAP::Harness refactoring of t/harness?  I'm volunteering the rest of my day today to set up a build farm, using whichever (smolder/pgbuildfarm) build farm orchestration we decide(d) on.
14:59 Senaka that's what I was thinking
15:00 diakopter I have 400GB of disk and 3072MB of ram and VMWare Server 2.0 beta2 on amd64 to devote to the project.
15:00 skids from PDD: "Parrot really has two independent GC models, one used for objects (PMCs) and
15:00 skids the other used for buffers (including strings). The core difference is that
15:00 skids buffers cannot contain other buffers, so incremental marking is unnecessary."
15:01 Senaka diakopter: that's one good box
15:01 kid51 It'
15:01 Senaka skids: yes it says so
15:01 Infinoid that makes sense.  there's some confusion over the definition of "buffer"
15:01 Infinoid PMCs are PObjs
15:01 kid51 It's been rather dormant.  But I have to eat breakfast now, so let me get back to you in a while.
15:01 Senaka buffer is like any free space?
15:01 Infinoid your "trie" data structure is a PMC, which points to other PMCs
15:02 Infinoid data buffers (strings and so forth) are allocated from a different pool, I guess
15:02 Senaka yes
15:02 Senaka two arenas
15:02 Senaka pdd09
15:02 Senaka says so
15:03 skids Infinoid: internally it has to point to other buffers -- every node in the trie being a PMC would not allow for a compact trie, too much overhead.
15:04 * diakopter begins creating oodles of VMs.
15:04 Senaka ok, now there's another concept of movability of buffers
15:05 Senaka so I believe that a buffer == raw chunk of memory
15:05 Senaka isn't it?
15:05 skids (mainly I came by this quandry when pondering fixed-type-hashes-as-tries and libjudy, but if it turns out that regexps can do double duty as efficient DFAs that might be better than a trie implementation)
15:06 Infinoid Senaka: in this case, "buffer" has the specific meaning of "chunk of memory allocated from the 'buffer' arena, used for raw data and not for PMCs"
15:07 Senaka Infinoid: yes
15:07 skids e.g. adding a pair to a "trie" is $regexp = regexp { $regexp | $pair }, and dumping the trie uses the :e adverb.
15:07 Senaka so I think I got it right here
15:07 Infinoid ok :)
15:08 Senaka so well that seems sorted and perhaps might be too early to decide on what could be done
15:08 Senaka what could be done further
15:10 Senaka what needs some attention is how the GC discovers the allocation?
15:12 Infinoid isn't that what the whole mark & sweep thing does?
15:12 Senaka hmm... well ok
15:13 Senaka let me put it like this
15:13 Senaka in Harmony, when you allocate, the GC can be made aware of the process, so that it will Garbage collect if the memory is exhausted
15:13 Senaka how does Parrot do that?
15:15 Senaka smallobject.c doesn't say much on this fact
15:16 Infinoid are you talking about the need to allocate more arenas, or the need to exert memory pressure because the system is out of RAM and malloc failed?
15:17 Senaka like, isn't it required that the GC running in some situations where there is no contiguous blocks of memory
15:17 Senaka at least in the arenas for buffers
15:17 Infinoid sure, so it allocates a new arena and adds it to the list
15:18 Senaka new arena?
15:18 Senaka I think you didn't get me
15:19 Senaka say that I want to allocate in a given arena. But it is nearly full. freespace is scattered. Now when I call alloc, should the GC get called too so that it can make space for me?
15:19 Infinoid alloc is a gc function, so the gc is called
15:20 Infinoid if the arena is out of free objects, it needs to either call malloc() to get another arena, or realloc() to expand an existing one, right?
15:20 Senaka hmm ok
15:20 Senaka well in the case of PMCs yes
15:20 Senaka in the case of buffers not always
15:21 Senaka you can compact ain't it?
15:21 Infinoid if you find all the pointers pointing to those buffers, and fix them all up, and prevent contention from other threads, you can move things around, yes
15:21 Infinoid I don't think we do that at the moment.
15:22 Senaka aha
15:22 Senaka that's what I was searching I guess
15:22 Senaka :)
15:22 diakopter on which OSes/architectures do folks want to see parrot smoked nightly
15:23 Infinoid this is where we start talking about bounce pointers or backreferences or read barriers, and people's eyes start glazing over
15:23 Senaka ok seems sorted
15:24 Senaka next issue is regarding Copy-on-write
15:24 Senaka Harmony doesn't support this
15:24 Senaka is COW mandatory?
15:25 Infinoid COW is a memory optimization.  you could just copy immediately, at the expense of extra memory usage
15:25 Infinoid and extra processing overhead
15:26 Infinoid I don't know how big an effect it would have.  (I've seen instances where the effect would be huge, but I don't have any real world stats.)
15:27 Senaka ok
15:27 Senaka so perhaps it is not a key requirement isn't it?
15:28 Infinoid it is not mandatory
15:28 Infinoid its just a nice hack, where it's available.
15:28 Senaka k cool
15:29 Senaka Now I have just a few left to sort out Parrot_dod_trace_ methods are some
15:29 Infinoid we'll probably have to fix up some code which expects to set the PObj_COW_FLAG bit and borrow another object's pointers, but that's all
15:30 Senaka hmm
15:32 jan joined #parrot
15:32 tetragon joined #parrot
15:35 Senaka Parrot_dod_trace_roots will mark all live objects isn't it?
15:36 Infinoid looks like it
15:37 Infinoid trace_system_areas() is interesting, traces the current thread's stack
15:37 Senaka that's thread stack enumeration
15:37 Senaka :)
15:39 Infinoid ./breakfast &
15:40 Senaka ok
15:49 Senaka any thoughts on pinning objects?
15:54 kid51 diakopter:  Broadly speaking, there are two big problems with our smoke testing:
15:54 kid51 * Limited scope of platform/OS/C-compiler combinations from which smokes are being submitted.
15:54 kid51 * Badly designed software which refuses to accept valid smoke reports but does allow people to post raw HTML directly to our servers.
15:54 kid51 Obtaining a big server with plenty of VMs helps with the first problem, but not necessarily the second.
15:54 kid51 I started to refactor the various components:
15:54 kid51 * t/harness
15:54 kid51 * lib/Parrot/Harness/Smoke.pm
15:54 kid51 * tools/util/smokeserv-client.pl
15:54 kid51 * tools/util/smokeserv-server.pl
15:54 kid51 But ran into several obstacles:
15:54 kid51 * Parrot::Harness::Smoke require-s two obsolescent CPAN modules, Test::TAP::HTMLMatrix and Test::TAP::Model::Visual -- and then overwrites a key sub from Test::TAP::Model.  Very much a hack.
15:54 kid51 * Trying out changes in our smoke setup requires coordination with perl.org webmasters, which, understandably, cannot be a high priority on their schedules.
15:54 kid51 * Coke wanted us to consider Smolder, Tinderbox, etc.  The latter did not seem appropriate for our needs; the former is poorly documented.
15:54 kid51 My hope was to refactor the 4 files above so that I could run a test smoke server on my own server and then:
15:54 kid51 * Have t/harness and Smoke.pm generate a data file -- rather than a fully CSS-ed HTML file -- which would be sent by client.pl to a server of anyone's choice, which would then transform the data into HTML (or any other reporting medium).
15:54 kid51 * Use this set up for fine-tuning and debugging.
15:54 kid51 And that's where things have stood since Jan 23.
15:54 kid51 .eor
16:02 Infinoid Senaka: apparently not
16:04 Senaka Ok
16:04 Senaka and is it possible to force GC?
16:05 Senaka yes I think
16:05 Senaka since the interface is exposed
16:06 Infinoid yeah, there's a pasm op for that
16:06 Infinoid t/op/gc.t tests it
16:06 Senaka what the op?
16:06 purl it has been said that the op is an opcode structure.  It's the thing that perl -Dx prints
16:06 pmichaud collect
16:07 pmichaud http://svn.perl.org/parrot/trunk/docs/ops/core.pod
16:07 Infinoid purl, forget the op
16:07 purl Infinoid: I forgot op
16:07 pmichaud oops, nm -- that one isn't in the repo
16:07 Senaka :)
16:07 Senaka yeah 404
16:08 pmichaud http://svn.perl.org/parrot/trunk/src/ops/core.ops
16:08 pmichaud look for <collect>
16:08 Senaka found it on the machine
16:08 Senaka http://svn.perl.org/parrot/trunk/docs/ops/core.pod
16:08 Senaka srry
16:08 Senaka /usr/local/share/doc/parrot/docs/ops/core.pod
16:08 pmichaud right... docs/ops/core.pod gets generated from src/ops/core.ops
16:08 pmichaud afk, lunch
16:11 Senaka got it Parrot_go_collect
16:11 Senaka in parrot/resources
16:12 Senaka also, can you time the GC operations?
16:12 Limbic_Region joined #parrot
16:15 diakopter kid51: I have a VPS which can host another smoke server, if necessary, helping the 2nd problem.  Which smoke system do you want to use?  Smolder?
16:16 iblechbot joined #parrot
16:18 kid51 I know very little about Smolder.  When I went to its sourceforge sites, I couldn't find much documentation.  So I wasn't in a position to explore it.  If you are familiar with it and can get a prototype up and running, then go for it.
16:19 kid51 Would Smolder both run the smoke tests and display the results?
16:20 kid51 Or would it simply receive reports generated by average Parrot users and display them?
16:20 kid51 Or some combination of the two?
16:21 * diakopter looks at http://buildbot.eigenstate.net:8040/
16:24 diakopter I guess there is http://www.perlfoundation.or​g/parrot/index.cgi?buildbot
16:24 diakopter does anyone know anything about that?
16:26 kid51 This page is mostly my musings:  http://www.perlfoundation.org/parrot/index​.cgi?rfp_parrot_needs_better_smoke_reports
16:26 shorten kid51's url is at http://xrl.us/biy53
16:27 kid51 http://www.perlfoundation.or​g/parrot/index.cgi?buildbot is Matisse Enzer's description of that which you were looking at at eigenstate.net
16:27 kid51 Both pages were last updated in January of this year.
16:30 diakopter kid51: do you still think storing test results by testfile.t is the right way to go?  (I'm not challenging it; just curious)
16:34 dalek r26813 | jonathan++ | trunk:
16:34 dalek : [rakudo] Start refactoring the type hierarchy somewhat. Add the Any type and make types such as Int, Num and so forth lie beneath this - basically, all but Junction. This should allow us to get MMD and Junctions working with Any as the default parameter type. Additionally, it means we can start making classes do various roles, like Positional. Due to what appears to be a Parrot bug, the vartype storage doesn't seem to get inherited in classes that also inhe
16:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26813
16:38 diakopter kid51: I think I'll set these up merely to run 'make smoke' and not try to solve other problems.  What OSes/architectures do you suggest I create as VMs?  I was going to do: 32- and 64-bit Windows 2003/2008 on cygwin, strawberry, and msvc++ (12 Windows VMs), and 32- and 64-bit DebianSid/Centos5.1.  any other suggestions?
16:38 kid51 diakopter:  In debugging test failures, t would be useful for me to say, "At what point did this test start to fail?"  That would seem to require a data structure where the fundamental unit is the individual .t file.
16:38 kid51 Which is what it in effect is right now ... except that the data is not searchable because it's all hard-coded in HTML files.
16:41 kid51 Those are excellent starting points.  We don't get many reports from Windows in general, and we would benefit from regular periodic smoking on the various C compilers people use on Windows.
16:41 Senaka left #parrot
16:41 kid51 Some people get consistently smooth builds on Windows; others experience horrible failures.  But we don't have enough data to spot patterns.
16:43 kid51 It would be good to add a "diakopter's battle plan" section to http://xrl.us/biy53
16:44 Infinoid wow, Ops2c::Utils->_reset_line_number() is silly.  a simple seek(0, 0) would work much more nicely.
16:45 kid51 Feel free to refactor away!  As I said earlier, that's the way the code was before I started with it, and not breaking anything was my biggest concern.
16:45 kid51 But in a branch, you can break as much as you want ;-)
16:46 Infinoid \o/
16:46 * Infinoid goes for the high score
16:47 dalek r26814 | infinoid++ | ops2c:
16:47 dalek : [ops2c] Stage 1 of cleaning up the silly file handling:
16:47 dalek : * single function to write a C source file, just calls the top/bottom functions
16:47 dalek :   for now.
16:47 dalek : Next step is to fix the handling of $SOURCE, and to use seek() instead of
16:47 dalek : reopening it.  Or just use $SOURCE->input_line_number() instead of counting
16:47 dalek : them manually.  *gasp*
16:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26814
16:51 dalek r26815 | infinoid++ | ops2c:
16:51 dalek : [ops2c]:
16:51 dalek : * name it print_c_source_file() to be consistent with print_c_header_file name.
16:51 dalek : * make print_c_source_file responsible for opening the file, then pass that to
16:51 dalek :   the child functions.
16:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26815
16:51 Coke diakopter: all of them?
16:51 diakopter Coke: sure, why not?
16:51 Coke diakopter: seriously, though, we seem to have linux and darwin covered. something solaris x86 would be awesome.
16:52 diakopter Coke: ok
16:52 diakopter Coke: oh, i see your joke
16:52 diakopter I've used SunOS... does that count
16:53 kid51 Infinoid:  26814 passed all tests.  But tests start to break at 26815.
16:53 Coke diakopter: kid51 has some excellent points, but if it's a question of which platforms, pretty much anything other than linux will help more than linux.
16:53 Coke (just because many of developers use that and catch stuff sooner than later.)
16:53 Infinoid this is prep to fix _reset_line_number(), which I should have done in a few minutes
16:53 Coke diakopter: yup.
16:54 dalek r26816 | infinoid++ | ops2c:
16:54 dalek : [ops2c] It helps when I use the correct syntax for IO::File.
16:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26816
16:54 diakopter amd64-linux-x86_64 is updated infrequently
16:54 nopaste "kid51" at 70.107.12.156 pasted "Failures in 'make buildtools_tests' at r26815" (31 lines) at http://nopaste.snit.ch/12631
16:56 kid51 Coke:  agreed re platforms
16:57 Infinoid there needs to be more google hits for "Parrot polishing"
16:59 Infinoid I just told a friend that's what I was doing today, and think I gave him the wrong idea.
17:02 askie joined #parrot
17:04 Infinoid ok.  I'll have to fix up the test suite from the API changes I just made
17:05 dalek r26817 | infinoid++ | ops2c:
17:05 dalek : [ops2c] There, _reset_line_number() no longer reopens anything.
17:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26817
17:05 * diakopter downloads solaris 10 isos
17:08 dalek r26818 | infinoid++ | ops2c:
17:08 dalek : [ops2c] Fix and clarify the SYNOPSIS a bit.
17:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26818
17:11 braceta joined #parrot
17:13 dalek r26819 | infinoid++ | ops2c:
17:13 dalek : [ops2c] Fix POD to pass t/doc/pod.t.
17:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26819
17:17 ruoso joined #parrot
17:23 dalek r26820 | infinoid++ | ops2c:
17:23 dalek : [ops2c]:
17:23 dalek : * Move the final rename() into print_c_source_file().  Child subroutines should
17:23 dalek :   only be concerned with printing.
17:23 dalek : * Add a test for print_c_source_file(), based on 03-print_c_header_file.t.
17:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26820
17:23 grim_fandango joined #parrot
17:25 dalek r26821 | infinoid++ | ops2c:
17:25 dalek : [ops2c] update MANIFEST and metadata
17:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26821
17:28 kid51 4 tests still failing as of 26821
17:29 diakopter kid51: any other platforms besides solaris?
17:29 kid51 Well, why not ask for the moon and the stars!
17:29 kid51 OpenBSD, NetBSD
17:29 kid51 AIX
17:30 Infinoid kid51: fixing up t/tools/ops2cutils/ right now
17:31 Infinoid last time I tried dragonfly, it was at a very early stage of support
17:31 kid51 Let me ask an OT question:  If I've just been given a shell account on a Solaris box, and if the default shell on that is ksh, but I want to use bash, what is the quickest way to make bash my default shell?
17:31 Infinoid check if the chsh command exists.
17:31 Infinoid if it does, use that.
17:31 kid51 Infinoid:  We were getting regular smoke reports on Dragonfly; good ones too.
17:32 Infinoid great.  I had to patch some stuff in config/ to even get it to build
17:33 Infinoid but that was a while ago.
17:34 * diakopter wonders if AIX is available
17:35 Senaka joined #parrot
17:35 kid51 Infinoid:  Unfortunately, no 'chsh' or similar commands on this Solaris box.
17:35 kid51 Would setting up a .profile file work?
17:36 Infinoid to make ksh execute bash?  probably
17:37 Infinoid might be as simple as inserting an "exec bash".  but if it doesn't work for some reason, it might be difficult to remove that again.
17:37 braceta left #parrot
17:37 Infinoid have a second shell open just in case
17:37 Senaka u mean bash on solaris?
17:37 kid51 Yes.
17:37 Senaka or any other shell?
17:37 kid51 I specifically want bash on solaris.
17:37 Senaka u can right? i mean just change the shell
17:38 Infinoid that's what he was asking.
17:38 Senaka let me see if I can locate some solaris folks
17:39 kid51 It's definitely available on this box:  /opt/bash/3.0/bin/bash is the resultant of various symlinks.
17:39 Senaka no chsh?
17:39 Senaka :(
17:39 Infinoid correct, no chsh
17:39 kid51 I have to leave now, so if anyone has a suggestion they can msg me in purl.
17:40 Senaka /etc/shells?
17:40 Infinoid seeya, kid51
17:40 Senaka ok will tell purl
17:40 Senaka c ya
17:41 Senaka http://www.unixguide.net/unix/bash/A7.shtml
17:42 Senaka perhaps
17:42 Senaka Infinoid: how do you tell purl to keep this msg?
17:43 Infinoid msg <name> <line of text>
17:43 purl Sorry, I've never seen <name> before.
17:44 dalek r26822 | jonathan++ | trunk:
17:44 dalek : [rakudo] Re-work constraint types so we can use them in declarations (e.g. my EvenInt $x).
17:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26822
17:44 Senaka msg kid51 http://www.unixguide.net/unix/bash/A7.shtml
17:44 purl Message for kid51 stored.
17:49 dalek r26823 | infinoid++ | ops2c:
17:49 dalek : [ops2c] move the $file->close() to the toplevel print_c_source_file() function.
17:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26823
17:49 dalek r26824 | infinoid++ | ops2c:
17:49 dalek : [ops2c]:
17:49 dalek : Adapt 04-print_c_source_top.t and 05-print_c_source_bottom.t to the new API.
17:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26824
18:03 dalek r26825 | allison++ | trunk:
18:03 dalek : [manifest] Deleting file that doesn't exist from manifest.
18:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26825
18:16 dalek r26826 | infinoid++ | ops2c:
18:16 dalek : [ops2c]: Adapt the rest of t/tools/ops2cutils/ to my API changes.
18:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26826
18:16 Senaka why does src/jit_emit.h have source in it?
18:17 Senaka take a look at 1720+
18:18 Senaka aha JIT
18:18 Senaka ok ok
18:20 Senaka implicit function pointer casts are seen in src/jit_emit.h
18:21 Senaka these won't compile in C++
18:21 Senaka also
18:21 Senaka a function pointer casted to void * AFAIK on a 64bit PPC is going to have its address truncated
18:22 Senaka this is because a function pointer being larger than a data pointer
18:22 Infinoid I don't know about ppc64, but I know all pointers are 64 bit on amd64
18:22 Senaka and void * is a data pointer
18:23 Infinoid so we get warnings about casting int to (void*), which are fixed by using long instead of int
18:23 Senaka long void?
18:23 Senaka oh oh ok
18:23 Senaka ok long to void * is valid
18:24 Infinoid is anyone here who tests on ppc64? :)
18:24 Senaka even int to void * is valid
18:24 Senaka yes that should fail
18:24 Infinoid int to void * is not portable, it causes warnings on amd64.  so don't do that.
18:24 Infinoid purl, int to void *?
18:24 Senaka gcc is silent about this warning but windows throws it
18:24 purl i think int to void * is not portable, it causes warnings on amd64.  so don't do that.
18:24 * Infinoid pats purl on the head
18:24 * purl purrs
18:25 Infinoid gcc warns about it here
18:25 Senaka ok
18:25 Senaka logically it is correct
18:25 Senaka did u (void *)int_type?
18:25 Senaka and fail?
18:25 purl void abort(void);
18:25 Senaka purl, forget void abort(void);
18:25 purl Senaka, I didn't have anything matching void abort(void);
18:25 Infinoid heh
18:26 Senaka wierd
18:26 Senaka ok
18:26 Infinoid his definition of "fail" is good, I think
18:26 Infinoid http://www.parrotvm.org/svn​/parrot/revision?rev=26796
18:26 Senaka thanks
18:27 Infinoid check is an "int", but it doesn't store a pointer value, it's just a flag they wanted to pass through
18:27 Senaka that's something cool to know
18:27 Infinoid s/check/check_only/
18:28 Senaka ok
18:28 * Senaka wonders what 128bit would look like
18:28 guru joined #parrot
18:28 Infinoid ipv6 routing would be *fast*.
18:29 * Senaka thinks new C standard
18:29 Infinoid they'd probably invent something ridiculous like "long long long" for 128 bit ints
18:29 Senaka there is a long long /// int
18:29 Senaka hehe
18:29 Senaka you can do things like that
18:29 Infinoid but personally, I'd be happy if they just called it uint128_t and left everything else alone
18:30 Infinoid no need to break things even worse.
18:30 Senaka that'd be super cool
18:30 Infinoid Toshiba's got a 128-bit MIPS processor
18:30 Senaka ok regarding the fn pointer -> data pointer issue
18:30 Senaka oh cool
18:31 * Senaka thinks intel would be thinking of a 128bit even nw
18:31 * Senaka thinks AMD might already have one
18:31 Infinoid Intel's too busy thinking up new 3 letter acronyms, I think
18:32 Infinoid I think we'd see more benefit if they fit 8 cores into one chip, rather than increase the register size again
18:32 Senaka hehe
18:32 davidfetter that's only a 15-bit address space
18:32 davidfetter (TLAs)
18:32 Infinoid true
18:32 Senaka hehe
18:33 * Senaka wonders about temperature control
18:33 Infinoid that's the new "BBQ" feature
18:33 Infinoid instead of trying to keep it cool, they've added a grill so you can cook things on it
18:33 Senaka ok well, speaking about the ppc64 it is something popular
18:33 davidfetter does that go with OMG and WTF?
18:34 Senaka and that's an undefined behaviour in the C99 standard
18:34 Infinoid Intel's Proprietary WTF Technology Preview
18:34 Senaka :)
18:34 Infinoid will feature in the new Intel Pentium(c)(r) Quad Nifty Über Spiffy Pro Core Pro Pro Hypercube Deux(tm)(omg)
18:35 * Senaka wondering whether the PC will replace the grill
18:35 Ademan joined #parrot
18:35 Infinoid why not?  P4 chips are already rated up to 100 watts
18:36 * Senaka thinks the laptop will the only thing you need for a picnic
18:36 Infinoid Senaka: actually, you can configure processors in all kinds of ways that aren't friendly to C99.  For instance, you can configure x86 in a protected mode with 16-bit data pointers and 32-bit code pointers
18:37 Infinoid ...but noone does that.  Except ppc64, apparently.
18:43 * Senaka wondering where I saw this ppc64 issue
18:48 Infinoid here's a good way to rate how annoying and complicated each platform is:
18:48 Infinoid du -sb /usr/src/linux/arch/*/kernel/module*.c | sort -n
18:48 Infinoid top 5: IA64, PA-RISC (same thing as IA64, I thought), PPC64, S/390, and Blackfin.
18:49 Infinoid (that's the code that has to perform relocations for modules you've inserted with insmod.  so it has to deal with all kinds of weird linker stuff.)
19:10 * Senaka Rethinking about the PPC64 issue
19:10 Senaka http://developer.apple.com/document​ation/Darwin/Conceptual/64bitPortin​g/building/chapter_5_section_2.html
19:10 Senaka seems helpful
19:10 shorten Senaka's url is at http://xrl.us/bizau
19:19 Infinoid msg kid51 There, ops2c passes all tests again as of r26826.  And I've got all the funky filehandle nonsense consolidated into print_c_source_file(), where it should be.  (opening, closing and renaming)
19:19 purl Message for kid51 stored.
19:40 Psyche^ joined #parrot
19:57 Infinoid that soooo isn't dalek's fault. :)
20:02 dalek joined #parrot
20:03 svnbotl joined #parrot
20:03 Juerd joined #parrot
20:07 Infinoid diakopter: I sent svnbotl a SIGSTOP, but maybe you want to remove it from supervise?
20:09 wolverian joined #parrot
20:14 Infinoid I'm quite happy with dalek's performance thus far.
20:14 Infinoid dalek: *hug*
20:18 pmichaud joined #parrot
20:20 pmichaud joined #parrot
20:25 Juerd Hi. If anyone knows which process on feather used all available memory (and swap), please let me know.
20:27 AndyA joined #parrot
20:34 Stephen joined #parrot
20:36 LimbicRegion joined #parrot
21:05 Theory joined #parrot
21:09 lichtkind joined #parrot
21:10 lichtkind pmurias: everything went fine did hit deadline last second, like in american movies
21:10 Stephen left #parrot
21:11 lichtkind pmichaud: everything went fine did hit deadline last second, like in american movies
21:39 jonathan joined #parrot
21:49 leo joined #parrot
22:37 AndyA joined #parrot
22:45 * Coke skips review.
22:51 Coke particl1: you in?
22:51 Coke we need to follow up on eric's question regarding mentors.
22:54 diakopter kid51: I added amd64-linux-cc and amd64-linux-gcc VMs to smoke automatically.  Still working on x86 Solaris. :/
23:01 wknight8111 joined #parrot
23:06 dalek r26828 | jonathan++ | trunk:
23:06 dalek : [rakudo] Add type-checking of parameters to subroutines and methods.
23:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26828
23:07 diakopter Coke: freebsd and netbsd next?  x86 or amd64?
23:07 jonathan We can haz type checking.
23:10 diakopter Infinoid: I d[r]owned svnbotl in supervise (now)
23:11 diakopter Juerd: no, I don't know.  I'll keep an eye on botnix in case its memory usage spirals
23:12 Juerd diakopter: Oh, but it might be a better idea to just impose a memory limit
23:12 Juerd diakopter: man ulimit
23:14 diakopter msg kid51 should I have the autosmokers make clean before svn update, or vice versa?
23:14 purl Message for kid51 stored.
23:17 Infinoid make realclean before svn update
23:21 diakopter Infinoid: thanks, ok
23:22 Infinoid make realclean; svn update; perl Configure.pl; make smoke
23:23 diakopter Infinoid: should they run 'make smoke' in languages/ as well?  also, anyone, now's your chance to request any branches to be smoked nightly.
23:24 Infinoid there's a "make languages-smoke" in the toplevel directory
23:24 diakopter ah
23:26 wknight8111 I had friends who used to talk about smoking branches nightly
23:26 Infinoid used to?
23:27 wknight8111 Thats a bad drug-using joke
23:27 wknight8111 anyway, how do you answer messages from purl?
23:27 Infinoid msg <nick> <message>
23:27 purl Sorry, I've never seen <nick> before.
23:28 wknight8111 no, i have messages waiting, how do I read them?
23:28 Infinoid purl, messages?
23:28 purl messages are almost working.
23:28 Infinoid that's helpful.
23:28 wknight8111 and reassuring
23:28 Infinoid msg Infinoid hey purl, tell me how to access messages
23:28 purl Message for infinoid stored.
23:28 Infinoid purl, ping
23:28 purl Infinoid: excuse me?
23:28 Infinoid [16:28] <purl> You have 1 message waiting.
23:28 Infinoid [16:28] <Infinoid> messages
23:28 Infinoid [16:28] <purl> You received the following messages:
23:28 Infinoid [16:28] <purl> Infinoid [Sun Apr  6 16:28:29 2008] said: hey purl, tell me how to access messages
23:29 wknight8111 okay, i got them. thanks
23:29 Infinoid guess that was it
23:29 wknight8111 always deceptively easy
23:29 Infinoid purl, messages?
23:29 purl messages are almost working.
23:30 Infinoid no, messages is <Reply>To access your messages, msg me with the word "messages".
23:30 Infinoid purl, messages?
23:30 purl To access purl's messages, msg me with the word "messages".
23:30 * Infinoid pats purl
23:30 purl don't mess with me
23:30 * Infinoid messes with purl
23:33 diakopter [around] with
23:33 * Infinoid splashes in puddles with purl!
23:34 diakopter make languages-smoke takes a while.
23:34 Infinoid oh yeah, it takes forever
23:35 * diakopter anticipates a higher power bill
23:38 contingencyplan joined #parrot
23:43 Juerd diakopter: Try setting up a datacentre. We thought we know what to expect, re power bill.
23:44 Juerd Server power usage turned out to be a bit lower than we'd calculated, but we had no idea that UPSes and aircon were such power suckers.
23:47 Infinoid out of curiosity, what was the ratio of wall-power to server-power?
23:47 Infinoid (how efficient are UPS's?)
23:51 guru joined #parrot
23:59 braceta joined #parrot

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

Parrot | source cross referenced