Parrot 0.8.2 "Feliz Loro" Released www.parrot.org/news/2008/Parrot-0.8.2
Set by moderator on 23 December 2008.
00:03 kid51 joined 00:09 AndyA joined
kid51 Does anyone know how to 'take', 'steal' or 'assign' a ticket in Trac? 00:12
00:16 MariachiElf joined
kid51 Everything I see on this page, trac.parrot.org/parrot/wiki/TracTickets, seems to indicate that you need trac-admin privileges to take/assign/steal a ticket -- vastly more restrictive than RT. 00:18
... which means that if I want to assume responsibility for a ticket, I can't. 00:19
Tell me again why we moved to this system and away from RT ? :-/ 00:20
dalek r34905 | jkeenan++ | trunk (12 files): 00:23
: Change directory compilers/pirc/new/ to compilers/pirc/src, and edit
: references to this directory in other files. Cf.:
: trac.parrot.org/parrot/ticket/70.
review: www.parrotvm.org/svn/parrot/revision?rev=34905
00:23 tetragon joined
Infinoid kid51: no idea. I'm still getting used to it, too. 00:26
that particular wrinkle is definitely a problem. Stealing tickets was a great feature of RT, and it's something I encourage wholeheartedly. Go right ahead, steal my tickets, fix my bugs. Please? 00:27
kid51 For example, if TT 70 had been filed in RT, at this point I would have stolen the ticket, as I'm in effect taking over responsibility for it from kjs.
IIRC, I assigned *you* a ticket once upon a time.
Infinoid and I probably still have it... *hangs head in shame* 00:28
kid51 I think it was the first ticket I ever actually assigned to someone else.
What a powerful thrill that was!
Infinoid heh. It's a useful feature! we use RT at work, and use that feature all the time for queue triaging. 00:29
TiMBuS it would be a lot better if rt had a web interface for posting bugs/comments 00:30
Infinoid ... doesn't it?
TiMBuS i dont think so
it was mailing list or email only i think 00:31
lathos It has an RT.
(Of course.)
kid51 TiMBuS: I'm not sure whether that was an inherent defect of our RT ... or merely the fact that we had/have it configured only to accept new tickets via parrotbug@parrotcode.org.
Infinoid hmm. for creating new tickets, maybe. but posting comments is something I do all the time through the web
yeah, it's specific to perl.org RT
TiMBuS i see 00:32
Infinoid cpan.org RT has a "new ticket in [type queue name here]" in the upper right, and a button
lathos Oh, ISWYM. Yeah, RT can (very easily) be configured to cdo everything via the web. 00:33
kid51 I preferred/prefer to do my ticket-related work thru RT's GUI -- because I'm frequently resolving tickets, adding tags, adding links, etc., at the same time as I'm making comments.
Infinoid the RT we use at work has a similar system, with a dropdown box.
I've never tried the RT GUI. I've been drooling over the idea of having eclipse integration with RT tho
kid51 Infinoid: Yes, I've filed tickets thru rt.cpan.org many times -- and had many tickets filed on my CPAN stuff that way!
TiMBuS i didnt even know it had a gui
lathos It has a web GUI. 00:34
TiMBuS oh
Infinoid doesn't it have a CLI too?
lathos Yep.
Infinoid nice.
lathos In fact, if we're being pedantic, the email interface is actually implemented via the web GUI too.
Infinoid wonder if trac can do that. 00:35
I did notice trac is sending emails now, which is nice
kid51 Speaking of CLIs: Do any of our pastebots have CLIs? I'm getting tired of always having to use the dropdowns to insert my nick and my channel at nopaste.snit.ch.
I'd like to script it.
chromatic I think there's a nopaste CPAN module. 00:36
Infinoid ./tools/dev/nopaste.pl
...something I need to remember to use more often. 00:37
kid51 installs WWW::Mechanize so he can use that script. 00:41
Installing WWW::Mechanize is going to force me to upgrade a lot of CPAN modules. 00:42
... URI, Test::Warn, LWP::UserAgent, etc. 00:43
Damn: 'make test' failures in WWW::Mechanize! 00:45
In the cpan shell, what's the command to force installation of a module? 00:46
00:50 tetragon joined 00:53 raiph_ joined
nopaste "kid51" at 70.85.31.226 pasted "Test of nopaste.pl" (1 line) at nopaste.snit.ch/15170 00:56
00:58 ayrnieu joined 01:18 Limbic_Region joined 01:21 register joined 01:29 jimmy joined
Coke kid51: looks like you got it, but I can't remember if it's force install foo or not. 01:29
jimmy Infinoid: ping 01:30
kid51 I couldn't remember either. I exited the shell, then 'perldoc cpan'. Which said from CLI: cpan -fi WWW::Mechanize 01:32
Andy has some tests that are failing because the links they are testing no longer exist in same form/quantity. 01:33
So, apropos earlier discussion, I got to use rt.cpan.org GUI interface ;-)
Coke heh 01:37
kid51 But if I can't take/assign/steal/close Trac tickets, then my productivity is limited. 01:43
Coke what's your trac id?
kid51 jkeenan -- But the point is, that this presumably affects all our committers.
Coke bugadmin privs on rt were separate too. 01:44
moment.
when I recreated you, I didn't put you back in the 'developer' group. try now?
kid51 But from what I was able to find on Trac man pages, 'admin' privs here are much more encompassig than on RT.
Coke admin ne bug admin. 01:45
admin is like root; we have a custom 'developer' role that includes ticket admin
kid51 Hrm: How many of our committers know about that role?
Coke they can't add it themselves; does it matter? 01:46
chromatic More importantly: How many of the people who download Parrot, try it out, and find a bug know about that role?
Coke they don't need it.
chromatic As far as I understand, they need an account to report a bug.
Coke yes. they don't need 'developer' role to do that.
kid51 They may not need it to file a bug report, but to do anything else *we* need to know that that special role exists. I did not. 01:47
Coke <shrug> I'm not the trac evangelist.
chromatic Given the hoops I had to jump through to get a working Trac account, I'm not convinced that a random drive-by bug reporter doesn't have to know anything. 01:48
dalek r34906 | pmichaud++ | trunk:
: [DEPRECATED/p6object] Mark changed behavior of P6protoobject stringification.
review: www.parrotvm.org/svn/parrot/revision?rev=34906
Coke I'm just along for the ride here. 01:49
chromatic Someone ought to fix the system though.
Coke chromatic: you should probably have 'admin' privs.
is your account 'chromatic' ?
chromatic Yes. 01:50
Do those privileges come with the ability to hit a button and Make Trac Stop Sucking?
Coke chromatic: I haven't seen that button.
Infinoid jimmy: yo
chromatic Or at least let me record a message "Your bug report is important to us. Please stay on the line. The average wait time is ____ minutes. Your bug report is important to us."
Coke let's hire the asterisk lady. 01:51
(I need to dig out my copy of her saying my name wrong. :|
Infinoid I think the button is labeled "apt-get install rt3.4-apache2"
jimmy Infinoid: happy change static function to marco 01:52
Coke I wonder if someone who knew what they were doing could install kcachegrind on feather.
anyone here have install privs on feather?
jimmy nopaste?
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
Infinoid I do, but I've only used kcachegrind twice
chromatic Coke, you'd need X.org installed, along with SSH X forwarding enabled.
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others)
Infinoid yeah, installing a kde app would pull in a ton of dependencies
nopaste "jimmy" at 121.34.37.142 pasted "patch for Infinoid" (21 lines) at nopaste.snit.ch/15172 01:53
kid51 Is there a GUI interface to feather? I've only ever used the CLI.
jimmy With this patch, It look better.
looks
Infinoid jimmy: the (void) before 0 won't work. otherwise, it isn't such a bad idea
erk. no, it'll cause "ISO C90 prohibits mixing declarations and code" warnings 01:54
jimmy and why PARROT_ASSERT not ?
Infinoid jimmy: because we aren't trying to assign PARROT_ASSERT to anything.
that's the difference, it needs to be a numeric rvalue
jimmy ok, we shoulddefine ASSERT_ARGS(a) ((void)0) ifdef NDEBUG 01:55
that is my point.
kid51 Coke++ I see that the view u get of a particular TT ticket page changes once you've been promoted to 'developer'. 01:56
Infinoid jimmy: have you tried building that with -DNDEBUG? 01:57
if you are sure it won't generate any warnings, I'll look at applying it
kid51 Another thing we don't appear to have in Trac that we had in RT: On a page like this, trac.parrot.org/parrot/query, we had a Last Modified column.
jimmy not yet 01:58
purl well volunteered!
Infinoid jimmy++
kid51 A Cage Cleaner likes to be able to rank-order tickets based on when they were last touched.
jimmy why ++? :(
Infinoid jimmy: because I am hoping you will try it and it will work :)
jimmy ok 01:59
use perl Configure.pl --debugging=0? 02:00
Infinoid perl Configure.pl --cflags=-DNDEBUG 02:01
02:02 gmansi_ joined
jimmy Invalid option "cflags". 02:03
maybe ccflags 02:04
Infinoid ah, yes
Infinoid makes that mistake every time.
jimmy ;( 02:07
I think I hate ISO C90. 02:08
Infinoid I *know* I hate ISO C90.
kid51 C-noob asks: Why do you hate it so? What makes '90 a very bad year and '89 a good year? 02:09
Infinoid doesn't care much for C89, either. but he didn't make the choice, and he doesn't feel like trying to convince everyone to change it.
jimmy's patch tries to strip out the unused variable in the case where the asserts are disabled (by defining NDEBUG). but it results in lots of "src/string.c:3058: warning: ISO C90 forbids mixed declarations and code" warnings 02:10
...because now there's a "((void)0);" before the variable declarations in every function 02:11
the trouble is, even if you defined it to nothing, the semicolon would still be there, and gcc would still complain because of that
jimmy: anyway, I changed them to macros because inline functions aren't C89 (I didn't know that) and it broke MSVC completely 02:12
speaking of which, I think I might have fixed building under MSVC but I'm not sure. anyone willing and able to test that? 02:13
02:16 gmansi_ joined
jimmy Infinoid: let me give it another way. 02:19
02:19 gmansi_ joined
Infinoid okay. I know it's a difficult problem... I hope you have some ideas :) 02:20
jimmy Is there a rapid way to rebuild? 02:21
Infinoid I use ccache, it helps a lot. but I don't know if it's available on win32. 02:22
chromatic Install ccache, get a multicore machine, and use make -jn, where n is odd.
Infinoid -j8 works pretty well here
jimmy yes, ccache-win32 . 02:24
02:26 gmansi_ joined 02:33 gmansi_ joined
kid51 Okay, I finally managed to accomplish something in Trac: This report query is good for cage cleaner's overview: trac.parrot.org/parrot/report/10 02:54
rurban Now it would be great if I could update my own tickets. 03:05
chromatic Next you'll want to store information in a system that doesn't randomly corrupt information stored in it. 03:06
rurban I know. I will not try to update my email or real name :)
chromatic Or tickets.
purl tickets are good
rurban what? load_bytecode on directory should be supported? 03:08
chromatic I wouldn't think so.
rurban there's a test: load_bytecode 't' => t' is a directory 03:09
I just broke this test because of my load_path optimization
chromatic It should throw an exception. 03:10
03:10 tetragon joined
rurban Now it prints: "load_bytecode" couldn't find file 't' 03:10
errorlevel is 1 03:11
I think I fix the test
chromatic I don't like that as much. 03:12
Where's your patch?
purl hmmm... your patch is short and sweet
rurban My patch is huge and not yet ready. Should I paste the src/library.c part?
chromatic Yes. 03:13
rurban I still have 8 test failures.
Andy evening
chromatic: "make -jn, where n is odd" 03:14
why odd?
chromatic In theory, compilation is somewhat IO bound.
You want to exploit that. 03:15
nopaste "rurban" at 212.183.49.22 pasted "trac127-library-optim.patch" (257 lines) at nopaste.snit.ch/15173
rurban I need the dir stat shortcut because I want to do: load_bytecode "Test/Builder" 03:17
it should pick up library/Test/Buiklder.pir or .pbc but not the dir.
kid51 Infinoid ping 03:18
chromatic If you can't find a pir or a pbc file, but there is a directory of that name, you can throw an exception.
The 'is a directory' exception comes from IMCC, but it makes more sense to add one here.
rurban Ok, I'll add it. 03:19
chromatic Thanks.
rurban I optimized about the whole runtime library and testsuite to have fewer unnecessary stats 03:20
chromatic If we're throwing an exception anyway, I'm not sure one more stat matters.
rurban And get the flexibility to load .pbc or .pir
The dir case is just an anomaly in some files. Just for consistency. 03:21
It belongs to TT#127 do not stat extensions when an extension was already given
Now I just have to add the extension check. 03:22
Infinoid kid51: pong 03:26
dalek r34907 | jkeenan++ | trunk/t/tools/ops2pm: 03:45
: Change TODO heading in POD to COMMENT and explain why we don't really need to do what TODO was suggesting.
review: www.parrotvm.org/svn/parrot/revision?rev=34907
03:55 rurban_ joined
dalek r34908 | jkeenan++ | trunk/t/tools/ops2pm: 03:59
: Delete 2 items for TODO section in POD, as testing is covering them.
review: www.parrotvm.org/svn/parrot/revision?rev=34908
04:02 elmex_ joined 04:10 ayrnieu joined
Coke hurls creative.ak.facebook.com/ads3/flyer...b713f6.jpg 04:15
(lolcode: o'reilly style) 04:16
dalek r34909 | jkeenan++ | trunk/t/examples: 04:18
: Deleted '[TODO]' from POD because it was erroneously suggesting there were open TODO items in this test. The deleted word was simply part of the name of an RT ticket, long closed.
review: www.parrotvm.org/svn/parrot/revision?rev=34909
04:18 Hinrik joined
Coke guesses that make -j realclean shouldn't bother running Configure.pl steps to gen makefiles. 04:19
dalek r34910 | coke++ | trunk: 04:22
: There is no 0.8.3 release planned, so pick the next one.
review: www.parrotvm.org/svn/parrot/revision?rev=34910
nopaste "rurban" at 212.183.53.102 pasted "trac127-library-optim.patch improved" (344 lines) at nopaste.snit.ch/15174 04:30
kid51 Is the Parrot debugger currently at all functional? 04:31
rurban sure
There's even a testcase
kid51 Is it built as part of 'make' -- or only as part of 'make parrot_utils' 04:32
?
rurban only with parrot_utils
It's not called pdb anymore. parrot_debugger 04:33
Well, it does not really work on files. 04:34
Just help and info works
kid51 If it's not built as part of 'make', then I don't think that t/tools/parrot_debugger.t should run as part of default 'make test'. Currently it runs -- but all tests are skipped with message "debugger is not yet built". 04:35
I always thought meant that the debugger code had not yet been written.
But strictly speaking it means that the debugger is not present at the completion of 'make'.
rurban but make test checks the other utils also. 04:36
kid51 So the test, as part of 'make test', is utterly useless.
rurban with 0.9.0 make test will include parrot_utils and even installable
kid51 Yes, but aren't they built as part of 'make'? (If they aren't, then how do those tests run?)
rurban make will not make them, but make test will 04:37
kid51 Huh?
rurban At leastin my install branch
kid51 'make test' will create the functionality it needs to test?
rurban make test requires parrot_utils and installable, then it will be able to test it. There's no seperate utils-test target 04:38
nor installable-test
we have a whole t/tools dir which requires this
kid51 But if the debugger (or any other parrot_util) has not been built by the end of 'make', how will 'make test' build it -- unless 'make test' is simply testing that it *can* be built (later)? 04:39
rurban test: parrot_utils installable
\\t bla
kid51 So even though a 'typical' 'make' will *not* include building the debugger, if someone calls 'make test' the debugger will get built then? 04:40
rurban it's part of test_prep and test_prep makes all and all is not just the default. it's all 04:41
yes
# We probably need a complete build before running the tests.
kid51 Currently, or in the future?
rurban with 0.9.0, not now
the current t/tools tests just skip
The pdd30install_stage branch adds parrot_utils and installable to all 04:42
If I remember correctly.
kid51 k 04:43
rurban But I'm not sure. Just see your makefile for the targets build and all
No, just checked. not yet. in the future 04:44
we still have the habit that "make all" is not all, just default 04:45
then all not be the default target anymore. all will be all, and build will be the default target
dalek r34911 | pmichaud++ | branches/rvar/languages/perl6/src (2 files):
: [rakudo]: Add 'handles' trait verb.
review: www.parrotvm.org/svn/parrot/revision?rev=34911
rurban Ah. Then "all" will not be the default target anymore. all will be all, and "build" will be the default target. 04:46
Then: all : build parrot_utils installable $(PERL6) languages
okay, time to sleep. bye 04:48
Coke is there a way to tell loadlib which dirs to search? 04:55
Coke finds an answer from chromatic from 12/9/05 04:58
05:01 tewk_ joined
kid51 must sleep 05:05
purl $kid51->sleep(8 * 3600);
05:54 Andy joined
Andy ping infinoid 06:23
purl I can't find infinoid in the DNS.
06:38 Fayland joined 06:39 Fayland_logger joined
Infinoid Andy: ohai 06:40
Andy ohai
I am not understanding why you are assigning to an int the results of the assert 06:41
and also I am looking at this because I am getting many "will never be executed"
Infinoid Andy: it was the only way I can see to convince gcc to let me put them at the top of the functions. and why won't they ever be executed?
Andy I don't know. 06:42
AHA
I get it.
CLEVER.
Infinoid is that __attribute__nonnull__ getting in the way?
Andy Dunno
and really, you should be using UNUSED()
which just wra
oh wait
sorry
Infinoid I don't understand UNUSED(). but I'm certainly open to suggestion
Andy ok, hold on, i'm doin' a big build 06:43
dalek r34912 | petdance++ | trunk/lib/Parrot/Pmc2c: 06:44
: also no import
review: www.parrotvm.org/svn/parrot/revision?rev=34912
Andy ok, don't want UNUSED On those 06:46
did you have complaints w/o the __attribute__unused__?
Infinoid yes 06:48
seemed to shut gcc up nicely, though I'm a bit surprised gcc bothers to run my assert functions at all (I tested it, it does)
so which warnings are you getting? and are you using any special cflags to get them? (optimization?) 06:49
06:50 liangke joined
Andy yeah, optimization is your friend 06:53
06:54 flh joined
Infinoid ok. and in that mode, you get warnings about stuff never being executed? 07:01
well, that being the case, since the truth checks are short-circuited in optimized compilation anyway, we might try to detect that and change ASSERT_ARGS() to something less onerous for that case.
jimmy's been working on something similar for the case when NDEBUG is defined
jimmy hasn't gotten the right way. 07:03
Infinoid well, just defining it to "int foo = 0" would probably get rid of the warnings Andy is seeing
Andy i'm workin' on it. 07:04
Infinoid ok :)
jimmy maybe the right way is remove the warning from gcc source code.
Infinoid haha
07:05 Fayland joined
Andy oh, we still don't have the actual define in the .c file yet 07:11
Infinoid true. that would be nice tho 07:12
07:36 rurban_ joined
jimmy 测试 07:39
dalek r34913 | pmichaud++ | branches/rvar/languages/perl6/src/classes: 07:49
: [rakudo]: Initial version of bless, BUILD, BUILDALL, CREATE, and new.
review: www.parrotvm.org/svn/parrot/revision?rev=34913
08:16 jimmy joined
dalek r34914 | petdance++ | trunk/src: 08:16
: removed lots of unused args; lots of consting and localizing vars
review: www.parrotvm.org/svn/parrot/revision?rev=34914
r34915 | pmichaud++ | branches/rvar/compilers/pct/src/PAST: 08:24
: [pct]: Add 'null' pasttype.
review: www.parrotvm.org/svn/parrot/revision?rev=34915
08:41 jimmy joined 08:44 Zaba joined 09:29 Zaba joined 10:08 alvar joined 10:29 jimmy joined 10:36 flh joined 10:39 webapp_bot joined 10:44 cognominal joined 10:45 desertmax joined
jimmy parrot 10:47
10:59 iblechbot joined 11:25 Ron joined 11:30 masak joined
masak pmichaud++ # BUILD -- we've been waiting for that one 11:51
11:54 rurban_ joined 11:59 pdcawley joined 12:08 rurban_ joined, On joined, rurban_ joined 13:12 kj joined 13:36 Zaba joined
masak pmichaud: ping 13:41
13:51 rurban joined
dalek r34916 | kjs++ | trunk/compilers/pirc/src (2 files): 13:55
: [pirc] assign a register to a .const object declared in a .sub
review: www.parrotvm.org/svn/parrot/revision?rev=34916
13:58 kid51 joined
rurban I re-opened RT#39807 [BUG] load_bytecode of .pir files fails (sometimes). I found two off-by-one string errors in imcc (apparently) 14:03
rt.perl.org/rt3/Ticket/Display.html?id=39807 14:04
It looks like the :load hook is broken when no extension is given 14:05
btw. can some trac admin also reset my account please? I also lost my permissions when changing some info. 14:08
dalek r34917 | masak++ | trunk/languages/perl6/t: 14:13
: [rakudo] added S29-str/unpack.t to spectest.data
review: www.parrotvm.org/svn/parrot/revision?rev=34917
r34918 | kjs++ | trunk/compilers/pirc/src (9 files): 14:30
: [pirc] refactoring for .const.pir
: + new constdecl struct to replace constant for declarations; the latter can now be stripped of its name field.
review: www.parrotvm.org/svn/parrot/revision?rev=34918
14:37 ask_ joined
kj rurban: (load_bytecode ticket) I replied on the ticket; I dont' think it's IMCC. 14:39
rurban I just wrote some testcases for this. 14:41
pmichaud Okay... I just found out why P6object class creation is so expensive. 14:42
rurban It's not in this simple case, just with a cascade of loaded file and :load hooks, as in Data::Dumper or Stream::Base
pcre is also involved, but nothing else 14:45
purl okay, rurban.
14:47 On2 joined 14:54 register joined 14:58 jimmy joined
kj rurban: (load_bytecode ticket) I replied on the ticket; I dont' think it's IMCC. 15:01
woops
dalek r34919 | kjs++ | trunk/compilers/pirc/src (4 files): 15:06
: [pirc] more .const stuff.
review: www.parrotvm.org/svn/parrot/revision?rev=34919
r34920 | jkeenan++ | trunk/lib/Parrot (2 files): 15:09
: 1. Alias Parrot::Test::slurp_file() to Parrot::BuildUtil::slurp_file().
: 2. Delete Parrot::Distribution::slurp(). Function was never used. If
: needed, use Parrot::Configure::Utils::_slurp().
: Cf.: trac.parrot.org/parrot/ticket/117.
review: www.parrotvm.org/svn/parrot/revision?rev=34920
rurban thanks, kid51 15:10
15:10 ask_ joined 15:11 Ron_ joined 15:12 ruoso joined
rurban I've found another library.c bug: PARROT_RUNTIME_FT_SOURCE or PARROT_RUNTIME_FT_PIR is ignored, without given file extension, if a .pbc exists. It should return the .pir, not the .pbc 15:14
Coke FT? 15:15
purl FT is seg->fixups or France Telecom
nopaste "rurban" at 212.183.58.36 pasted "another library.c bug (no ticket yet): PARROT_RUNTIME_FT_PIR is ignored" (150 lines) at nopaste.snit.ch/15176
rurban FT is a filetype enum 15:16
dalek r34921 | kjs++ | trunk/compilers/pirc/src (3 files): 15:18
: [pirc] change signatures of helper functions, to take a lexer argument only, not a yyscan_t.
: yyscanner is stored in lexer as well.
review: www.parrotvm.org/svn/parrot/revision?rev=34921
15:20 galf joined 15:24 desertmax_ joined 15:35 On joined, masak joined 15:39 Ron__ joined 15:44 register joined
register is there a specific pir opcode to push and pop contexts? 15:48
pmichaud I don't recall any. 15:49
dalek r34922 | petdance++ | trunk/lib/Parrot (3 files):
: fix some problems Perl::Critic found
review: www.parrotvm.org/svn/parrot/revision?rev=34922
lathos I suspect that's a symptom of the wrong problem.
pmichaud A long time ago there were opcodes for pushing/popping lexical pads, but they're gone.
register from the docs i see the following statement "The amount of registers needed is determined per subroutine at compile-time." 15:50
and from the jit code i see that there is the need for saving/restoring register frames between jit'ed segments...
i would like to understand under which circumnstances a parrot_push_context occurs 15:51
pmichaud I think it's generally when invoking something -- e.g., a Sub PMC or PCC METHOD 15:53
I don't think it occurs much outside of that.
register ok i supposed that
15:57 jhorwitz joined
dalek r34923 | infinoid++ | trunk/include/parrot/atomic: 16:00
: Apply patch from jimmy++ in TT124.
review: www.parrotvm.org/svn/parrot/revision?rev=34923
16:01 ask_ joined, Ron_ joined
dalek r34924 | kjs++ | trunk (7 files): 16:07
: [pirc] refactoring, adding new files. + update MANIFEST and pirc.in.
review: www.parrotvm.org/svn/parrot/revision?rev=34924
r34925 | kjs++ | trunk/compilers/pirc/src: 16:08
: [pirc] fix POD.
review: www.parrotvm.org/svn/parrot/revision?rev=34925
Infinoid kj: ping 16:10
kj Infinoid: hi 16:11
Infinoid hi! any idea whether trunk builds are still broken on MSVC?
kj they're fine
just built this afternoon
Infinoid great, so we can close out TT #125?
kj yep, I'll close it 16:12
Infinoid thanks!
kj thanks for quick fixing!
Infinoid np, sorry for breaking it to begin with.
I've stepped on more toes than I wanted to, with those changes...
16:13 rob joined
kj it's just kindof annoying sometimes if I have to rebuild from scratch, as it takes ages on my box 16:13
especially core_ops compilation seems to be quite slow recently
Infinoid hmm 16:14
kj dunno why that is. msvc is somewhat slower anyway than gcc, in my experience.
what do the new assertions check, btw?
Infinoid was the slowness introduced within the last week or so?
its a runtime validation of whether ARGIN/ARGMOD/etc parameters were NULL without being marked as _NULLOK 16:15
kj can't really say, honestly. I think it was slow before.
Infinoid on gcc at least, this can prevent some misoptimizations that lead to really weird bugs
(we tell gcc the pointers can't be null, so when building optimized parrots, gcc strips out all of the code to deal with NULL pointers properly) 16:16
kj ah I see.
well, good thing it's solved then :-) 16:17
Infinoid yeah, hard to quantify whether it's helped though
guess we'll see.
anyway, thanks for testing
kj np, thanks for doing quality-improvements 16:18
16:22 ask_ joined 17:13 brunoV joined
dalek r34926 | kjs++ | trunk/compilers/pirc/src (5 files): 17:16
: [pirc] more .const stuff. This is complex.
: a sub-local .const can generate an instruction to load the constant in a P reg: 17:17
: set_p_pc PX,PMCCONST(Y). However, a .const outside of a .sub cannot, as there's no sub to emit the instruction into. Whenever a global .const is referenced, it must be loaded into a P reg first. How to implement such load-on-demand behavior?
: Likewise, a .globalconst /can/ emit the loading instruction, but whenever it's referenced in another sub (which is allowed, being global), it must be loaded there as well. Again, this asks for inserting another instruction.
review: www.parrotvm.org/svn/parrot/revision?rev=34926
17:46 cognominal joined 17:50 kid51 joined 17:58 tetragon joined 18:15 Whiteknight joined
dalek r34927 | kjs++ | trunk/compilers/pirc/src (5 files): 18:41
: [pirc] cleanup a 'const' warning. More work on .const but no progress.
review: www.parrotvm.org/svn/parrot/revision?rev=34927
19:09 On joined 19:15 kid51 joined
dalek r34928 | Whiteknight++ | branches/pdd09gc_part1/src/gc: 19:15
: [pdd09gc_part1] update pobject_lives to actually mark things properly for the IT collector. Still fails because of mishandling of PMC_next_for_GC
review: www.parrotvm.org/svn/parrot/revision?rev=34928
r34929 | jkeenan++ | trunk/lib/Parrot/Configure: 19:17
: Alias _slurp to Parrot::BuildUtil::slurp_file() per trac.parrot.org/parrot/ticket/117.
review: www.parrotvm.org/svn/parrot/revision?rev=34929
rurban isn't it odd the the dll/so library search functions are not in library.c but in dynext.c? the pbc and pir part does the extension handling in library.c but just dynext not. 19:19
maybe because of the platform specific symlink name handling? 19:21
19:44 ewilhelm joined
dalek r34930 | Whiteknight++ | branches/pdd09gc_part1/src (2 files): 19:47
: [pdd09gc_part1] remove 'aggregate' stuff, and remove optional second method of storing flags
review: www.parrotvm.org/svn/parrot/revision?rev=34930
19:55 rurban_ joined
dalek r34931 | infinoid++ | trunk/src/atomic: 20:00
: [pod] The documentation for the x86 "cmpxchg" instruction is incorrect.
: Fix it.
review: www.parrotvm.org/svn/parrot/revision?rev=34931
Infinoid (funnily enough, the description of it in the Intel Architecture Software Developer's Manual has some typos, too.) 20:02
dalek r34932 | rurban++ | branches/pdd30install_stage3 (2 files): 20:04
: - Optimize RT #56996 fhs-runtime by never accessing wrong paths.
: ENABLE_PARROT_LIBRARY_INSTALLED is now enabled
: - Fix TT #127 do not stat extensions when an extension was
: already given, + find a file without given extension if such
: a directory exists.
: - Rename try_load_path() to try_load_file() as it should find
: no directories.
: - Add testcases for most odd library search cases.
: - Internal new behaviour for "" libpath: do not prefix this with
: the prefix as needed by installables, prefix only with "./"
: - Remove {runtime|libdir}/parrot lib_path for load_bytecode.
: load_bytecode "include/file.pasm" must be written as
: load_bytecode "../include/file.pasm".
: This saves us 4 stats when the file is not in
: the runtime library but locally.
review: www.parrotvm.org/svn/parrot/revision?rev=34932
20:04 ewilhelm left
Infinoid rurban++ # great commit message 20:04
20:05 jan_ joined 20:08 MariachiElf joined
rurban And now comes the big thing... 20:26
20:26 dngor joined
dalek r34933 | rurban++ | branches/pdd30install_stage3 (94 files): 20:27
: Implement optimization TT #126 in all libraries, tests and examples.
: "optimize load_bytecode, .include paths: no library/ and include/ prefix"
: Also omit the extension whenever possible.
: This is dependant on r34932.
: But there are still cornercases to be fixed with cascaded
: loading with :load hooks without extension. See RT #39807.
: Special testcase for this to be added.
review: www.parrotvm.org/svn/parrot/revision?rev=34933
20:28 nopaste joined
rurban Can somebody please reset my trac account. I want to update my tickets 20:29
20:34 Ron joined
dalek r34934 | rurban++ | branches/pdd30install_stage3 (2 files): 20:34
: fix t/distro/file_metadata.t for t/steps/auto_pod2man-01.t, tools/build/addgenerated.pl
review: www.parrotvm.org/svn/parrot/revision?rev=34934
rurban Hi Ron. maybe I've just broken some Win32 etsts in t/src/library.t in pdd30install_stage3. Can you have a check? 20:35
www.parrotvm.org/svn/parrot/revision?rev=34932 the test only
Ron rurban: Hi there. Sure. 20:36
rurban I don#t know if the OUTPUT slashes are automatically fixed
creating t/src/library.t and perl t/src/library.t shoudl be enough 20:38
dalek r34935 | rurban++ | branches/pdd30install_stage3/tools/build: 20:44
: fix cuddled_else
review: www.parrotvm.org/svn/parrot/revision?rev=34935
allison rurban: account deleted, just reregister
rurban allison++ thanks 20:46
allison: i still have no perms 20:48
20:48 tetragon joined
dalek r34936 | jkeenan++ | trunk/lib/Parrot: 20:49
: Restore slurp() method.
review: www.parrotvm.org/svn/parrot/revision?rev=34936
rurban Now I got, thanks
allison rurban: yes, logged in user only has permission to create tickets. you're now a developer
dalek r34937 | jkeenan++ | trunk/lib/Parrot: 20:51
: Restore POD for slurp() method.
review: www.parrotvm.org/svn/parrot/revision?rev=34937
kid51 Attention, those of us who have Trac developer status: Where appropriate, please become the Owners of tickets for which you are taking responsibility. That will provide us with better info in the Owner column in reports. Thanks, your friendly neighborhood cage cleaner. 20:55
20:56 donaldh joined
lu_zero parrot switched to trac ? 21:02
rurban lu_zero--
kid51 For some definition of 'switched'
21:02 hudnix joined
rurban we also have a new homepage and wiki 21:02
lu_zero rurban where? 21:03
purl rumour has it rurban is on Win XP sp2
21:04 ask_ joined
rurban XP :) www.parrotvm.org/ 21:04
www.parrot.org/ is the new homepage and feather aka www.parrotvm.org/ 21:05
kid51 gets test failures in pdd30install_stage3 branch 21:06
rurban what? I get only postgres
make test or codetest?
Ron rurban: I get not-ok for tests 1 and 3. 21:07
rurban Ron: Sure, but are the slashes switched? can you nopatse the full result please?
Ron nopaste?
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others)
rurban But it must be so, because test2 worked ok. Forget it. I'm happy, thanks. 21:08
nopaste "kid51" at 174.146.55.29 pasted "pdd30install_stage3 branch failures" (11 lines) at nopaste.snit.ch/15180
kid51 I'm lookiing at the 'bad plan' tests.
21:09 tetragon joined
nopaste "Ron" at 62.47.188.155 pasted "pdd30install_stage3 t/src/library.t results" (29 lines) at nopaste.snit.ch/15181 21:09
rurban hmm. I'll retry on my debian box. Maybe there's some file missing
dalek r34938 | jkeenan++ | branches/pdd30install_stage3/t/pmc:
: Correct number of tests in plan.
review: www.parrotvm.org/svn/parrot/revision?rev=34938
rurban Ron, thanks. So I'll have to switch it manually. Sigh 21:10
Ron rurban: The reason for the backslashes is quite simple, and is done on purpose. 21:11
nopaste "kid51" at 174.146.55.29 pasted "failure in t/perl/Parrot_Docs.t" (3 lines) at nopaste.snit.ch/15182
Ron See library.c, function path_finalize.
nopaste "rurban" at 212.183.49.98 pasted "perl t/pmc/key.t 7 tests" (9 lines) at nopaste.snit.ch/15183
21:16 ask_ joined
nopaste "rurban" at 212.183.49.98 pasted "Ron: fixed the test slashes" (54 lines) at nopaste.snit.ch/15184 21:19
dalek r34939 | rurban++ | branches/pdd30install_stage3/t/src: 21:20
: fix windows slashes for t/src/library.t
review: www.parrotvm.org/svn/parrot/revision?rev=34939
rurban kid51: My t/pmc/key.t has 7 tests. My debian box has only a failing t/perl/Parrot_Docs.t test.
(I'll fix the t/perl/Parrot_Docs.t test later. It's when generating html) 21:21
nopaste "Ron" at 62.47.188.155 pasted "pdd30install_stage3 t/src/library.t +patch results" (13 lines) at nopaste.snit.ch/15185 21:22
Ron rurban: Here's the result with the patch applied.
rurban Thanks! That's expected. 21:23
Ron Great!
rurban I'll work on that fix later. TT #128
dalek r34940 | allison++ | trunk (7 files): 21:25
: [pdd30install] Build enhancements specific to Cygwin. Extracted from
: pdd30install branch (Reini Urban).
review: www.parrotvm.org/svn/parrot/revision?rev=34940
GeJ Good morning everyone
rurban Ron++
Hi. We have evening here 21:26
Tickets solved in branches: Are they new or fixed? I keopt them as new, but did the Patch status = applied. Fixed when it is merged. Okay? 21:29
Infinoid sounds reasonable to me, as long as that's mentioned in the comments somewhere 21:31
rurban I did. 21:32
Infinoid cool.
21:35 tetragon joined
rurban I guess there once was a seperate codepath for finding .pir and .pbc. Parrot_load_bytecode sets PARROT_RUNTIME_FT_PBC or PARROT_RUNTIME_FT_SOURCE. But it's lost now. I'll re-add it with TT #128 21:35
If we load_bytecode a file without extension we favour .pbc, otherwise .pir or .pasm? Or always .pbc? 21:37
Or should we do a timestamp check as in python? Only when no extension is given?
pmichaud these sound like questions that need to go through the mailing list.
rurban Okay, I'll do. I think I have to axe away some code in Parrot_load_bytecode() 21:38
jonathan pmichaud: How's the branch looking? 21:43
Seems you're touching/reviewing quite a lot! :-)
pmichaud it's all intertwined in the trunk, so it has to be touched :-| 21:44
but yes, I now have BUILD/BUILDALL/CREATE/new/bless done, as soon as I fix up the attributes stuff.
next is WHENCE.
jonathan OK.
current schedule for merging?
pmichaud then roles, then subsets, then regexes/grammars, then merge to trunk.
may still happen tonight, but I lost several hours on that introspection thing 21:45
jonathan What are you planning on roles and subsets?
pmichaud they're not working in the branch at the moment
jonathan Ah.
pmichaud keep in mind that the whole grammar and parse tree has changed
jonathan Seems my first Rakudo task this year will be to read the two. 21:46
I guess we're closer to STD.pm now?
pmichaud yes, much.
jonathan Great. :-)
pmichaud and there's very little introspecting the parse tree from high levels
so lots of if/then/else cases are gone
jonathan Great. 21:47
Looking forward to seeing/hacking on the result.
Will work on bytecode annotations first next week.
pmichaud that's a good starting point
jonathan Then Rakudo once the branch is in.
pmichaud the timing will work out well that way, for both of us
jonathan But I will be online lots tomorrow.
pmichaud I should be here all tomorrow as well, depending on how wild the kids get. 21:48
jonathan So if there's any questions or stuff in the branch you want me to glance at, can do.
pmichaud (they don't start back to school until Tuesday)
I might get you to look at multidispatch again -- there's a piece missing that the candidate sorting is looking for
at least some of the spectests are reporting ambiguous dispatch... although that might also be due to subsets not being back in yet. 21:49
but overall I think I'm down to under 40 failing spectest files
jonathan If subset types aren't working properly, then you'd probably get fails in the multi tests that use such types.
pmichaud yeah, that's probably it. 21:50
anyway, it shouldn't be too difficult to re-enable them, I've just been focusing more on class stuff the past day or so.
jonathan Initialization is refactored quite a bit, I guess?
pmichaud yes.
I'm not sure it's entirely correct, but the spec isn't clear in a couple of places. 21:51
at any rate, it's factored properly into bless/BUILD/BUILDALL/CREATE now, even if some of the details aren't 100%
jonathan I guess we'll want at lesat one of those (BUILD IIRC) to be a submethod once those are in, too.
pmichaud actually, no. 21:52
Object.BUILD is a method.
jonathan Ah.
I'm sure one of them is a submethod...
pmichaud BUILD is only a submethod in any derived classes, if I'm reading the spec correctly.
but in Object, it's a method.
jonathan So if you write your own, you're supposed to write it as a submethod?
pmichaud the point is that each class inherits BUILD from Object, but if you ov.... right.
jonathan OK. 21:53
Makes sense.
pmichaud because you don't want your subclasses to inherit the BUILD you just wrote -- you want them to continue to use Object's BUILD.
21:54 tetragon joined
pmichaud I've even got the pieces in place so that someone can do has @.a is MyArray; and have it initalize properly 21:54
i.e., it only uses the sigil as a last resort
(which won't be the case for rakudo-compiled classes) 21:55
jonathan Does it work through a trait_auxiliary:is call yet? 21:56
pmichaud it compiles it kinda like a trait_auxiliariy:is, yes.
I don't think it's actually making the call.
(but the pieces are there to make that work when we want it to.)
...checking.
oh, for attributes I'm sure it's not doing that yet. 21:57
for classes it does....
$P22 = "!meta_create"("class", "Foo", 0)
.local pmc metaclass
set metaclass, $P22
"!meta_trait"(metaclass, "trait_auxiliary:is", "Bar")
"!meta_compose"(metaclass)
(that's for class Foo is Bar {}) 21:58
for now I pass things through a "!meta_trait" sub, but eventually we could have the compiler call "trait_auxiliary:is" directly. 21:59
jonathan OK, looks good. 22:00
purl O_O
jonathan The main thing is that the trait is applied _once_ during compile time.
pmichaud it is -- the code you see there is what is generated in the :load :init for the class
and when we figure out how to parse "is" blocks in the body, it would result in the same code for class Foo { is Bar; } 22:01
I'm also seeing a change I'll want to make to P6object -- I'll want to make protoobjects lazy about class creation 22:02
so that we can say "give me a protoobject for class XYZ" but we don't actually create the Parrot class until we need it.
rurban A COW class? 22:03
pmichaud no, just lazy.
basically we'll have a proto-protoobject :-)
jonathan I had pondered that we may need to do that a couple of weeks back, when looking at the type reg stuff.
pmichaud yeah, it might work out well for the type registry stuff as well
right now !meta_create above is returning a Parrot class, but when we have p6object updated we can easily generalize it to give us an unrealized protoobject 22:04
basically it just makes class composition lazy.
(from the perspective of the compiler.)
also, I discovered that default values are divorced from WHENCE 22:05
(which simplifies things a lot, too)
22:14 mberends joined
jonathan Ah, good. 22:14
That clears up a few things I'd been pondering. 22:15
dalek r34941 | rurban++ | branches/pdd30install_stage3/src:
: fix TT #129 load_bytecode without extension, do not recompile the found .pbc.
review: www.parrotvm.org/svn/parrot/revision?rev=34941
pmichaud the spec implies that the values on the right side of a has $.a = <whatever>; are implicit closures, but I'm thinking the entire assignment will have to be an implicit closure (more) 22:16
because S12 also says: 22:17
has ID $.collar .= new($tag);
and 22:18
has Tail $.tail handles 'wag' .= new(|%_);
anyway, I have a bunch of spec-related questions when I get through this :-) 22:19
22:22 kid51 joined, axquan joined 22:24 davidfetter joined 22:25 axquan joined
pmichaud afk for a short while. 22:34
dalek r34942 | pmichaud++ | branches/rvar/src/pmc:
: [oo]: inspect_str on class objects returns shallow-copy hashes
review: www.parrotvm.org/svn/parrot/revision?rev=34942
r34943 | pmichaud++ | branches/rvar/languages/perl6/src (2 files):
22:34 tetragon joined
dalek : [rakudo]: Handle default initialization of some 'has' attributes. 22:34
review: www.parrotvm.org/svn/parrot/revision?rev=34943
r34944 | rurban++ | branches/pdd30install_stage3 (2 files): 22:42
: Fix TT #128 "Honor source types in Parrot_locate_runtime_file":
: Added a third argument to try_bytecode_extensions() to pass the file_type down.
: Only on PARROT_RUNTIME_FT_PBC we find a .pbc now,
: on PARROT_RUNTIME_FT_SOURCE and PARROT_RUNTIME_FT_PIR we find no existing .pbc.
: TBD: No check for PIR or SOURCE yet. Do we want this?
review: www.parrotvm.org/svn/parrot/revision?rev=34944 22:43
22:54 chromatic joined
rurban Hi chromatic: I fixed src/library.c a bit in the install branch 22:55
See the recent trac tickets
chromatic I saw that. Very nice. 22:56
rurban Shit rt.perl.org is down 23:01
TonyC looks up here
rurban Hmm, only partially 23:02
TonyC kind of slow 23:03
kid51 came up for me -- and it's never fast.
rurban Looks like it's the ocean... 23:04
No, it's just my ticket which is so slow. It's an old one :) 23:05
jonathan Tickets get slower with age?!
rurban Sure, 3xxxx are the slowest (just kidding) 23:06
23:11 tewk_ joined
dalek r34945 | rurban++ | branches/pdd30install_stage3/runtime/parrot/library: 23:22
: TT #126, r34933: fix errmsg
review: www.parrotvm.org/svn/parrot/revision?rev=34945
23:23 tetragon joined 23:24 desertmax__ joined
rurban library/File/Spec.pir: shouldn't we try to use and fix it? It would be needed sooner or later. 23:26
RFC trac TT#109 by chromatic remove File/Spec.pir
chromatic I vote fix.
rurban Okay, I'll try.
To get more .pir foo 23:27
dalek r34946 | allison++ | trunk/docs: 23:35
: [doc] Update conditional line documentation.
review: www.parrotvm.org/svn/parrot/revision?rev=34946
23:44 Khisanth joined 23:45 tetragon joined