|
Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Mar 31 | tinyurl.com/2pmnlq Set by moderator on 18 March 2008. |
|||
| kid51 | guru ping | 00:00 | |
| guru | here | 00:05 | |
| 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:06 | |
| Since that PDD is still just a draft, we don't have to be as strict. | 00:08 | ||
| But thanks for running the test! | 00:09 | ||
| pmichaud | anyone planning to stick around post-yapc::na? | 00:17 | |
| 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 | |||
| pmichaud | I expect to be there Sat around noon (flying to Midway on Sat morning) | ||
| so I'll be there Sat afternoon and all day sunday | |||
| but I'm planning out my return flight | |||
| davidfetter | is midway better for conference access than ORD? | 00:19 | |
| pmichaud | well, I'm flying southwest, so yes :-) | ||
| kid51 | No significant difference. | ||
| davidfetter | omg | ||
| pmichaud | Personally I like midway better than ord | ||
| either way just take the train to the conference | |||
| davidfetter | i used to fly southwest, but no more | ||
| kid51 | And either way involves 1 transfer on the El | ||
| 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 | |||
| 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 :-) | ||
| 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 | ||
| and we'd hear about it here, since I'm in their home city (Dallas) | |||
| davidfetter | www.denverpost.com/headlines/ci_8815970 <-- sample | ||
| pmichaud | there's nothing there that indicates that southwest was bribing people | 00:22 | |
| davidfetter thinks it should be a felony to apply for a job in an industry you've regulated | 00:23 | ||
| and another to hire | |||
| we're talking class 1, general population, soap-on-a-rope felonies here, not country club | 00:24 | ||
| 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 | |
| the faa has a habit of viewing itself in partnership with the airlines (as the denverpost article you just mentioned says) | |||
| 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" | ||
| er, from faa* | |||
| faa acquired this habit pretty recently. they used to be (and should go back to being, imnsho) an adversarial relationship :P | 00:26 | ||
| 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:30 | |
| but back to my original q: I guess wednesday night return would be okay? | 00:31 | ||
| davidfetter | heh. sorry about that. | ||
| kid51 | Only drawback to that: You'd miss the Speaker's Party (assuming you're going to be a speaker). | ||
| pmichaud | oh yeah | 00:32 | |
| speaker's party would be worthwhile | |||
| okay, thursday. | |||
| purl | I never could get the hang of thursdays. | ||
| pmichaud | speaker's party was worthwhile in 2006, definitely | ||
| kid51 | Yes, chez jmcadams. But he's moved from there since then. | ||
| pmichaud | good fares on thursday, too :-) | 00:33 | |
| kid51 gotta go | |||
| purl | EXCUSE ME, I HAVE TO GO WASH MY COMPUTER | ||
| kid51 | purl goodnight | 00:34 | |
| purl | goodnight, sweet prince, may flights of angels sing thee to thy rest. now bugger off, kid51. | ||
| kid51 | What can I say after that? | ||
|
00:37
paula35 joined
|
|||
| dalek | r26793 | infinoid++ | trunk: | 01:35 | |
| : [include] Apply C++ correctness patch from Senaka Fernando in RT#52500. Senaka++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26793 | |||
| Infinoid | karma c | 01:39 | |
| purl | c has karma of 6833 | ||
| Infinoid | karma (c++) | ||
| purl | (c++) has karma of -2 | ||
| Infinoid | (c++)-- | ||
| dalek | r26794 | chromatic++ | trunk: | 01:45 | |
| : [Pheme] Ported from PAST-pm to PCT (Bernhard Schmalhofer, RT #52498). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26794 | |||
|
02:03
guru left
|
|||
| cotto_home | Infinoid: ping | 02:12 | |
| Infinoid | cotto_home: hi! | 02:13 | |
| cotto_home | t/codingstd/cppcomments.t reports itself as looking for cuddled elses instead of c++-style comments | 02:14 | |
| Infinoid | heh, oops. | ||
| thanks! | 02:16 | ||
| dalek | r26795 | infinoid++ | trunk: | ||
| : [codingstd] Oops. c_cppcomments.t should report itself as checking | |||
| : cppcomments, not cuddled elses. cotto++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26795 | |||
| cotto_home | thanks! | ||
|
02:20
particl1 joined
02:28
rdice joined
02:31
kid51 joined
|
|||
| Infinoid overhauls ops2c to calculate all the necessary values *before* printing anything, to make rearranging the output easier | 02:47 | ||
| kid51: are you available for some non-linux patch testing? | 02:56 | ||
| tetragon | Infinoid: I'm not kid51, but I'm also on darwin | 02:59 | |
| Infinoid | great! | 03:00 | |
| nopaste | "Infinoid" at 75.5.247.47 pasted "break ops2c completely" (132 lines) at nopaste.snit.ch/12628 | ||
| Infinoid | after applying that, please rm src/ops/*.c and rebuild and test | ||
| this gets me one step closer to building with g++, and doesn't seem to break gcc here | 03:01 | ||
| kid51 | Infinoid: Note that if you're overhauling ops2c.pl, you'll have to overhaul t/tools/ops2cutils/*.t as well. | 03:06 | |
|
03:06
anna30 joined
|
|||
| Infinoid | would be too easy otherwise... | 03:06 | |
| this is a first hack, but I still don't understand this code very well... think it can use some more love. | 03:07 | ||
| kid51 | If you think it's ugly now, you should have seen it before I got my hands on it. | 03:08 | |
| It was probably a 1000+ line script -- completely untested. | |||
| Infinoid | kid51++ | ||
| kid51 | In order to render it testable, I had to try to decompose it into reasonable subroutines. | ||
| 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. | ||
| 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 | |
| I will check out the tests, thanks | |||
| 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. | ||
| 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. | ||
| Infinoid | I might back up a step, because this does need some QA | ||
| I hate the thought of breaking platforms I don't have | 03:12 | ||
| 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:13 | |
| Infinoid | amazingly, t/tools/ops2cutils still passes. | 03:14 | |
| tetragon | So, any requests as to which test scripts to run first? | ||
| Infinoid | tetragon: I think if it built, I'm doing well | ||
| tetragon | So far I've only seen the usual crashes | ||
| And t/tools/ops2cutils still passes here | 03:15 | ||
| 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 | ||
| the code likes to manipulate values in $self within the print() functions, which made it hard to move things around | |||
| 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. | ||
| Infinoid | so far when I've found that kind of thing, I just moved it to the bottom of new() | ||
| 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 | ||
| I'll post it to RT, thanks | |||
| 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. | ||
| Infinoid | yeah, ops2c has obviously been an iterative development process :) | 03:19 | |
| kid51 | good night | ||
| purl | sleep well too | ||
| tetragon | Hrm, I'm getting two similar but vastly different stack traces for my t/stm/runtime.t test 4 crash | 03:21 | |
| When I have no error message before the crash, my logs give me traces for two threads | 03:22 | ||
| 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 | ||
| tetragon | I know | ||
| Infinoid | sounds racey | ||
| tetragon | And once in a blue moon, it doesn't crash | ||
| It just prints two error messages | |||
| (I'm not including Darwin's "Bus Error" in the error message count) | 03:24 | ||
| Infinoid | msg kid51 My ops2c patch is rt.perl.org/rt3/Ticket/Display.html?id=52506 | 03:30 | |
| purl | Message for kid51 stored. | ||
| Infinoid | hmm. | 03:52 | |
| src/builtin.c:145: error: declaration of 'int find_builtin(const char*)' throws different exceptions | |||
| src/builtin.c:100: error: from previous declaration 'int find_builtin(const char*) throw ()' | |||
| (there's nothing about throwing on line 100) | |||
| have I mentioned (c++)-- ? | |||
| dalek | r26796 | infinoid++ | trunk: | 04:07 | |
| : [gc] Fix 64-bit platform warning: | |||
| : src/gc/gc_ims.c:854: warning: cast to pointer from integer of different size | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26796 | |||
| r26797 | infinoid++ | trunk: | 04:12 | ||
| : [pmc] Fix warning: | |||
| : ./src/pmc/task.pmc: In function 'Parrot_Task_init_pmc': | |||
| : ./src/pmc/task.pmc:174: warning: assignment from incompatible pointer type | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26797 | |||
| r26798 | infinoid++ | trunk: | 04:17 | ||
| : [imcc] Fix warning: | |||
| : compilers/imcc/optimizer.c:1629: warning: 'is_ins_save' defined but not used | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26798 | |||
| r26799 | infinoid++ | trunk: | 04:19 | ||
| : [imcc] Fix warning: | |||
| : compilers/imcc/pbc.c:187: warning: 'old_blocks' declared 'static' but never defined | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26799 | |||
| Infinoid | ever since I was given this jar of blackberry jam, my bread intake has doubled. | 04:25 | |
| 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. | ||
| Infinoid | msg wknight8111 Should *not* be merged, rather. I'm up too late. | ||
| purl | Message for wknight8111 stored. | ||
| Infinoid | goodnight | ||
| purl | goodnight, sweet prince, may flights of angels sing thee to thy rest. now bugger off, Infinoid. | ||
|
04:52
Theory joined
05:14
jjore joined
|
|||
| cotto_home | goodnight | 05:39 | |
| purl | goodnight, sweet prince, may flights of angels sing thee to thy rest. now bugger off, cotto_home. | ||
| cotto_home | purl, forget goodnight | ||
| purl | cotto_home: I forgot goodnight | ||
| cotto_home | goodnight | ||
| dalek | r26800 | chromatic++ | trunk: | 05:52 | |
| : [src] Minor cleanups and reformattings. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26800 | |||
|
06:07
Senaka joined
|
|||
| Senaka | is Parrot_dod_clear_live_bits arena based or is it a total wipe-out? | 06:07 | |
|
06:32
Andy joined
|
|||
| Senaka | ping everybody | 06:47 | |
| purl | I can't find everybody in the DNS. | ||
| Senaka | hello everybody | ||
| purl | Hello Dr. Nick! | ||
| Senaka | is Parrot_dod_clear_live_bits arena based or is it a total wipe-out? | 06:48 | |
|
06:57
Senaka left
07:05
iblechbot joined
07:22
AndyA joined
07:48
Senaka joined
|
|||
| 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] | ||
| Senaka | seen Allison | ||
| 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] | ||
| Senaka | oops | ||
| seen Infinoid | 07:50 | ||
| purl | Infinoid was last seen on purl 3 hours and 4 minutes ago, saying: <private message> | ||
| 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? | ||
| Senaka | seen lathos | ||
| 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] | ||
| Senaka | seems that no one is arnd :( | ||
|
07:58
Senaka joined
08:05
Senaka left
08:54
iblechbot joined
|
|||
| dalek | r26801 | fperrad++ | trunk: | 09:07 | |
| : [readline] | |||
| : - fix configure on MinGW32 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26801 | |||
|
09:21
Senaka joined
|
|||
| Senaka | anyone knows about copy-on-write usage? | 09:22 | |
|
09:49
barney joined
|
|||
| dalek | r26802 | jonathan++ | trunk: | 09:56 | |
| : [core] Make Integer and Float PMCs handle somewhat better when subclassed by a high level object. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26802 | |||
|
10:04
AndyA joined
10:13
AndyA joined
10:40
Senaka left
|
|||
| dalek | r26803 | bernhard++ | trunk: | 10:45 | |
| : [coding_std] | |||
| : Satisfy c_operator.t | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26803 | |||
|
11:29
Senaka joined
|
|||
| dalek | r26804 | bernhard++ | trunk: | 11:55 | |
| : #50596: [PATCH][PCT] Add basic "tests" | |||
| : Apply patch from aparker42@gmail.com with some tweaks. | |||
| : 'svn move' t/compilers/past-pm/*.t' in order to preserve history. | |||
| : Load 'dumper.pbc' as 'Dumper.pbc' was not found. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26804 | |||
|
11:58
rdice joined
12:04
Senaka joined
|
|||
| Senaka | what is Parrot_dod_free_pmc for? | 12:05 | |
| have you got to explicitly say what to free? | |||
| barney | Senaka: Sorry, I never dug into GC | 12:20 | |
| dalek | r26805 | bernhard++ | trunk: | 12:32 | |
| : Give credit to Andrew Parker. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26805 | |||
|
12:42
kid51 joined
|
|||
| dalek | r26806 | infinoid++ | trunk: | 13:18 | |
| : [src] Apply C++ correctness patch from RT #52510. Senaka++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26806 | |||
| 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:20 | |
| Infinoid | ok. what's the goal? | 13:21 | |
| purl | the goal is to announce a boostrapped perl6 one way or another in YAPC::NA :) | ||
| kid51 | purl: I think we've already achieved that goal. | ||
| purl | kid51: sorry... | ||
| Infinoid | I'm happy to work on refacting ops2c further, but it helps me to know when to stop :) | 13:22 | |
| 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:23 | |
| 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 | ||
| 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 | ||
| kid51 | k | ||
| Infinoid | I guess my first step would be to document Ops2c::Utils, because I'm unlikely to understand the code otherwise. | 13:26 | |
| kid51 | Call: svn co svn.perl.org/parrot/branches/ops2c | 13:27 | |
| dalek | r26807 | jkeenan++ | ops2c: | ||
| : Creating ops2c in svn.perl.org/parrot/branches | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26807 | |||
| r26808 | jkeenan++ | ops2c-26806: | |||
| : Tagging trunk at r26806 so that the ops2c can later be synched to it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26808 | |||
| kid51 | Ah, this dalek bot fellow performs much better than svnbotl did in this usage. | 13:28 | |
| dalek++ | |||
| rotty | seen barney | ||
| purl | barney was last seen on #parrot 1 hour and 9 minutes ago, saying: Senaka: Sorry, I never dug into GC | ||
| Infinoid | exterminate all humans | 13:29 | |
| I think svnbotl ignored all changes to tags/, only reporting changes to trunk and branches | 13:31 | ||
| this one isn't so discerning. | |||
| 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:32 | |
| 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 | |||
| 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* | ||
| 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 | |
| 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. | |||
| Infinoid | I can see why you'd be so enthusiastic about refactoring it. | 13:42 | |
| dalek | r26809 | jkeenan++ | ops2c: | 13:46 | |
| : Applying Mark Gline's 20080405 patch in | |||
| : rt.perl.org/rt3/Ticket/Display.html?id=52506. Refactoring of several | |||
| : internal subs in Parrot::Ops2c::Utils. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26809 | |||
| Coke wakes up. | 13:57 | ||
| dalek | r26810 | jonathan++ | trunk: | 13:58 | |
| : [core] Make scalar PMC (and things inheriting from it) work better when inherited from by high level classes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26810 | |||
| r26811 | jonathan++ | trunk: | 14:01 | ||
| : [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. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26811 | |||
|
14:27
paco joined
14:33
Senaka joined
|
|||
| 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. | ||
| Senaka | seen Jonathan | ||
| purl | Jonathan was last seen on #parrot 21 hours and 16 minutes ago, saying: I thought the .c extension triggers this? | ||
| Senaka | jonathan: ping | ||
| infinoid: ping | |||
| I need to know few things regarding the GC. Is anyone around? | 14:35 | ||
| dalek | r26812 | pmichaud++ | trunk: | 14:37 | |
| : [rakudo]: | |||
| : * Fix 3e4 parsing bug (RT#49910). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26812 | |||
| jonathan | Senaka: hi | 14:38 | |
| Senaka | hi | ||
| jonathan | What do you need to know? I'll answer if I can... | ||
| Senaka | k thanks | ||
| 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:39 | ||
| 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 | ||
| jonathan | Allocations are out of arenas. | ||
| 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? | ||
| Infinoid | maybe the GC works that out after the fact, during the next sweep | 14:42 | |
| jonathan | Right. | ||
| It goes through the arenas that are allocated. | |||
| Senaka | you mean the allocation? | ||
| jonathan | No, the GC. | ||
| Senaka | yes | ||
| jonathan | The allocation is done out of these arenas. | ||
| Senaka | :) | ||
| Infinoid | the GC discovers the allocation after it's already happened | ||
| Senaka | I meant the discovery rather | ||
| ok but is this inline with normal GC operations? | 14:43 | ||
| ex:- say I allocate large chunks so rapidly | |||
| and free them almost instantly | |||
| Infinoid | so, the "sweep" phase discovers a lot of newly allocated blocks | ||
| or doesn't :) | |||
| Senaka | sweep isn't called that often isn't it? | ||
| and the GC being stop-the-world I don't think so | 14:44 | ||
| Infinoid | or the mark phase | ||
| Senaka | am I missing something here? | ||
| jonathan | sweep is called either explicitly from the bytecode using the sweep instruction, or on an allocation when all arenas are full. | ||
| Infinoid still learning the terminology | |||
| Senaka | "or on an allocation when all arenas are full." | ||
| where is the code that figures this out? | |||
| grepping didn't get me any clue... :( | 14:45 | ||
| jonathan | src/gc/memory.c I think | ||
| oh no, not there | |||
| src/gc/smallobject.c | 14:46 | ||
| That one. | |||
| Senaka | cool | ||
| found it | |||
| what's get free object doing? do you reuse dead PMCs? | 14:47 | ||
| hmm seems... | |||
| purl | seems? I know not seems. | ||
| 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? | ||
| Senaka | malloc can be wrapped right? | 14:49 | |
| jonathan | The GC only cares about objects allocated out of its memory pools. | ||
| Infinoid | stuff allocated outside the arenas can fend for itself | ||
| jonathan | Right. | ||
| Senaka | yes that's legal | ||
| new question | 14:50 | ||
| where would such objects lie? | |||
| Infinoid | you're asking where PObjs are stored? | ||
| Senaka | Infinoid: stuff allocated outside the arenas can fend for itself | ||
| 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 | ||
| Senaka | I see | ||
| jonathan | The areans hang off struct Arenas *arena_base; in Parrot_Interp structure (interpreter.h) | ||
| 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 | ||
| Senaka | so ok... Now since allocations are handled by Arenas the GC will have to rather seek locations of such allocations | ||
| perhaps scan a list | |||
| on Harmony, the allocation would happen through the GC rather | 14:53 | ||
| so will have to work on some wrapper perhaps | |||
| or are their some callbacks etc.? | |||
| Infinoid | Senaka: Harmony can service the calls parrot makes into smallobject.c, right? | 14:54 | |
| you wrap those, I mean | |||
| are you talking about object allocation, or arena allocation? | |||
| Senaka | object | ||
| 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 | |
| right? | |||
| 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 | |
| (and having a mapping table of values to PDDs would take extra space, defeating the purpose of a trie) | |||
| Infinoid | PDDs? PMCs? | ||
| diakopter | kid51: you around? | ||
| kid51 | Yes | 14:58 | |
| Senaka | newly allocated buffer ... chunk of memory rather | ||
| skids | Infiniod: right, sorry, still learning to squawk right. :-) | ||
| 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 | ||
| Senaka | hmm buffer is inside PMC ain't it? | ||
| 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. | ||
| Senaka | that's what I was thinking | ||
| 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 | ||
| the other used for buffers (including strings). The core difference is that | |||
| buffers cannot contain other buffers, so incremental marking is unnecessary." | |||
| Senaka | diakopter: that's one good box | 15:01 | |
| kid51 | It' | ||
| Senaka | skids: yes it says so | ||
| Infinoid | that makes sense. there's some confusion over the definition of "buffer" | ||
| PMCs are PObjs | |||
| kid51 | It's been rather dormant. But I have to eat breakfast now, so let me get back to you in a while. | ||
| Senaka | buffer is like any free space? | ||
| Infinoid | your "trie" data structure is a PMC, which points to other PMCs | ||
| data buffers (strings and so forth) are allocated from a different pool, I guess | 15:02 | ||
| Senaka | yes | ||
| two arenas | |||
| pdd09 | |||
| says so | |||
| 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:03 | |
| diakopter begins creating oodles of VMs. | 15:04 | ||
| Senaka | ok, now there's another concept of movability of buffers | ||
| so I believe that a buffer == raw chunk of memory | 15:05 | ||
| isn't it? | |||
| 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) | ||
| 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:06 | |
| 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. | ||
| Senaka | so I think I got it right here | ||
| Infinoid | ok :) | ||
| Senaka | so well that seems sorted and perhaps might be too early to decide on what could be done | 15:08 | |
| what could be done further | |||
| what needs some attention is how the GC discovers the allocation? | 15:10 | ||
| Infinoid | isn't that what the whole mark & sweep thing does? | 15:12 | |
| Senaka | hmm... well ok | ||
| let me put it like this | 15:13 | ||
| 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 | |||
| how does Parrot do that? | |||
| smallobject.c doesn't say much on this fact | 15:15 | ||
| 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:16 | |
| Senaka | like, isn't it required that the GC running in some situations where there is no contiguous blocks of memory | 15:17 | |
| at least in the arenas for buffers | |||
| Infinoid | sure, so it allocates a new arena and adds it to the list | ||
| Senaka | new arena? | 15:18 | |
| I think you didn't get me | |||
| 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 | ||
| 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 | ||
| well in the case of PMCs yes | |||
| in the case of buffers not always | |||
| 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 | ||
| I don't think we do that at the moment. | |||
| Senaka | aha | 15:22 | |
| that's what I was searching I guess | |||
| :) | |||
| diakopter | on which OSes/architectures do folks want to see parrot smoked nightly | ||
| 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 | ||
| next issue is regarding Copy-on-write | 15:24 | ||
| Harmony doesn't support this | |||
| is COW mandatory? | |||
| Infinoid | COW is a memory optimization. you could just copy immediately, at the expense of extra memory usage | 15:25 | |
| and extra processing overhead | |||
| 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:26 | ||
| Senaka | ok | 15:27 | |
| so perhaps it is not a key requirement isn't it? | |||
| Infinoid | it is not mandatory | 15:28 | |
| its just a nice hack, where it's available. | |||
| Senaka | k cool | ||
| 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 | ||
| Senaka | hmm | 15:30 | |
|
15:32
jan joined,
tetragon joined
|
|||
| Senaka | Parrot_dod_trace_roots will mark all live objects isn't it? | 15:35 | |
| Infinoid | looks like it | 15:36 | |
| trace_system_areas() is interesting, traces the current thread's stack | 15:37 | ||
| Senaka | that's thread stack enumeration | ||
| :) | |||
| Infinoid | ./breakfast & | 15:39 | |
| Senaka | ok | 15:40 | |
| any thoughts on pinning objects? | 15:49 | ||
| kid51 | diakopter: Broadly speaking, there are two big problems with our smoke testing: | 15:54 | |
| * Limited scope of platform/OS/C-compiler combinations from which smokes are being submitted. | |||
| * Badly designed software which refuses to accept valid smoke reports but does allow people to post raw HTML directly to our servers. | |||
| Obtaining a big server with plenty of VMs helps with the first problem, but not necessarily the second. | |||
| I started to refactor the various components: | |||
| * t/harness | |||
| * lib/Parrot/Harness/Smoke.pm | |||
| * tools/util/smokeserv-client.pl | |||
| * tools/util/smokeserv-server.pl | |||
| But ran into several obstacles: | |||
| * 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. | |||
| * Trying out changes in our smoke setup requires coordination with perl.org webmasters, which, understandably, cannot be a high priority on their schedules. | |||
| * Coke wanted us to consider Smolder, Tinderbox, etc. The latter did not seem appropriate for our needs; the former is poorly documented. | |||
| My hope was to refactor the 4 files above so that I could run a test smoke server on my own server and then: | |||
| * 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). | |||
| * Use this set up for fine-tuning and debugging. | |||
| And that's where things have stood since Jan 23. | |||
| .eor | |||
| Infinoid | Senaka: apparently not | 16:02 | |
| Senaka | Ok | 16:04 | |
| and is it possible to force GC? | |||
| yes I think | 16:05 | ||
| since the interface is exposed | |||
| Infinoid | yeah, there's a pasm op for that | 16:06 | |
| t/op/gc.t tests it | |||
| Senaka | what the op? | ||
| purl | it has been said that the op is an opcode structure. It's the thing that perl -Dx prints | ||
| pmichaud | collect | ||
| svn.perl.org/parrot/trunk/docs/ops/core.pod | 16:07 | ||
| Infinoid | purl, forget the op | ||
| purl | Infinoid: I forgot op | ||
| pmichaud | oops, nm -- that one isn't in the repo | ||
| Senaka | :) | ||
| yeah 404 | |||
| pmichaud | svn.perl.org/parrot/trunk/src/ops/core.ops | 16:08 | |
| look for <collect> | |||
| Senaka | found it on the machine | ||
| svn.perl.org/parrot/trunk/docs/ops/core.pod | |||
| srry | |||
| /usr/local/share/doc/parrot/docs/ops/core.pod | |||
| pmichaud | right... docs/ops/core.pod gets generated from src/ops/core.ops | ||
| afk, lunch | |||
| Senaka | got it Parrot_go_collect | 16:11 | |
| in parrot/resources | |||
| also, can you time the GC operations? | 16:12 | ||
|
16:12
Limbic_Region joined
|
|||
| 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:15 | |
|
16:16
iblechbot joined
|
|||
| 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:18 | |
| Would Smolder both run the smoke tests and display the results? | 16:19 | ||
| Or would it simply receive reports generated by average Parrot users and display them? | 16:20 | ||
| Or some combination of the two? | |||
| diakopter looks at buildbot.eigenstate.net:8040/ | 16:21 | ||
| I guess there is www.perlfoundation.org/parrot/index.cgi?buildbot | 16:24 | ||
| does anyone know anything about that? | |||
| kid51 | This page is mostly my musings: www.perlfoundation.org/parrot/index...ke_reports | 16:26 | |
| shorten | kid51's url is at xrl.us/biy53 | ||
| kid51 | www.perlfoundation.org/parrot/index.cgi?buildbot is Matisse Enzer's description of that which you were looking at at eigenstate.net | 16:27 | |
| Both pages were last updated in January of this year. | |||
| 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:30 | |
| dalek | r26813 | jonathan++ | trunk: | 16:34 | |
| : [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 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26813 | |||
| 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. | ||
| 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. | |||
| 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 | ||
|
16:41
Senaka left
|
|||
| kid51 | Some people get consistently smooth builds on Windows; others experience horrible failures. But we don't have enough data to spot patterns. | 16:41 | |
| It would be good to add a "diakopter's battle plan" section to xrl.us/biy53 | 16:43 | ||
| Infinoid | wow, Ops2c::Utils->_reset_line_number() is silly. a simple seek(0, 0) would work much more nicely. | 16:44 | |
| 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 | |
| But in a branch, you can break as much as you want ;-) | |||
| Infinoid | \\o/ | 16:46 | |
| Infinoid goes for the high score | |||
| dalek | r26814 | infinoid++ | ops2c: | 16:47 | |
| : [ops2c] Stage 1 of cleaning up the silly file handling: | |||
| : * single function to write a C source file, just calls the top/bottom functions | |||
| : for now. | |||
| : Next step is to fix the handling of $SOURCE, and to use seek() instead of | |||
| : reopening it. Or just use $SOURCE->input_line_number() instead of counting | |||
| : them manually. *gasp* | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26814 | |||
| r26815 | infinoid++ | ops2c: | 16:51 | ||
| : [ops2c]: | |||
| : * name it print_c_source_file() to be consistent with print_c_header_file name. | |||
| : * make print_c_source_file responsible for opening the file, then pass that to | |||
| : the child functions. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26815 | |||
| Coke | diakopter: all of them? | ||
| diakopter | Coke: sure, why not? | ||
| Coke | diakopter: seriously, though, we seem to have linux and darwin covered. something solaris x86 would be awesome. | ||
| diakopter | Coke: ok | 16:52 | |
| Coke: oh, i see your joke | |||
| I've used SunOS... does that count | |||
| 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. | ||
| (just because many of developers use that and catch stuff sooner than later.) | |||
| Infinoid | this is prep to fix _reset_line_number(), which I should have done in a few minutes | ||
| Coke | diakopter: yup. | ||
| dalek | r26816 | infinoid++ | ops2c: | 16:54 | |
| : [ops2c] It helps when I use the correct syntax for IO::File. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26816 | |||
| diakopter | amd64-linux-x86_64 is updated infrequently | ||
| nopaste | "kid51" at 70.107.12.156 pasted "Failures in 'make buildtools_tests' at r26815" (31 lines) at nopaste.snit.ch/12631 | ||
| kid51 | Coke: agreed re platforms | 16:56 | |
| Infinoid | there needs to be more google hits for "Parrot polishing" | 16:57 | |
| I just told a friend that's what I was doing today, and think I gave him the wrong idea. | 16:59 | ||
|
17:02
askie joined
|
|||
| Infinoid | ok. I'll have to fix up the test suite from the API changes I just made | 17:04 | |
| dalek | r26817 | infinoid++ | ops2c: | 17:05 | |
| : [ops2c] There, _reset_line_number() no longer reopens anything. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26817 | |||
| diakopter downloads solaris 10 isos | |||
| dalek | r26818 | infinoid++ | ops2c: | 17:08 | |
| : [ops2c] Fix and clarify the SYNOPSIS a bit. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26818 | |||
|
17:11
braceta joined
|
|||
| dalek | r26819 | infinoid++ | ops2c: | 17:13 | |
| : [ops2c] Fix POD to pass t/doc/pod.t. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26819 | |||
|
17:17
ruoso joined
|
|||
| dalek | r26820 | infinoid++ | ops2c: | 17:23 | |
| : [ops2c]: | |||
| : * Move the final rename() into print_c_source_file(). Child subroutines should | |||
| : only be concerned with printing. | |||
| : * Add a test for print_c_source_file(), based on 03-print_c_header_file.t. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26820 | |||
|
17:23
grim_fandango joined
|
|||
| dalek | r26821 | infinoid++ | ops2c: | 17:25 | |
| : [ops2c] update MANIFEST and metadata | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26821 | |||
| kid51 | 4 tests still failing as of 26821 | 17:28 | |
| diakopter | kid51: any other platforms besides solaris? | 17:29 | |
| kid51 | Well, why not ask for the moon and the stars! | ||
| OpenBSD, NetBSD | |||
| AIX | |||
| Infinoid | kid51: fixing up t/tools/ops2cutils/ right now | 17:30 | |
| 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? | ||
| Infinoid | check if the chsh command exists. | ||
| if it does, use that. | |||
| kid51 | Infinoid: We were getting regular smoke reports on Dragonfly; good ones too. | ||
| Infinoid | great. I had to patch some stuff in config/ to even get it to build | 17:32 | |
| but that was a while ago. | 17:33 | ||
| diakopter wonders if AIX is available | 17:34 | ||
|
17:35
Senaka joined
|
|||
| kid51 | Infinoid: Unfortunately, no 'chsh' or similar commands on this Solaris box. | 17:35 | |
| Would setting up a .profile file work? | |||
| Infinoid | to make ksh execute bash? probably | 17:36 | |
| 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 | ||
|
17:37
braceta left
|
|||
| Infinoid | have a second shell open just in case | 17:37 | |
| Senaka | u mean bash on solaris? | ||
| kid51 | Yes. | ||
| Senaka | or any other shell? | ||
| kid51 | I specifically want bash on solaris. | ||
| Senaka | u can right? i mean just change the shell | ||
| Infinoid | that's what he was asking. | 17:38 | |
| Senaka | let me see if I can locate some solaris folks | ||
| 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? | ||
| :( | |||
| Infinoid | correct, no chsh | ||
| kid51 | I have to leave now, so if anyone has a suggestion they can msg me in purl. | ||
| Senaka | /etc/shells? | 17:40 | |
| Infinoid | seeya, kid51 | ||
| Senaka | ok will tell purl | ||
| c ya | |||
| www.unixguide.net/unix/bash/A7.shtml | 17:41 | ||
| perhaps | 17:42 | ||
| Infinoid: how do you tell purl to keep this msg? | |||
| Infinoid | msg <name> <line of text> | 17:43 | |
| purl | Sorry, I've never seen <name> before. | ||
| dalek | r26822 | jonathan++ | trunk: | 17:44 | |
| : [rakudo] Re-work constraint types so we can use them in declarations (e.g. my EvenInt $x). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26822 | |||
| Senaka | msg kid51 www.unixguide.net/unix/bash/A7.shtml | ||
| purl | Message for kid51 stored. | ||
| dalek | r26823 | infinoid++ | ops2c: | 17:49 | |
| : [ops2c] move the $file->close() to the toplevel print_c_source_file() function. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26823 | |||
| r26824 | infinoid++ | ops2c: | |||
| : [ops2c]: | |||
| : Adapt 04-print_c_source_top.t and 05-print_c_source_bottom.t to the new API. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26824 | |||
| r26825 | allison++ | trunk: | 18:03 | ||
| : [manifest] Deleting file that doesn't exist from manifest. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26825 | |||
| r26826 | infinoid++ | ops2c: | 18:16 | ||
| : [ops2c]: Adapt the rest of t/tools/ops2cutils/ to my API changes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26826 | |||
| Senaka | why does src/jit_emit.h have source in it? | ||
| take a look at 1720+ | 18:17 | ||
| aha JIT | 18:18 | ||
| ok ok | |||
| implicit function pointer casts are seen in src/jit_emit.h | 18:20 | ||
| these won't compile in C++ | 18:21 | ||
| also | |||
| a function pointer casted to void * AFAIK on a 64bit PPC is going to have its address truncated | |||
| 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 | ||
| Senaka | and void * is a data pointer | ||
| Infinoid | so we get warnings about casting int to (void*), which are fixed by using long instead of int | 18:23 | |
| Senaka | long void? | ||
| oh oh ok | |||
| ok long to void * is valid | |||
| Infinoid | is anyone here who tests on ppc64? :) | 18:24 | |
| Senaka | even int to void * is valid | ||
| yes that should fail | |||
| Infinoid | int to void * is not portable, it causes warnings on amd64. so don't do that. | ||
| purl, int to void *? | |||
| Senaka | gcc is silent about this warning but windows throws it | ||
| purl | i think int to void * is not portable, it causes warnings on amd64. so don't do that. | ||
| Infinoid pats purl on the head | |||
| purl purrs | |||
| Infinoid | gcc warns about it here | 18:25 | |
| Senaka | ok | ||
| logically it is correct | |||
| did u (void *)int_type? | |||
| and fail? | |||
| purl | void abort(void); | ||
| Senaka | purl, forget void abort(void); | ||
| purl | Senaka, I didn't have anything matching void abort(void); | ||
| Infinoid | heh | ||
| Senaka | wierd | 18:26 | |
| ok | |||
| Infinoid | his definition of "fail" is good, I think | ||
| www.parrotvm.org/svn/parrot/revision?rev=26796 | |||
| Senaka | thanks | ||
| 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 | ||
| Infinoid | s/check/check_only/ | ||
| Senaka | ok | 18:28 | |
| Senaka wonders what 128bit would look like | |||
|
18:28
guru joined
|
|||
| Infinoid | ipv6 routing would be *fast*. | 18:28 | |
| Senaka thinks new C standard | 18:29 | ||
| Infinoid | they'd probably invent something ridiculous like "long long long" for 128 bit ints | ||
| Senaka | there is a long long /// int | ||
| hehe | |||
| you can do things like that | |||
| Infinoid | but personally, I'd be happy if they just called it uint128_t and left everything else alone | ||
| no need to break things even worse. | 18:30 | ||
| Senaka | that'd be super cool | ||
| Infinoid | Toshiba's got a 128-bit MIPS processor | ||
| Senaka | ok regarding the fn pointer -> data pointer issue | ||
| oh cool | |||
| Senaka thinks intel would be thinking of a 128bit even nw | 18:31 | ||
| Senaka thinks AMD might already have one | |||
| Infinoid | Intel's too busy thinking up new 3 letter acronyms, I think | ||
| 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 | ||
| davidfetter | that's only a 15-bit address space | ||
| (TLAs) | |||
| Infinoid | true | ||
| Senaka | hehe | ||
| Senaka wonders about temperature control | 18:33 | ||
| Infinoid | that's the new "BBQ" feature | ||
| instead of trying to keep it cool, they've added a grill so you can cook things on it | |||
| Senaka | ok well, speaking about the ppc64 it is something popular | ||
| davidfetter | does that go with OMG and WTF? | ||
| Senaka | and that's an undefined behaviour in the C99 standard | 18:34 | |
| Infinoid | Intel's Proprietary WTF Technology Preview | ||
| Senaka | :) | ||
| Infinoid | will feature in the new Intel Pentium(c)(r) Quad Nifty Ćber Spiffy Pro Core Pro Pro Hypercube Deux(tm)(omg) | ||
| Senaka wondering whether the PC will replace the grill | 18:35 | ||
|
18:35
Ademan joined
|
|||
| Infinoid | why not? P4 chips are already rated up to 100 watts | 18:35 | |
| 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 | ||
| ...but noone does that. Except ppc64, apparently. | 18:37 | ||
| Senaka wondering where I saw this ppc64 issue | 18:43 | ||
| Infinoid | here's a good way to rate how annoying and complicated each platform is: | 18:48 | |
| du -sb /usr/src/linux/arch/*/kernel/module*.c | sort -n | |||
| top 5: IA64, PA-RISC (same thing as IA64, I thought), PPC64, S/390, and Blackfin. | |||
| (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.) | 18:49 | ||
| Senaka Rethinking about the PPC64 issue | 19:10 | ||
| developer.apple.com/documentation/D...ion_2.html | |||
| seems helpful | |||
| shorten | Senaka's url is at xrl.us/bizau | ||
| 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
|
|||
| Infinoid | that soooo isn't dalek's fault. :) | 19:57 | |
|
20:02
dalek joined
20:03
svnbotl joined,
Juerd joined
|
|||
| Infinoid | diakopter: I sent svnbotl a SIGSTOP, but maybe you want to remove it from supervise? | 20:07 | |
|
20:09
wolverian joined
|
|||
| Infinoid | I'm quite happy with dalek's performance thus far. | 20:14 | |
| dalek: *hug* | |||
|
20:18
pmichaud joined
20:20
pmichaud joined
|
|||
| Juerd | Hi. If anyone knows which process on feather used all available memory (and swap), please let me know. | 20:25 | |
|
20:27
AndyA joined
20:34
Stephen joined
20:36
LimbicRegion joined
21:05
Theory joined
21:09
lichtkind joined
|
|||
| lichtkind | pmurias: everything went fine did hit deadline last second, like in american movies | 21:10 | |
|
21:10
Stephen left
|
|||
| lichtkind | pmichaud: everything went fine did hit deadline last second, like in american movies | 21:11 | |
|
21:39
jonathan joined
21:49
leo joined
22:37
AndyA joined
|
|||
| Coke skips review. | 22:45 | ||
| particl1: you in? | 22:51 | ||
| we need to follow up on eric's question regarding mentors. | |||
| diakopter | kid51: I added amd64-linux-cc and amd64-linux-gcc VMs to smoke automatically. Still working on x86 Solaris. :/ | 22:54 | |
|
23:01
wknight8111 joined
|
|||
| dalek | r26828 | jonathan++ | trunk: | 23:06 | |
| : [rakudo] Add type-checking of parameters to subroutines and methods. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26828 | |||
| diakopter | Coke: freebsd and netbsd next? x86 or amd64? | 23:07 | |
| jonathan | We can haz type checking. | ||
| diakopter | Infinoid: I d[r]owned svnbotl in supervise (now) | 23:10 | |
| Juerd: no, I don't know. I'll keep an eye on botnix in case its memory usage spirals | 23:11 | ||
| Juerd | diakopter: Oh, but it might be a better idea to just impose a memory limit | 23:12 | |
| diakopter: man ulimit | |||
| diakopter | msg kid51 should I have the autosmokers make clean before svn update, or vice versa? | 23:14 | |
| purl | Message for kid51 stored. | ||
| Infinoid | make realclean before svn update | 23:17 | |
| diakopter | Infinoid: thanks, ok | 23:21 | |
| Infinoid | make realclean; svn update; perl Configure.pl; make smoke | 23:22 | |
| 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:23 | |
| Infinoid | there's a "make languages-smoke" in the toplevel directory | 23:24 | |
| diakopter | ah | ||
| wknight8111 | I had friends who used to talk about smoking branches nightly | 23:26 | |
| Infinoid | used to? | ||
| wknight8111 | Thats a bad drug-using joke | 23:27 | |
| anyway, how do you answer messages from purl? | |||
| Infinoid | msg <nick> <message> | ||
| purl | Sorry, I've never seen <nick> before. | ||
| wknight8111 | no, i have messages waiting, how do I read them? | 23:28 | |
| Infinoid | purl, messages? | ||
| purl | messages are almost working. | ||
| Infinoid | that's helpful. | ||
| wknight8111 | and reassuring | ||
| Infinoid | msg Infinoid hey purl, tell me how to access messages | ||
| purl | Message for infinoid stored. | ||
| Infinoid | purl, ping | ||
| purl | Infinoid: excuse me? | ||
| Infinoid | [16:28] <purl> You have 1 message waiting. | ||
| [16:28] <Infinoid> messages | |||
| [16:28] <purl> You received the following messages: | |||
| [16:28] <purl> Infinoid [Sun Apr 6 16:28:29 2008] said: hey purl, tell me how to access messages | |||
| wknight8111 | okay, i got them. thanks | 23:29 | |
| Infinoid | guess that was it | ||
| wknight8111 | always deceptively easy | ||
| Infinoid | purl, messages? | ||
| purl | messages are almost working. | ||
| Infinoid | no, messages is <Reply>To access your messages, msg me with the word "messages". | 23:30 | |
| purl, messages? | |||
| purl | To access purl's messages, msg me with the word "messages". | ||
| Infinoid pats purl | |||
| purl | don't mess with me | ||
| Infinoid messes with purl | |||
| diakopter | [around] with | 23:33 | |
| Infinoid splashes in puddles with purl! | |||
| diakopter | make languages-smoke takes a while. | 23:34 | |
| Infinoid | oh yeah, it takes forever | ||
| diakopter anticipates a higher power bill | 23:35 | ||
|
23:38
contingencyplan joined
|
|||
| Juerd | diakopter: Try setting up a datacentre. We thought we know what to expect, re power bill. | 23:43 | |
| 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:44 | ||
| Infinoid | out of curiosity, what was the ratio of wall-power to server-power? | 23:47 | |
| (how efficient are UPS's?) | |||
|
23:51
guru joined
23:59
braceta joined
|
|||