|
www.parrot.org | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON Set by moderator on 1 September 2009. |
|||
| bacek_at_work | hi again | 00:00 | |
| Whiteknight | adding a VTABLE_depends_on() that returns a PMC dependency would go a long way towards providing this functionality | ||
| purl | oh, you're back! | ||
| chromatic | I don't want another vtable for this. | ||
| It seems like the wrong place. | |||
| Whiteknight | yeah, that relationship is probably backwards anyway | ||
| darbelo | Whiteknight: That would be rather hard for the implementor to actually know in advance. | 00:01 | |
| Whiteknight | we don't need to know what a PMC depends on, we need to know what is depended on by it | ||
| So for instance we need to know that the library PMC is depended on by the dynpmc it implents | |||
| or that the Scheduler is depended on by various tasks and timers | |||
| chromatic | I don't trust dynpmc writers to know that they have to depend on the Library PMC, especially as that's an implementation detail. | 00:02 | |
| Whiteknight | right, that's something we could set in dynpmc load | ||
| chromatic: but if their dynpmc was causing segfaults, they would figure it out and do whatever they needed to do | 00:03 | ||
| chromatic | Why should we make them figure it out when we *know* what the problem is now and can fix it for them without causing that pain? | 00:04 | |
| Whiteknight | we can fix this instance, yes. But this isn't the only order-of-destruction problem we have | 00:05 | |
| the specific solution is a good interim fix, but a general order-of-destruction fix is ultimately needed | 00:06 | ||
| chromatic | Yes, that's what I'm talking about. | ||
| darbelo | Whiteknight: Exposing things to pmc writer to gc internals means that they'll subject to the deprecation policy. A 6-month wait for a gc bugfix is too damm long. | ||
| Whiteknight | We need an API where we can specify a dependence relation | 00:09 | |
| no interaction with GC internals whatsoever | |||
| chromatic | I can't think of any cases besides scheduler and dynpmc. | 00:10 | |
| darbelo | Whiteknight: Oh. Then I totally misread you earlier, sorry. | 00:11 | |
| Whiteknight | chromatic: no cases currently, or no casses possibly? | ||
| chromatic | The only possible case is where destroying a PMC of a specific type relies on a PMC of another type being undestroyed. | 00:12 | |
| In the scheduler case, that's where we destroy a PMC even though the interpreter still has a pointer to it. | |||
|
00:13
darbelo joined
|
|||
| chromatic | In the dynpmc case, that's where we destroy a PMC and finalize its resource (dlclose a shared library) even though other PMC vtables have pointers to some of its functions. | 00:13 | |
| Whiteknight | If that's true, we don't even need a general solution, just a quick fix for these two issues | 00:18 | |
| chromatic | I'm not sure how to make a quick fix without fixing the whole thing. | ||
| dalek | tracwiki: v95 | whiteknight++ | WikiStart | 00:20 | |
| tracwiki: Adding link to page about the JIT replacement effort | |||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| Whiteknight | chromatic: I'm stumped for ideas then. How do you suggest we fix it? | 00:23 | |
| chromatic | We have to identify all PMCs of the appropriate types and destroy them in the appropriate order. | 00:24 | |
| Coke | FIND THEM AND DESTROY THEM! | 00:28 | |
| nopaste | "jrtayloriv" at 96.238.199.12 pasted "Programming question ..." (9 lines) at nopaste.snit.ch/17778 | 00:29 | |
| jrtayloriv | In code like that I just pasted, is there any reason to keep 'cc' around? Why not just do 'PMC *cont = PARROT_CONTINUATION(SELF)->to_ctx->current_cont;' and skip the allocation of the local var and the assignment operation? | ||
| darbelo | chromatic: But what is the appropiate order if a PMC allocated in the constatnt pool depends on thomething that isn't? | ||
| Coke | msg util that's not unheard of; check out docs/spectest-progress.csv for my timings. | ||
| purl | Message for util stored. | ||
| Coke | (man is partcl slow) | ||
| darbelo | Coke: Is it "slow all over" or does it just rely heavily on something parrot does particularly slowly ? | 00:36 | |
| bacek_at_work | jrtayloriv: you can do it. But any decent compiler will do it for you. | ||
| jrtayloriv | bacek_at_work, ok thanks | 00:37 | |
| darbelo | If it makes the line longer than 72 chars, let the compiler fold it for you :) | 00:38 | |
| jrtayloriv++ # kill_parrot_cont reports "All tests successful" on OpenBSD amd64 | |||
| Coke | darbelo: there is virtually no optimization. | 00:39 | |
| and everything is runtime dispatch. there is A LOT of runtime invocation of the PIR compiler. | 00:40 | ||
| (but even rakudo is slow, and it's a real compiler.) | |||
| jrtayloriv | darbelo, I see (about the line length) -- thank you. | 00:41 | |
| Coke | darbelo: hopefully the profiler will help id hot spos. | 00:43 | |
| darbelo | jrtayloriv: As a rule of thumb: When any decent compiler can optimize away the difference between two pieces of code, the more readable one is better. | 00:44 | |
| Coke: So, it's slow all over, but some places are slower thatn the rest? | 00:46 | ||
| dalek | tracwiki: v1 | whiteknight++ | JITRewrite | 00:47 | |
| tracwiki: Initial draft | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
| TT #963 created by coke++: segfault in Parrot_HashIteratorKey_get_string | 00:56 | ||
| nopaste | "darbelo" at 200.49.154.172 pasted "[PATCH] Remove needless struct-poking from the fixedbooleanarray.pmc. All tests PASS." (25 lines) at nopaste.snit.ch/17780 | 01:00 | |
| darbelo | Whiteknight: if you are interested I can turn the example posted at TT#956 into a test. | 01:01 | |
| Also, if anyone cares to review/commit, nopaste.snit.ch/17780 is the first step in the total erradication of needless poking into STRING internals. | 01:03 | ||
| I'll go hunting for food now. See y'all later. | 01:04 | ||
|
01:04
darbelo left
|
|||
| dukeleto | food++ | 01:05 | |
| jrtayloriv | karma food | 01:07 | |
| purl | food has karma of 179 | ||
| jrtayloriv | that's definitely not high enough | ||
| food++ | |||
| Coke | msg darbelo Without profiling, who can tell? | 01:09 | |
| purl | Message for darbelo stored. | ||
| dalek | TT #964 created by coke++: segfault in Parrot_str_new_COW | 01:10 | |
| jrtayloriv | How can I call one of my PMC's METHODs from one of its VTABLEs? Would I just do SELF.the_method(SELF), or something similar? | 01:12 | |
| And actually, it's SUPER()'s method -- i.e. I've got a METHOD called continuation_check() in the Continuation PMC that I want to call from the init() in the RetContinuation PMC (which extends Continuation) | 01:15 | ||
| or rather, I want to call it from the invoke VTABLE, but that doesn't really matter, as far as the question is concerned. | 01:18 | ||
| Whiteknight | Parrot_PCCINVOKE(interp, pmc, CONST_STRING("Method name"), "signature", ...) | 01:20 | |
| (I may have mixed up the order of those arguments) | |||
|
01:20
Eevee joined
|
|||
| Whiteknight | Actually, you should probably use Parrot_pcc_invoke_method_from_c_args() instead | 01:20 | |
| food++ definitely! I may go find some right now | 01:22 | ||
| jrtayloriv | Whiteknight, thanks -- I'm currently moving Parrot_continuation_check() and Parrot_continuation_rewind_environment from sub.c into RetContinuation (since that's only place they are used) | 01:23 | |
| hmm ... nm -- used in a few other places as well, but still doesn't belong in sub.c I think ... | 01:24 | ||
| belongs in Continuation actually -- brain fart | 01:25 | ||
| dalek | TT #965 created by coke++: segfault in Parrot_convert_arg | 01:26 | |
|
01:29
kid51 joined
|
|||
| kid51 | msg wayland76 trac.parrot.org/parrot/ticket/509#comment:16 | 01:32 | |
| purl | Message for wayland76 stored. | ||
| kid51 | seen infinoid? | ||
| purl | infinoid was last seen on #parrot 8 days, 21 hours, 25 minutes and 16 seconds ago, saying: hmm, I seem to have forgotten to go to bed. night [Aug 24 04:00:35 2009] | ||
| dalek | TT #966 created by coke++: segfault in Parrot_string_mark | 01:33 | |
| TT #967 created by coke++: segfault in utf8_set_position | 01:40 | ||
| rtcl: r664 | coke++ | wiki/SpecTestStatus.wiki: Edited wiki page through web user interface. |
01:43 | ||
| TT #773 closed by coke++: Can't override vtables of a PMC from PIR | 01:47 | ||
|
01:57
dukeleto joined
|
|||
| dalek | TT #831 closed by coke++: segfault in clone_key_arg | 01:57 | |
|
02:07
payload joined
02:22
rhr joined
|
|||
| jrtayloriv | Two questions: (1) What am I doing wrong here? ---> Parrot_pcc_invoke_method_from_c_args(interp, SELF, CONST_STRING(interp, "continuation_check"), CONST_STRING(interp, "v")); <--- I am trying to invoke a METHOD of the PMC from it's invoke() VTABLE, and the method does not return anything or take any arguments? | 02:26 | |
| and (2) Why can't I put this ridiculously long function call on multiple lines without getting an error about CONST_STRING being on multiple lines? | |||
| Oops -- I shouldn't be declaring this as a method anyway, since it is only used internally. | 02:38 | ||
| pmichaud | CONST_STRING requires that the statement be all on one line, I think. | 02:39 | |
|
02:42
janus joined
|
|||
| jrtayloriv | pmichaud, I had each of the CONST_STRING(interp, "string") on their own line -- I didn't split up either of them over multiple lines. That is, I had CONST_STRING(interp, "string_1") on one line, and CONST_STRING(interp, "string_2") on another ... oh well, doesn't matter right now -- I realized that I was supposed to be putting these functions in the "Functions" section, rather than trying to make them into methods. | 02:43 | |
| bacek_at_work | jrtayloriv: don't try to put them as methods in Continuation anyway. Chicken and Egg problem | 02:44 | |
| jrtayloriv | bacek_at_work, I was going to put them as Functions in the Continuation PMC | 02:45 | |
| pmichaud | jrtayloriv: CONST_STRING requires that the *statement* be all one line, not just the CONST_STRING part | ||
| jrtayloriv | bacek_at_work, that would work, right? | ||
| pmichaud, OK thank you. | |||
| bacek_at_work | jrtayloriv: probably no. But I don't quite understand what are you trying to achieve. | 02:48 | |
| jrtayloriv | bacek_at_work, I'm trying to move the Parrot_continuation_check() function out of sub.c and into the Continuation PMC. Because the only place that the function is used is inside of the Continuation PMC and the PMCs that extend it. | 02:49 | |
| bacek_at_work | jrtayloriv: ah. ok. Just move it into beginning of continuation.pmc before 'pmclass Continuation' | 02:50 | |
| But it will not be visible in inherited PMCs. | |||
| jrtayloriv | bacek_at_work, I need it visible in the inherited PMCs, or I will have to duplicate the logic in each of them. | 02:52 | |
| bacek_at_work, And you are saying that I cannot declare it as a method in Continuation PMC to accomplish this? | |||
| bacek_at_work | then just keep in sub.c | ||
| jrtayloriv | bacek_at_work, OK. | ||
| bacek_at_work | yes, because calling of methods require new continuations. | 02:53 | |
| jrtayloriv | oh, I see. | ||
| treed | kinda OT, but I figure this is a good place to ask: I'll need to learn Perl (5) for my new job (assuming that it all comes through); best book or whatever for that? | 03:14 | |
| jrtayloriv | treed, Do you know Perl at all? How much, if so? | 03:17 | |
| treed | Very, very little. | 03:18 | |
| jrtayloriv | Learning Perl and Intermediate Perl are great for starters. | ||
| treed | And what I do know has been slightly tainted by my exposure to Perl 6. | ||
|
03:20
donaldh joined
|
|||
| jdv79 | treed: maybe just put another target in your rakefile to upload the report file? | 03:23 | |
| treed: smolder.plusthree.com/app/public_pr...reports/16 | |||
| i just pushed the first report | |||
|
03:28
theory joined
|
|||
| jdv79 | what's goin on with the svn server's cert? | 03:31 | |
| treed | jdv79: What's the upload like, just an HTTP PUT? | 03:33 | |
| jdv79 | just a post | ||
| treed | To what URL? Is there a doc for this stuff? | 03:34 | |
| jdv79 | emulate what the form does at smolder.plusthree.com/app/public_pr..._report/16 | ||
| basically post to that url with a report_file param - normal form file upload | 03:35 | ||
| treed | k | ||
| jdv79 | i don't think there's doc | ||
| Coke: partcl still isn't compiling here:( | 03:37 | ||
|
04:10
cotto joined
|
|||
| cotto | hello | 04:10 | |
| purl | what's up, cotto. | ||
|
04:13
dukeleto joined
04:15
kyle_l5l joined
04:40
beta left
|
|||
| dalek | TT #968 created by jrtayloriv++: Rename PObj_active_destroy_foo to PObj_custom_destroy_foo | 04:50 | |
| jdv79 | Coke: i'd like to get partcl into smolder. but that kinda means it needs to compile:) | 04:58 | |
|
05:06
snarkyboojum joined
|
|||
| dukeleto | 'ello | 05:07 | |
|
05:09
slavorgn joined
05:14
theory joined
|
|||
| kyle_l5l | If I add a printf() call inside hash.c's hash_freeze(), I get a failed assertion before hash_freeze() is ever called. Is this expected? | 05:54 | |
|
06:07
chromatic joined
|
|||
| cotto | I've had interesting experiences putting printfs in certain places. | 06:07 | |
| gdb might be a better bet if you want to poke around | |||
| test coverage? | 06:08 | ||
| purl | test coverage is probably cv.perl6.cz | ||
| kyle_l5l | It seems to be doing strange things to the visit_info struct that is passed around, making the visit_info->io->bufused go below zero. | 06:17 | |
| cotto | That code is special and ripe for replacing. | 06:18 | |
| chromatic | Oh, freeze and thaw. That's special indeed. | 06:20 | |
| cotto | You can figure it out if you really want to, but there's a cost. | 06:22 | |
| kyle_l5l | heh. I've been trying to figure it out...but it's, hm, yeah, special. | 06:25 | |
| dalek | kudo: 30ffa60 | mberends++ | tools/test_summary.pl: [tools/test_summary.pl] add hints to change "plan *;" to "plan $number;" |
06:27 | |
| kudo: c6d5941 | mberends++ | : Merge branch 'master' of git@github.com:rakudo/rakudo |
|||
| cotto | If you want something simpler, more tests for the FixedPMCArray and Namespace PMCs would be a good place to start. | ||
|
06:33
bacek joined
|
|||
| cotto | hio, bacek | 06:35 | |
| bacek | hi cotto, howizgoin' | ||
| treed | Hm. | 06:54 | |
| Need to figure out how to relate the failure of test files to compile to smolder. | |||
| bacek | treed: (lineof in String) looks like a bug in PCT. | 06:59 | |
| treed: it create String instead of CodeString | 07:01 | ||
| treed nods. | 07:05 | ||
|
07:15
skv_ joined
|
|||
| dalek | rdinal: 870ad48 | treed++ | Rakefile: Add a smolder target to the Rakefile to submit report.tar.gz to the appropriate website. |
07:20 | |
| rdinal: 7d77922 | treed++ | Rakefile: Refactor the Rakefile a little. |
|||
|
07:21
donaldh joined
|
|||
| dalek | rrot: r40918 | mikehh++ | trunk/src/pmc/string.pmc: fix codetest failure - no trailing spaces |
07:33 | |
| mikehh | messages | ||
| kyle_l5l | ack, isn't limited to just hash.c, happens in all sorts of neat places. | 07:36 | |
| mikehh | need to reboot - still can't get VirtualBox to work with wireless connection :-{ (or kvm for that matter) - bbl | 07:39 | |
|
07:47
iblechbot joined
|
|||
| cotto | chromatic, ping | 08:10 | |
|
08:10
mberends joined
|
|||
| chromatic | pong | 08:10 | |
| cotto | I'm still working on making the postprocessing script not be unmaintainable, but would you have time to look over the C part of the code if I committed it now? | 08:12 | |
| chromatic | Yes, I should have plenty of time tomorrow and Thursday. | 08:13 | |
| cotto | ok | ||
| there | 08:16 | ||
| dalek | rrot: r40919 | cotto++ | branches/pluggable_runcore (2 files): [profiling] update runcore to what's likely to be the format pprof2cg can use |
08:17 | |
|
08:21
HG` joined
|
|||
| moritz | can we ship parrot with LGPL licensed code? | 08:37 | |
| both libjit and gnu lightning are LGPLed | |||
| chromatic | Allison's against it. | 08:39 | |
| moritz | but linking against LGPL code is fine? | 08:41 | |
| chromatic | She doesn't want any core components under a non-artistic license, as best I understand it. | 08:43 | |
| moritz | then we just declare the JIT system non-core :-) | ||
|
08:44
MoC joined
|
|||
| chromatic | Based on her comments earlier, I suspect she won't like us deleting the existing pseudo JIT. | 08:44 | |
| ... if we declare JIT non-core. | 08:45 | ||
|
08:46
mikehh joined
|
|||
| mikehh | on Ubuntu 9.04 i386 - anyone need any testing done on this platform? | 08:47 | |
|
08:53
cono joined
08:55
jsut joined
09:00
skv_ joined
09:15
cognominal joined
09:16
cognominal joined
|
|||
| mikehh | All tests PASS - (pre/post-config, smoke, nqp_test, fulltest) at r40919 - Ubuntu 9.04 i386 (gcc) | 09:20 | |
|
09:35
mikehh_ joined
09:43
masak joined
09:47
mikehh joined
|
|||
| mikehh | rakudo (c6d5941) builds on parrot r40919 - make test PASS / make spectest (up to 28165) 3 failures - Ubuntu 9.04 i386 ...(more) | 09:49 | |
| rakudo - t/spec/S03-operators/arith.rakudo - Failed test: 120 - Non-zero wait status: 8 | 09:51 | ||
|
09:51
HG` joined
|
|||
| mikehh | rakudo - t/spec/S12-attributes/class.rakudo & t/spec/S14-roles/basic.rakudo - Segmation fault on exit | 09:52 | |
|
09:54
gaz joined
|
|||
| mikehh | BTW I just tried to log in to trac.parrot.org/parrot from my i386 setup and it reports the certificate still has not been renewed | 10:01 | |
|
10:15
rbaumer joined
|
|||
| mikehh | partcl r664 builds on parrot r40919 - make test PASS - Ubuntu 9.04 i386 (gcc) | 10:25 | |
| cardinal (7d77922) builds on parrot r40919 (rake) - rake test:all - same 3 failures - but now fails with Method 'lineof' not found for invocant of class 'String' - Ubuntu 9.04 i386 (gcc) | 10:37 | ||
| cardinal 3 complete failures - gen_08-class.pir, gen_alias.pir, gen_freeze.pir | 10:39 | ||
| join cardinal | |||
| idjut | 10:40 | ||
| cotto | now it's time for sleeps. | 10:45 | |
|
10:48
bacek joined
|
|||
| dalek | rrot: r40920 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl: [profiling] initial refactor of (incomplete) postprocessing script |
10:48 | |
| mikehh | decnum_dynpmcs r181 builds on parrot r40919, make test PASS - Ubuntu 9.04 i386 (gcc) | 10:49 | |
|
10:53
Zak joined
|
|||
| mikehh | lua fails to build on parrot r40919 - error:imcc:make_pmc_const: no such pmc - in file 'lua.pir' line 307 - Ubuntu 9.04 i386 (gcc) | 10:53 | |
| context_pmc3 branch r40920 - fails to build - jit errors - Ubuntu 9.04 i386 (g++) | 11:06 | ||
| context_pmc3 branch r40920 - fails to build - gets further with gcc butstill fails - Ubuntu 9.04 i386 (gcc) | 11:16 | ||
| context_pmc3 branch - /home/mhu/context_pmc3/blib/lib/libparrot.so: undefined reference to `CURRENT_CONTEXT_FIELD' - collect2: ld returned 1 exit status - make: *** [miniparrot] Error 1 | 11:18 | ||
| bacek | mikehh: let me check | ||
| mikehh | bacek - there are loads of jit warnings in the gcc build | 11:19 | |
| bacek | mikehh: yeah. Looks like they all related. | ||
| Found it. Apparently ack skipped .jit files. | 11:20 | ||
| mikehh | bacek: I have the builds logged if you need any info - gonna head back to amd64 unless you need anything on i386 | 11:21 | |
|
11:22
donaldh joined
|
|||
| bacek | mikehh: can you wait few minutes. I'm testing commit locally | 11:23 | |
| mikehh | ok - will hang around here for a bit | ||
| bacek | dcommiting first chunk | 11:28 | |
| mikehh: should be clear at r40924 | 11:30 | ||
| mikehh++ # kicking lazy developers | 11:31 | ||
| dalek | rrot: r40921 | bacek++ | branches/context_pmc3/src/jit/i386/core.jit: [cage] Remove last references to CURRENT_CONTEXT_FIELD macros. mikehh++ |
||
| rrot: r40922 | bacek++ | branches/context_pmc3/src/jit/i386/jit_defs.c: [cage] Fix CONTEXT vs CURRENT_CONTEXT usage. |
|||
| rrot: r40923 | bacek++ | branches/context_pmc3/src/jit.c: [cage] Fix CONTEXT vs CURRENT_CONTEXT usage. |
|||
|
11:32
iblechbot joined
|
|||
| rrot: r40924 | bacek++ | branches/context_pmc3/src/jit.c: [cage] More CONTEXT vs CURRENT_CONTEXT fixes. |
|||
| mikehh | bacek: ok she builds (on gcc) - make test PASS - running some other tests | 11:40 | |
| bacek | mikehh: thanks! | ||
| hang on. Why "she"? :) | 11:41 | ||
| bacek start suspecting that mikehh is Russian :) | 11:42 | ||
| mikehh | sounds better than he :-} | 11:43 | |
| bacek | It's just very Russian to refer bird "she" :) | ||
| mikehh | bacek: got some ancestors from there - well lithuania and latvia and my great grandmother spoke russian more than english - but not really | 11:44 | |
| bacek vote to call our bird "she" from now :) | 11:47 | ||
| moritz thinks that 'parrot' is a more appealing name than 'she' | |||
| mikehh | well she is a female parrot | 11:48 | |
| cono | +1 | 11:50 | |
| purl | 1 | ||
| dalek | TT #969 created by flh++: Convert t/pmc/float.t to PIR | 11:58 | |
|
12:08
rba joined
|
|||
| mikehh | bacek: fulltest - testj - loads of failures - seems to be in an endless loop at the moment | 12:09 | |
| bacek | testj == test JIT... And JIT is badly broken. | 12:10 | |
|
12:11
whiteknight joined
|
|||
| mikehh | bacek: right - and src/jit/i386/jit_defs.c has c++ comments | 12:16 | |
| bacek | mikehh: yes. It's marker for JIT failure. | ||
| masak | msg austin I'm interested in contributing to the Close project. I noticed, for example, the README refers to two files in docs/ which aren't there. I'd be happy to contribute those. | 12:23 | |
| purl | Message for austin stored. | ||
| bacek | Good morning whiteknight | ||
| whiteknight | 'moring bacek | ||
| how are you today? | |||
|
12:24
payload joined
|
|||
| bacek | whiteknight: sharpening knife to kill JIT :) | 12:24 | |
| mikehh | bacek - all other tests pass | ||
| whiteknight | bacek: you and me both! | 12:25 | |
| mikehh | anyway rebooting to amd64 now - bbl | ||
| bacek | mikehh: see you! | ||
| whiteknight: yeah. Only one problem. Someone have to convince allison :) | 12:26 | ||
| whiteknight | Allison is not stubborn or difficult. I suspect she wants us to make sure we have a good replacement ready | 12:27 | |
| we don't want to throw away JIT because it's inconvenient, we want to throw it away because we are replacing it with something better | |||
| bacek is very good at breaking stuff. Not fixing it :) | 12:28 | ||
| masak | msg austin I can't seem to build Close: gist.github.com/179687 | ||
| purl | Message for austin stored. | ||
| whiteknight | We need both kinds of people! | ||
| masak: last I heard, Close was known to be broken. Major refactors | |||
| masak | oh. | 12:29 | |
| in trunk? why? :) | |||
| moritz | close? | ||
| purl | rumour has it close is close file (or pipe or socket) handle or bad on sockets, use shutdown() instead or horseshoes or grenades or nuclear weapons or code.google.com/p/close/ | ||
| masak | the latter link. | ||
| purl | the latter link is the right one for PEP. emailproject.perl.org | ||
| whiteknight | masak: when the project only has one developer, no reason not to make big changes in trunk | ||
| masak | moritz: that project excites me much. | ||
| moritz | unless it has users :-) | ||
| masak | whiteknight: maybe that's true for SVN. it isn't for git. :) | 12:30 | |
| whiteknight | It's still very early in development, I don't think it has many users yet | ||
| masak | it does now. | ||
| as soon as I get it running, that is. | |||
| whiteknight | oh really? who is using Close? What projects? | ||
| masak | ok, so I back down a few revisions, then. | ||
| bacek | masak apparently | ||
| masak | whiteknight: I plan to become both a user and committer. as you said in a post, that language looks great. | 12:31 | |
| much easier to write than PIR. | |||
| bacek | Why not NQP? | 12:32 | |
| dalek | rrot: r40925 | bacek++ | trunk (2 files): Use OrderedHash in PackfileDirectory to prevent putting debug segment first. PBCs are too fragile... |
||
| masak | I guess NQP is quite nice, too. I should look into that more, as well. | ||
|
12:33
mikehh joined
|
|||
| masak | ok, Close builds fine from r96. | 12:35 | |
| whiteknight | I don't like people saying "why not NQP?". Parrot is all about using any language and giving the programmer choices | 12:37 | |
| NQP is just fine, but some people would rather use a C-like language then a Perl-like language | 12:38 | ||
| and vice-versa | |||
| masak | +1 | 12:39 | |
| purl | 1 | ||
| Coke | "there's more than one way to do it" makes a lot less sense for parrot than it does for perl. | 12:46 | |
| I'm coming in late here and haven't reviewed. =-) | |||
| masak | isn't it conceivable that some problem domains fit better against something like Close than something like NQP? I think it is. | 12:49 | |
| whiteknight | Coke: the point is that we don't need to be creating our own "which language is better?" flamewars when we're supposed to be providing a language-agnostic VM | ||
| masak | and both are often preferable to PIR. | ||
| whiteknight | Close strikes me as being a little "closer to the machine" then NQP is, which is beneficial in many situations | ||
| masak | 'xactly. | 12:50 | |
| whiteknight | Coke: if we don't need more then one way to do something, abandon partcl and start working on Rakudo instead | ||
|
12:59
sri joined
|
|||
| whiteknight | (I don't recommend you stop working on partcl, of course. I was just making a point) | 13:00 | |
| dalek | rrot: r40926 | bacek++ | trunk (3 files): [pmc] Revert previous commit. Actually preserve type of unpacked segment. Add setter/getter to PackfileRawSegment.type |
13:10 | |
| Coke | whiteknight: there is a difference between being agnostic about which languages we support our end users to write, and which languages are available as part of parrot. I am suggesting that the set of the latter languages be very small. | 13:14 | |
| Coke now goes off and reads through the backscroll. | |||
|
13:14
jrtayloriv joined
|
|||
| jonathan | Is there a way to get pmc2c to insert stuff into the .h file it generates? | 13:16 | |
| Coke | msg jdv79 If partcl isn't compiling, please open a ticket a code.google.com/p/partcl/issues/list | ||
| purl | Message for jdv79 stored. | ||
| jrtayloriv | jonathan, what are you trying to get it to insert? | ||
| Coke | (glad I checked the backsroll) | ||
| jonathan | I've got an ATTR of a type from elsewhere, and I want it to include the .h file where that type is to be found. | ||
| whiteknight | Coke: Oh yes, I don't recommend we add Close to the Parrot core distribution | ||
| jonathan | Otherwise, the .h file breaks. | 13:17 | |
| oh, actually...if I re-order the #include's in the thing including the header file it may work out a bit better... | |||
| jrtayloriv | jonathan, You can just #include things in the .pmc file. | ||
| Coke | anyone know what jdv79's partcl bug was? | 13:18 | |
| Coke wonders if it's just a g++ thing. | |||
| jonathan | oh no, sadly not... | ||
| jrtayloriv: I know but the includes aren't also in the .h file | |||
| e.g. | 13:19 | ||
| ATTR SV *sv; | |||
| This in the .h file generates | |||
| typedef struct Parrot_P5Scalar_attributes { SV * sv; | |||
| } Parrot_P5Scalar_attributes; | |||
| But the #include needed doesn't make it into the .h file, so it complains about the SV there. | |||
|
13:21
TonyC joined
13:23
nopaste joined
|
|||
| jrtayloriv | johnathan, Where is SV defined? | 13:23 | |
| Coke | partcl? | 13:28 | |
| purl | i heard partcl was tcl on parrot or code.google.com/p/partcl | ||
| bacek | jonathan: just use explicit "struct" | 13:33 | |
| "ATTR struct SV *sv" should work. | |||
| jonathan | bacek: ooh | ||
| jonathan tries it | |||
| dalek | rrot: r40927 | bacek++ | trunk (4 files): [t] Add tests for PackfileSegment.type (and fix PackfileRawSegment.type implementation) |
13:34 | |
| jonathan | bacek++ # thanks! :-) | ||
| Coke | I'm getting tired of telling google that it's ok to post messages from google to google. | ||
| bacek | karma me | ||
| purl | bacek has karma of 1000 | ||
| bacek | Bah! Anniversary :) | ||
| Can I freeze it somehow? I like this number :) | 13:35 | ||
| jrtayloriv | jrtayloriv, I think, if it is a struct, that you can just 'typedef struct SV SV' above the pmclass definition in your .pmc file, and include the header than has the definition for SV in the PMC file where you are declare an SV ATTR, and then it will not complain to you. For instance, | 13:36 | |
| moritz | bacek-- # just to encourage him to more contributions to reach 1000 again :-) | ||
| jrtayloriv | s/if it is a struct/if SV is a struct/; | ||
| moritz | jrtayloriv: I think you meant jonathan, not yourself :-) | 13:37 | |
| jrtayloriv | moritz, :) | ||
| moritz | bacek++ # committing like hell | ||
| jrtayloriv | jonathan, ^^ | ||
| bacek | moritz: :) | ||
| jonathan | jrtayloriv: Thanks...and using "struct" in there works nicely. :-) | 13:38 | |
| bacek | moritz: I prefer to reach next level. Karma 10000 looks reasonable :) | ||
|
13:40
ruoso joined
|
|||
| bacek | Anyway, Util++ for bringing my attention to Packfile* PMCs. | 13:44 | |
| Can anyone review TT#969? Patch looks good, but I don't trust myself much at this point of time... | 13:46 | ||
| Infinoid | hmm. | 13:48 | |
| trac.parrot.org uses an invalid security certificate. | |||
| The certificate expired on 08/29/2009 12:54 PM. | |||
| bacek | topic? | ||
| purl | i think topic is IRC topics don't auto propagate on server reconnect | ||
| bacek | Ah. It was changed... | ||
| Infinoid: iirc someone already across expired certificate. | 13:49 | ||
|
13:55
HG` joined
|
|||
| bacek | .oO( Did I say something disgusting?) |
14:07 | |
| bacek taking off TimToady's hat and departing to bed. | 14:08 | ||
| Coke | Infinoid: particle is on it. | 14:12 | |
|
14:13
jsut_ joined
14:16
Psyche^ joined
|
|||
| Coke wonders why some internal parrot exceptions are showing up as CONTINUE exceptions in parrot. | 14:16 | ||
| (like "method not found") | 14:17 | ||
| any one who understands PGE operators about? | 14:19 | ||
| bacek | Coke: because theoretically you can add method in run-time and resume from exception? | ||
|
14:19
Andy joined
|
|||
| Coke | bacek: continue is, imo, a pretty specific type of exception. | 14:19 | |
| (I added the method, so now it's (mostly) doing the right thing, though.) | 14:20 | ||
| (PGE) trying to figure out why this doesn't parse: | |||
| $ ./tclsh -e "puts [expr 1eq4>3]" | |||
| syntax error in expression "1eq4>3": extra tokens at end of expression | |||
| (that should print out "1") | |||
| bacek | Coke: LTM ftw... | 14:21 | |
| Coke | ok. any idea how I can shuffle code.google.com/p/partcl/source/bro...ression.pg around so that the longest tokens are matched first? | 14:22 | |
| (eq only appears in the grammar as a proto infix. | |||
| bacek | Coke: not now. It's Tomorrow already and I need some sleep... | 14:24 | |
| But try to play with something like <!before...> in your grammar. | 14:25 | ||
| bacek must sleep | |||
| purl | $bacek->sleep(8 * 3600); | ||
| Coke | bacek: the operator table is hiding most of that from view of my grammar, so I'd have no idea where to put it. | 14:26 | |
| see you tomorrow. | |||
| bacek | Coke: have a good day. | ||
| bacek wave from future | 14:27 | ||
|
14:29
einstein joined
|
|||
| Coke hurls code.google.com/p/partcl/issues/detail?id=100 for anyone with PGE smahts. | 14:31 | ||
| pmichaud | oh, I think I know this one | 14:51 | |
|
14:52
payload joined
|
|||
| pmichaud | actually, I think the problem might be the 'eq4' | 14:53 | |
| Coke | pmichaud: check out the ticket, yah. | ||
| (that's when it goes south.) | |||
| pmichaud | I think that PGE's optable expects tokens ending with word characters to have a word boundary | 14:54 | |
| Coke | is there a way to override (like I did with the whitespace?) | ||
| (it's so nice to be able to addres actual partcl issues instead of chasing segfaults. =-) | 14:55 | ||
| pmichaud | proto 'infix:eq' is wb(0) is precedence('08=') { ... } | 14:56 | |
| the 'wb(0)' disables the check for a word boundary | |||
|
14:57
kjeldahl joined
|
|||
| pmichaud | afk for a bit | 14:58 | |
| Coke | pmichaud++ | 15:02 | |
| whoops. apparently t/cmd_expr.t was aborting after N tests, and when last I updated the run count, I just cut it off there. haven't been running the last N tests. | 15:13 | ||
| (so when I tried to add a new one, the count was off.) | 15:14 | ||
| treed | bacek_at_work: So that Code vs CodeString lineof issue. Did you want me to write a ticket for that, or did you write a ticket, or were you just going to fix it? | 15:15 | |
| pmichaud | Code vs CodeString issue...? | 15:17 | |
| treed | Cardinal's current testfailures result from some parrot code using String instead of CodeString. | 15:18 | |
| (Sorry, miswrote) | |||
| So it tries to call lineof and that fails. | |||
| pmichaud | okay | 15:19 | |
| treed | bacek determined that for me last night | ||
| Said it looks like a bug in PCT. | |||
| pmichaud | I wonder what PCT could be making into a String that it then tries to call .lineof on | 15:20 | |
| PCT normally only calls .lineof on things in Match objects, and those are CodeString | |||
| treed | Want the backtrace? | ||
| pmichaud | sure | ||
| treed | One sec. | 15:21 | |
| purl | one sec is, like, not a long time | ||
| treed | Thanks, purl. | ||
| purl | bitte treed | ||
|
15:22
donaldh joined
|
|||
| nopaste | "treed" at 66.215.91.229 pasted "backtrace for pmichaud++" (17 lines) at nopaste.snit.ch/17783 | 15:23 | |
| pmichaud | hmmm | 15:24 | |
| that doesn't quite tell me why we got a String in the first place | |||
| I think what we'll do though is not generate line number information when it's not available | |||
| treed nods. | |||
| pmichaud | i.e., if .lineof fails, we just ignore it | ||
| I'll work on that a second | 15:25 | ||
| treed | Cool, thanks. | ||
| particle | why is parrotcode.org still live? | 15:40 | |
| there are *OLD* docs there | |||
| and sfink still has parrot 0.0.11.2 on cpan | |||
| sigh. | |||
| this all started with a google search for 'parrot vtable' | 15:41 | ||
| the first two links are less than helpful | |||
| oh come on! | 15:42 | ||
| purl | EVERYBODY TO THE LIMIT! | ||
| particle | i can't search for 'parrot pdd', it brings me to www.funnyfarmexotics.com/IAS/tpdd.htm | ||
| A recently recognized infectious agent is killing companion, aviary, and free-ranging birds throughout the world. At present, no birds or aviaries are known to be protected. This dreaded affliction is called Proventricular Dilatation Disease (PDD). | |||
| PDDs are killing parrot. how ironic. | |||
| pmichaud | parrotcode.org should just redirect to parrot.org, yes? or is it still live because we think we might want to migrate some information across? | 15:44 | |
|
15:44
solarion joined
|
|||
| dalek | rrot: r40928 | pmichaud++ | trunk/compilers/pct/src/POST/Compiler.pir: [pct]: Compute 'lineof' information only if we can. |
15:46 | |
| pmichaud | treed: see if r40928 helps | ||
| japhb | whiteknight, would you mind collecting the best resource links for each JIT engine on your JITRewrite page? | 15:47 | |
| whiteknight | japhb: working on that already | ||
| japhb | excellent | ||
| whiteknight | I have a few emails out to people from Lightning and libJIT, and am hunting down links for them | ||
| treed | pmichaud: Testing. | 15:49 | |
| purl | rumour has it testing is the best thing ever ZOMG | ||
| particle | parrotcode.org should redirect, once everything has been transferred. i don't know if there's anything left worth saving there | ||
| coke: do you still have parrotcode.org admin rights? | |||
| pmichaud | how can we know when "everything has transferred"? | ||
| Coke | I have svn commit access, probably. | ||
| pmichaud | i.e., what's our criteria for that? | ||
| Coke sighs again at the giant TIME SUCK the transfer away was. | 15:50 | ||
| pmichaud | sunk cost, alas. | ||
| my suggestion: Let's assume for the moment that parrotcode.org doesn't have any important information. If true, we can redirect now. | 15:51 | ||
| If false, then something will occur at some point in which we discover we really want/need something from the old parrotcode.org. But we can always get that out of svn | 15:52 | ||
| japhb | +1 | ||
| purl | 1 | ||
|
15:53
hercynium joined
|
|||
| particle | pmichaud: agreed, time to set up a permanent redirect link | 15:53 | |
| pmichaud | (I'm presuming that parrotcode.org was combust-based and lived in a subversion repository somewhere) | ||
| particle | ayep | ||
| pmichaud | (and that that subversion repo is still accessible) | 15:54 | |
| particle | btw get_repr is listed as a deprecation candidate in pdd17 | ||
| as it is the same as get_string | |||
| Coke | here's the list of what's still out there: | ||
| svn.perl.org/viewvc/perl.org/docs/...arrotcode/ | |||
| pmichaud | (get_repr) yes, that's fine with me. All of the PMCs currently treat get_repr the same as get_string, but semantically they were to be different things | 15:55 | |
| in particular, I think that get_repr should've produced a string that could recompile back into the original structure | |||
| anyway, I'm fine if get_repr dies | |||
| Coke | pmichaud++ # 16 more passing tcl spec tests. | 15:56 | |
| pmichaud | anyway, yes, it looks as though any information we might want/need from the old parrotcode site is in svn | ||
| it might be worth squirreling away an export of that subdir in case it gets admin'ed out | |||
| particle | we could copy the repo to svn.parrot.org | 15:57 | |
| pmichaud | we can do that also, yes. | ||
| Coke | if we copy it, then we have one more half dead thign to maintain. | ||
| particle | uh, no | ||
| we can move the parrotcode repo to parrot.org | 15:58 | ||
| pmichaud | for archival, not for maintenance | ||
| particle | right. | ||
| Coke | I don't see the point. | ||
| pmichaud | you don't see value in having archived versions of old stuff? | ||
| particle | redirect parrotcode to parrot as a 301 | ||
| Coke | not that old, no. | ||
| pmichaud | hmmm. why do we keep tagged versions of Parrot 0.0.8 around, then? | 15:59 | |
| Coke | excellent qustion. | ||
| particle | tags are cheap. move along. | ||
| pmichaud | anyway, I think it's worthwhile and relatively cheap. | ||
| Coke | <shrug> if someone wants to go through the trouble, by all means. | ||
|
15:59
HG` joined
|
|||
| particle | maybe someone wants to fork an old release of parrot | 16:00 | |
| Coke | I'm more concerned about our current website. particle, any progress? | 16:01 | |
| particle | no progress | ||
| i need to generate a csr | |||
| treed | pmichaud: New error now, same place. | ||
| Method 'iterator' not found for invocant of class 'String' | |||
| particle | hoping to get in touch with osuosl now to get access to the box | ||
| pmichaud | treed: that's almost certainly an error with Cardinal, then | 16:02 | |
| it's putting a String somewhere that PCT expects a PAST::Node | |||
| treed | Huh. | 16:03 | |
| We didn't change anything. | |||
| pmichaud | perhaps you can bisect to find out when things broke? | ||
| treed | Tried that before. | ||
| It was at some parrot revision. | |||
| pmichaud | what revision? | ||
| purl | revision is 0, unless it's an svn co, then it's whatever svn reports | ||
| pmichaud | right | ||
| treed | sec' | ||
| 15:57 < mikehh> I bisected the problems to r40799 - a lot of fixes since then and when I tested cardinal at r40824 it started getting those get_pmc_keyed() not implemented in class 'String' failures | 16:04 | ||
|
16:04
theory joined
|
|||
| treed | I assume that means that he bisected all the way back to 40799, and found that the problem manifested at r40824 | 16:04 | |
| pmichaud | well, nothing significant changed in pct in that period of time either | 16:05 | |
| treed | Hm. | ||
| treed looks at the PAST. | |||
| pmichaud | have you tried running with the -G option ? | ||
| dalek | rtcl: r665 | coke++ | trunk/docs/spectest- (2 files): Update spec test progress (NotFound++ for fixing most of our segfaults) |
16:07 | |
| rtcl: r666 | coke++ | trunk/ (4 files): Allow conversion of ints to lists (+add test). |
|||
| rtcl: r667 | coke++ | trunk/t/cmd_expr.t: Fixup this test file; now that we're running them, fix up bugs in the tests. |
|||
| rtcl: r668 | coke++ | trunk/ (2 files): Don't require whitespace after an alpha operator. (pmichaud++) |
|||
| treed | No, what does -G do? | 16:08 | |
| Turn off GC pops out at me. | 16:09 | ||
| pmichaud | turns off garbage collection | ||
| sometimes that causes strange errors to disappear | |||
| whenever I have types mysteriously changing and it looks like "I didn't change anything", I try -G just to see what happens. | |||
| treed | Where does -G go? Seems like I can't pass it to cardinal. | 16:13 | |
| (tries to open it as a file) | 16:14 | ||
| treed runs parrot directly. | |||
| Nah, same issue. | |||
| pmichaud | okay | ||
| treed | And I can't find anything in that PAST output where anything but a PAST node is occupying a spot in the true. | ||
| pmichaud | I don't have much idea what might've caused the problem | ||
| treed | (The really interesting thing here is that --target=past isn't bailing out) | 16:15 | |
| pmichaud | right, the problem is happening when it's converting POST to PIR | ||
| treed | So is the error occuring after the PAST is generated? | ||
| Hm. | |||
| pmichaud | it could also be in converting PAST to POST | 16:16 | |
| try --target=post | |||
| treed | Completes fine. | ||
| pmichaud | what line is giving the "Method 'iterator'" exception? | 16:17 | |
| treed | current instr.: 'parrot;POST;Compiler;pir_children' pc 9669 (src/POST/Compiler.pir:77) | ||
| pmichaud | okay | ||
| I've had a server fail here -- I have to deal with it first. | |||
| treed nods. | 16:18 | ||
| jrtayloriv | particle, Maybe something like this could solve the issue with diseased birds -- parrotsearch.bbbot.net/. Should I further refine it, or you think it won't be useful? | 16:28 | |
| particle | jrtayloriv: parrot.org already has a custom search engine (right side, below calendar). if you can refine or improve that, it would be great | 16:30 | |
| jrtayloriv | particle, Ahhh .. I always just assumed that was just an in-site search. Very good then :) | ||
| particle | i don't know the details, only that it exists | 16:31 | |
| i don't think i've ever used it, as google rarely fails me :) | |||
| jrtayloriv | particle, yes -- you can do it all w/ google, it would just be nice to have something that saves all of the inurl:s and quoting and whatnot. | 16:33 | |
| anyhow, thanks for pointing me to that. | |||
| particle | thank you for your enthusiasm and your contributions. | ||
| jrtayloriv | thanks :) -- I'm enjoying it -- the people here are all very pleasant to work with. | 16:35 | |
|
16:35
mokurai joined
|
|||
| dalek | kudo: 47a6ae6 | (Solomon Foster)++ | src/setting/Rat.pm: Add Rat.prefix<->. |
16:36 | |
|
17:07
cotto joined
|
|||
| cotto | good hello | 17:10 | |
| dalek | tracwiki: v2 | whiteknight++ | JITRewrite | 17:16 | |
| tracwiki: Add inforation I've gathered about Lightning | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
| tracwiki: v3 | whiteknight++ | JITRewrite | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
|
17:17
chromatic joined
|
|||
| dalek | tracwiki: v4 | whiteknight++ | JITRewrite | 17:33 | |
| tracwiki: Add info about libJIT that I heard from some of their developers. | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
|
17:35
hercynium joined
|
|||
| dalek | kudo: c9a9300 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 435 files, 13245 pass, 0 fail |
17:37 | |
| tracwiki: v5 | whiteknight++ | JITRewrite | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
| tracwiki: v6 | whiteknight++ | JITRewrite | |||
| tracwiki: + small con about libJIT | 17:38 | ||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
| chromatic | Almost 700 tests yesterday. | 17:39 | |
| Good for the Rats. | |||
| einstein | small notification: the certificate of trac.parrot.org has expired | 17:44 | |
|
17:45
darbelo joined
|
|||
| moderator | HTTPS CERT EXPIRED | www.parrot.org | Improve test coverage for FixedPMCArray and NameSpace / Fix Segfaults for Coke / Port Tests to PIR / Merge Stable Branches for 1.6 SOON | 17:50 | |
| Coke | einstein: danke, it's in progress. | 17:50 | |
| ... So I get 16 more spec tests passing for expr - this somehow cauess format to die with a recursion error, losing me 181 tests. | 17:51 | ||
|
17:53
joeri joined
|
|||
| einstein | ok | 17:56 | |
| PacoLinux | new platform, I have compiled parrot in haiku without problems : smolder.plusthree.com/app/public_pr...ails/26789 | 18:15 | |
| Coke | 16 - 181 - | ||
| 16 - 181 - 8 | |||
| purl | -173 | ||
| Coke | excellent! | 18:16 | |
| purl | EGG-see-lent! | ||
| PacoLinux | tree months ago was impossible | ||
| Coke | PacoLinux: can we get a patch for PLATFORMS ? | ||
| PacoLinux | Coke: sure | ||
| darbelo | PacoLinux: What filesystem is your parrot checkout on? | 18:24 | |
| jrtayloriv | chromatic, I'm reading whiteknight's blog and trying to understand one of the discussions you were having with him regarding L1. When you said "we need an L1 emitter for PCT", were you saying there should be the ability to convert from PAST to L1, instead of from PAST to PIR? | ||
| whiteknight | It's entirely possible that my blog has misquoted chromatic on occasin | 18:25 | |
| PacoLinux | darbelo: I think is named BFS | ||
| jrtayloriv | whiteknight, I got it from a IRC log that you linked to from your blog. | ||
| whiteknight | oh, okay then. | ||
| chromatic | jrtayloriv, that's exactly what I meant. | 18:26 | |
| jrtayloriv | chromatic, ok thanks | ||
| PacoLinux | darbelo: en.wikipedia.org/wiki/Be_File_System | ||
| whiteknight | jrtayloriv: the idea is that PASM ops will themselves be written in Lorito (Lorito == L1) | ||
| darbelo | PacoLinux: does it suport hard links? | ||
| PacoLinux | darbelo: I dont know, Im new in haiku | 18:27 | |
|
18:30
jan joined
|
|||
| jrtayloriv | whiteknight, ok -- has any work been done to sketch out what lorito would look like? I can't seem to find anything via google. | 18:32 | |
| whiteknight | not a whole lot, no | ||
| some people were suggesting that it look like the smalltalk bytecode | |||
| any kind of very-low-level LIR should be fine | |||
| a small codeset is preferred, but I don't think we need to aim for any kind of crazy minimum | 18:33 | ||
|
18:35
rbaumer joined
|
|||
| chromatic | I think we can get away with 128 ops or fewer. | 18:37 | |
| mikehh | treed ping | 18:38 | |
| Coke | chromatic: would it be possible to implement this in stages, so we don't need all N lorito ops working at once? | 18:41 | |
|
18:41
rbaumer joined
|
|||
| treed | mikehh: pong | 18:42 | |
| chromatic | Possibly. I can think of two: those that can call C functions and those that don't. | 18:43 | |
| mikehh | treed - in cardinal | 18:48 | |
| treed | Yeah, replied. | ||
| pmichaud: There was a mistake before, the actual parrot commit wherein the issue started is r40788 | 18:54 | ||
| jrtayloriv | whiteknight, sorry, I got distracted for a minute ... has the nanojit LIR been looked at yet? Why the smalltalk bytecode over anything else? | 18:55 | |
| Coke yays as he finds the bug that caused the regressions. | 18:56 | ||
| chromatic | Squeak's slang comes up because they did it well. | 18:59 | |
| PacoLinux | darbelo: I can't find anything about hardlinks (but maybe I dont know where to look) : www.haiku-os.org/legacy-docs/bebook...rview.html | 19:05 | |
| darbelo | PacoLinux: From what I can see, BFS doesn't have them, which is the reason behind some failing tests in your smolder report, you might have to TODO them. | 19:07 | |
| PacoLinux | darbelo: just found : Currently, the BeOS does not recognize hard links (although it will in the future). A hard link associates an entry in the hierarchy with a specific chunk of data (a node). The attraction of hard links is that more than one entry can be associated with the same node. | 19:08 | |
|
19:09
cotto joined
|
|||
| darbelo | PacoLinux: The test is trying to create a hard link, you'll have to TODO it for BeOS/Haiku if they don't support that. | 19:11 | |
|
19:21
donaldh joined
|
|||
| jrtayloriv | So ultimately, the goal is to have something like HLL->PAST->Lorito->whatever-the-best-JIT-engine-they-have-installed-is, correct? (where "whatever-the-best-JIT-engine-they-have-installed-is" any of LLVM/libJIT/Nanojit/GNULighting/roll-our-own depending on what the user has available on their system) ... Am I understanding this properly? | 19:23 | |
| darbelo | ls | 19:25 | |
| chromatic | Yes. | 19:26 | |
| darbelo | Sorry, wrong window. | ||
| jrtayloriv | chromatic, so there would be no sense in working on anything to do PIR->LLVM/libJIT then, correct? | 19:29 | |
| chromatic | That's not a bad thing, but it doesn't solve our biggest problems with regard to JIT. | ||
|
19:30
mokurai joined
19:50
whiteknight joined
|
|||
| Coke reclaims another partcl spec test. | 19:54 | ||
| whiteknight | yay! | ||
| darbelo | Does anyone know of a way to fet at a STRING's encoding without poking into the struct? | 19:55 | |
| s/fet at/get at/ | |||
| whiteknight | darbelo, you mean like an API function to retrieve it? | ||
| darbelo | Yes, that would be the ideal. | 19:56 | |
| whiteknight | I don't know. Best bet is to search around in src/string/api.c | ||
| darbelo | None of the Parrot_str_* funcions there look very promising. | 19:57 | |
| cotto | You can always write one. | 19:58 | |
| darbelo | Ah, I found it, it's string_rep_compatible() | 19:59 | |
| Obvious, right? | |||
| TimToady | phone | 20:00 | |
| darbelo | The lack of a Parrot_str_* prefix made me overlook it the first time arround. | 20:02 | |
| Coke | the string API was due a rewrite. I think there's a branch describing it, but I don't know how far it got. | ||
| darbelo | Coke: The way the stuff pokes into STRING internals at every chance you'd never guess there was an API. | 20:04 | |
| Coke | s/re// | ||
| whiteknight | yeah, it doesn't need a "rewrite", it needs a "write" | ||
| Oh noes! coke beat me to it! | |||
| Coke | and more efficiently. | 20:05 | |
| darbelo | I just started removing direct access to the struct members, but there's still a lot of wrong in there. | ||
| cotto | It'd be nice if there were something as easy-to-use as ->strstart. | 20:06 | |
| darbelo | Heh. ack for '-Zstrstart' in src/ gives 260+ usages | 20:07 | |
| s/Z/>/ | |||
| whiteknight | ... so what you're saying is that Parrot needs an intern to do repetitive work? | ||
| darbelo | Nah, I'm doing that already. What parrot needs is a clean and consistent API for STRINGs. | 20:09 | |
| whiteknight | this is true | ||
| feel free to start writing that API as you work | |||
| chromatic | Someone should ask Simon about its status. | ||
| Coke | please see what simon did first. | ||
| whiteknight | whatever whoever did what, we can still start writing API functions now and mark them as experimental | 20:10 | |
|
20:10
NotFound joined
|
|||
| NotFound | hi | 20:10 | |
| whiteknight | hello NotFound | ||
| Coke | whiteknight: i don't want us to write a NEW NEW API when we haven't incorporated teh OLD NEW api. | 20:11 | |
| whiteknight | Coke: I'm not aware that we had an old API | ||
| we certainly don't have a working one in trunk | |||
| Coke | whiteknight: which is why i said "see what simon did" | ||
| NotFound | Amazing how much has changed in the month I haven't svn up'ed this machine | 20:12 | |
| whiteknight | he can look, but that's a branch with a bus number of 1 and fewer active contributors then that | ||
| dalek | rrot: r40929 | mikehh++ | trunk/src/pmc/packfilerawsegment.pmc: fix codetest failure - trailing spaces |
20:13 | |
| rtcl: r669 | coke++ | trunk/src/class/tclint.pir: Avoid recursion - don't add our PMC, just our int value. |
|||
| rtcl: r670 | coke++ | trunk/runtime/builtin/uplevel.pir: Clone result to avoid self-referential lists in uplevel.test |
|||
| rtcl: r671 | coke++ | wiki/SpecTestStatus.wiki: This test now runs to completion (+17 spec tests) |
|||
| whiteknight | is github down? | 20:14 | |
| (I finally get around to creating a github account, and it goes down that very day) | |||
| chromatic | It's built on Twitter, which is powered by DHH's sense of self satisfaction and axe body spray. | 20:15 | |
| whiteknight | oh, all the girls must love that | 20:16 | |
| Coke | whiteknight: just becaues no one implemented his design doesn't mean we should ignore it. =-) | ||
| whiteknight | my gitub brings all the girls to the yard and they're like, "beats svn by far" | ||
| Coke: not ignore it, but don't be held hostage by it. | 20:17 | ||
| If darbelo has the inclination and tuits to actually build an API, he should do it | 20:18 | ||
| Coke | but he should look at the prior art. | ||
| just like you wouldn't go write a JIt from scratch. | |||
| We already have an insane amount of NIH in parrot. I'd hate to extend that to things that /other parrot contributors/ did. | |||
| darbelo: if you're excited about strings, by all means. =-) | 20:19 | ||
| whiteknight | I'm not saying ignore it, but darbelo having working code to commit > an idea about code that never got merged | ||
| tuits, inclination, and working code are all trump cards | 20:20 | ||
| Coke | I disagree in degree. design first, code second. | ||
| so if darbelo has a better /design/, sure. | |||
| whiteknight | if somebody came out of the blue with a working, home-brew JIT for Parrot to have, that satisfied what we needed, I would be inclined to take it | 20:21 | |
| darbelo has no design. | 20:22 | ||
| whiteknight | far more likely is a process where we need to make a comprehensive design and a concerted development effort to implement a wrapper around an existing library | ||
| Coke | darbelo: is there a function that does what you want in PDD28 ? | ||
| whiteknight | DARBELO YOU ARENT HELPING | 20:23 | |
| actually, you're very helpful | |||
| NotFound | Did we have a strings design? | 20:24 | |
| Coke hurls news.perlfoundation.org/2008/09/par...march.html | |||
| Coke quotes, "Simon Cozens worked with Allison on the design for character sets and strings (PDD28)" | |||
| NotFound | Yeah, a branch no one has looked at for months | 20:25 | |
| Coke | I think the design was in trunk's pdd28. | ||
| If not, that at least should be merged back, as the design was created and reviewed. | |||
| whiteknight | I haven't heard anything about that grant in a long time | 20:26 | |
| darbelo | Coke: Just started looking at the pdd now. | ||
| whiteknight | I think I was even supposed to get some money for it at one point | 20:27 | |
| darbelo | Say, wasn't UnionVal taken to the back yard and shot? | ||
| whiteknight | darbelo: yes sir | ||
| darbelo | The strings pdd didn't get the memo. It list an UnionVal member for that struct, named cache "for compatibility with PMC structures." | 20:29 | |
| whiteknight | KILL IT WITH FIRE | ||
| particle | if anyone notices things in parrot that can only be reached via poking into structs, please ticket them | ||
| whiteknight | particle: that's a great point, and probably should be a weekly focus at some point | 20:30 | |
| darbelo | Holy shit! "strstart" is already deprecated! | ||
| NotFound | darbelo: have fun if trying to kill it | ||
| moritz | so if I find it in the rakudo source, what should I replace it with? | 20:31 | |
| jrtayloriv | darbelo, I already posted a patch for those docs | ||
| nobody has committed it yet. | 20:32 | ||
| Coke | notfound: right. the design was completed but not implemented. Doesn't imply anything negative about the design. | ||
| whiteknight | moritz: we need to implement a sane API to replace it. Suggestions welcome | ||
| whiteknight is leaving now. Layer | |||
| Later* | |||
| darbelo | moritz: My guess: Parrot_str_to_cstring(), and pair it with a Parrot_str_free_cstring() | ||
| jrtayloriv | darbelo, (TT #958) | ||
| Coke | at least, it was /theoretically/ completed. | ||
| moritz | uhm, that's quite a lot work for simple tests | ||
| jonathan | moritz: You won't - I'm sure - find strstart in the Rakudo source. | 20:33 | |
| moritz | src/pmc/perl6str.c | ||
| 133: if (s && s->strstart) { | |||
| 134: const char *s1 = s->strstart; | |||
| jonathan | ...erm, in the bits I wrote...damm. | ||
| :-) | |||
| moritz | that's generated code, I think | ||
| jonathan | ah | ||
| Look at the pmc file | |||
| darbelo | if( s ) { | ||
| NotFound | Coke: I'm not sure if that completeness has been asserted by soemone that looked at the real usages in the code base | 20:34 | |
| moritz | it's in the .pmc file too | ||
| jonathan | Oh well | ||
| At least it's in a PMC that is meant to be dealing with strings... | |||
| Coke | NotFound: so let's verify that rather than throwing it out. =-) | 20:35 | |
| darbelo | Heh, the actual parrot String PMC is pretty tame if you compare it with others. | ||
| Coke | ISTR that allison signed off on it, for what's that worth. | ||
| jonathan | IMO, Simon is more than a little competent in this area. It's too bad he couldn't see the implementation through, but I strongly recommend his design be considered. | 20:37 | |
| darbelo | Coke: (pdd has what I need) Only in the 'deprecated' section :) | 20:40 | |
| But I consider using deprecated functions a step above direct struct member access, so it's good enough for me. | 20:43 | ||
| Coke is very confused. | 20:45 | ||
| compromise? | 20:46 | ||
| purl | compromise is that you promise not to change the metaclass | ||
| Coke | no, compromise is an agreement that means no one is happy. | ||
| purl | okay, Coke. | ||
| NotFound | Did we need a deprecation cycle or something to add a new PObj flag? | ||
| Coke notes that ops2c seems to be generating CONTEXT() ... | 20:48 | ||
|
20:51
darbelo joined
20:53
hercynium joined
|
|||
| darbelo | NotFound: "Never to add, always to remove" is the way I read the current policy. | 20:53 | |
| chromatic | Me too, but I keep hearing "You can change, as long as it stays the same, even if it can't possibly work." | 20:54 | |
| Coke | ETOOBITTER. | ||
| chromatic | Not at all. | ||
| Coke | I'm sure I was talking about my koohii. | ||
| chromatic | ALL existing code MAY have to change. | ||
| The TYPE DECLARATIONS of all existing code which deals with CONTEXTs *probably* has to change. | 20:55 | ||
| NotFound | I'd like to add a flag that signals that the PObj is live, but the name 'live' is already taken. | ||
| Will 'active' be a good name? | |||
| darbelo likes not_dead | 20:56 | ||
| chromatic | If code has to change, why even try to keep source level compatibility, especially when the naive and easy approach is a guarantee that SOME cases will cause segfaults? | ||
|
20:56
bacek joined
|
|||
| NotFound | darbelo: I was trying to avoid having to write code that looks like: "Wanted PObj, dead or alive" | 20:56 | |
| darbelo | NotFound: I would advocate the rewrite of fundamental core subsystems, just to allow code like that. | 20:57 | |
| NotFound | darbelo: code like that is a must if we want to catch GC errors | 20:58 | |
| darbelo wasn't talking about the error :) | 20:59 | ||
| find_pmc_dead_or_alive(); | |||
| Coke | speaking of segfaults.... =-) | 21:03 | |
| cotto | With the proper application of libsigsegv we'll never see a segfault again. | 21:06 | |
| And by "proper" I mean "improper". | 21:07 | ||
| NotFound | cotto: don't see them is not a problem. In fact is what most people do most of the time X-) | ||
| mikehh | ha - wouldn't want to discredit cotto++ but ... | ||
|
21:10
workbench joined
21:13
rbaumer joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40929 - Ubuntu 9.04 amd64 (gcc) | 21:18 | |
| also wioth g__ | |||
| that was supposed to be g++ - hit the wrong key - need some sleep cul8r | 21:19 | ||
| NotFound | karma g | ||
| purl | g has karma of 623 | ||
| darbelo | g-- | ||
| Tene | karma g__ | 21:21 | |
| purl | g__ has neutral karma | ||
| Tene | g__++ | ||
| karma g++ | |||
| purl | g++ has karma of -1 | ||
| darbelo | karma c | ||
| purl | c has karma of 7982 | ||
| Tene | karma c++ | ||
| purl | c++ has karma of -86 | ||
| darbelo | karma c99 | ||
| purl | c99 has karma of -2 | ||
| darbelo | karma c89 | ||
| purl | c89 has karma of 1 | ||
| darbelo | karma objc | 21:22 | |
| purl | objc has neutral karma | ||
| Coke | msg mikehh mikehh++ # running regular spec test runs; hopefully partcl will be able to avoid regressions now. | 21:23 | |
| purl | Message for mikehh stored. | ||
| cotto | karma getting back to work | 21:26 | |
| purl | getting back to work has neutral karma | ||
| cotto | clearly | ||
| darbelo | (getting back to work)++ | 21:27 | |
| bacek | Good morning | ||
| purl | And good moroning to you, bacek. | ||
| bacek | cotto: found new job? | ||
| particle heads out for lunch and errands & | 21:29 | ||
|
21:30
joeri left
|
|||
| cotto | bacek, funny you should ask. I just got one today! | 21:31 | |
| Coke | (16+17)/3363 | ||
| purl | 0.00981266726137377 | ||
|
21:31
Whiteknight joined
|
|||
| bacek | cotto: congratulations | 21:31 | |
| cotto | It's a good day. | 21:32 | |
| darbelo | cotto: Cool! You can start eating again! | ||
| cotto | and I won't have to lean on you so hard for that GSoC kickback | ||
| unrelatedly, did you get your final payment yet? | 21:33 | ||
| Coke | hey, I'm starving. | ||
| -> | |||
| cotto | <- | ||
| darbelo | cotto: Yup. Still waiting on the shirt, though. | 21:34 | |
| cotto | I'm feeling good. This profile postprocessing code is finally looking partly sane. | ||
|
21:34
beta joined
21:35
beta left
21:36
workbench joined
|
|||
| cotto | workbench, owner | 21:45 | |
| workbench | That contained a sentence with fewer than three words. | ||
| cotto | workbench, who is your owner | ||
| workbench | Factoid 18099926 = (who) (is) (your owner) | ||
| cotto | workbench, What is the average rainfall in the Amazon basin? | 21:46 | |
| workbench | Factoid 35952082 = (What) (is) (the average rainfall in the Amazon basin?) | ||
| jonathan | workbench, help | 21:51 | |
| workbench | There's no help for topic 'help'. | ||
| jonathan | well that's helpful | ||
|
21:52
nopaste joined
|
|||
| cotto | workbench, purl | 22:00 | |
| purl | somebody said workbench was a robot or keeping norris's cock all to himself | ||
| workbench | That contained a sentence with fewer than three words. | ||
| cotto | purl, antibotsnack | ||
| purl | thanks cotto :) | ||
|
22:03
dngor joined
|
|||
| dalek | rrot: r40930 | cotto++ | branches/pluggable_runcore/tools/dev/pprof2cg.pl: [profiling] split pprof2cg into functions for greater sanity, testing and refactoring |
22:05 | |
|
22:05
theory joined
22:13
skv joined
|
|||
| Coke | if we have a nonresponsive bot, we should boot 'im. | 22:30 | |
| darbelo | Okay, I can find no effcient way to implement the String PMC's trans METHOD without poking into the underlying STRING's members. | 22:32 | |
| chromatic | If it's within src/string/*.c that should be fine. | ||
| darbelo | it's in src/pmc/string.pmc | ||
| Coke | 6651 / 60 / 60 | 22:33 | |
| purl | 1.8475 | ||
| Coke wonders if there is a git workflow that would allow him to check in new code somewhere while running a 2 hour test suite that required me not to change any code. | 22:36 | ||
| darbelo | If I stick to what the pdd says I can do to a STRING, then I have to do a Parrot_str_replace() with a (temporary) STRING of length one, inside a loop. | 22:37 | |
| I think that calls for a Parrot_str_replace_grapheme() function. | 22:38 | ||
| Well, Parrot_str_replace_character(), since the grapheme functions aren't implemented. | 22:40 | ||
|
22:41
rg joined
|
|||
| treed | Coke: You could set up a private remote with a post-commit hook. | 22:41 | |
| Push to it to test. | |||
| Coke | note that the repo running the 2 hour process is a git-svn repo. | 22:42 | |
| I had trouble when that was factored in the last time. | |||
| not a huge deal, as I can just work temporarily in a straight svn checkout | |||
| bacek | Coke: mkdir tmp; git clone ../orig; ...; git commit; git push | ||
| chromatic | I'd make a temporary, short-lived branch. | 22:44 | |
| dalek | rrot: r40931 | bacek++ | branches/context_pmc3/src/jit/i386/jit_defs.c: Partially unbroke jit. Returning values from calls still broken. |
22:46 | |
| Coke wonders how to get putty out of full screen mode when alt-esc doesn't bring up the menu, and alt-tab doesn't. | 22:47 | ||
| darbelo | alt-enter? | ||
| Coke | nope | ||
| bacek | ctrl-alt-reset :) | ||
| Coke | this library computer must be VERY locked down. | ||
| brb | |||
| darbelo | F11? | ||
| purl | F11 is, like, mapped to the escape key | ||
| chromatic | Hmm, that makes me think I could fix that part of the JIT... but do I want to? | 22:48 | |
| bacek | chromatic: up to you. I've spent about 4 hours on this 3 lines already... | 22:49 | |
| chromatic | My problem is I think it's the WRONG policy. | 22:50 | |
| I think Allison's interpretation of our deprecation policy is actively harmful. | |||
| Tene | chromatic: would you rather work on that segfault I had from rakudo when trying to use the Mysql library? | 22:51 | |
| I saw some of that discussion in #ps... | |||
|
22:51
skv joined
|
|||
| chromatic | My top priority is reviewing the profiling core. If you want me to look at that segfault, give me some code and I'll take a look afterwards. | 22:51 | |
| bacek | Just $0.02. I've spent about 3-4 days in context_pmc3 branch on "deprecation policy" related stuff... | ||
| chromatic | I think that branch is doomed because of it. | 22:52 | |
| Tene | I just wonder what audience she's targetting with her interpretation of the deprecation policy. Who does she believe it helps? | ||
| chromatic | It doesn't help anyone, is the problem. | ||
| Any HLL that uses CONTEXT(interp) directly needs source code review to make sure it won't crash. | |||
| Someone needs to review all uses of the macro. | 22:53 | ||
| Every one. | |||
| purl | every one is broken | ||
| treed | Wouldn't it be reasonable to convene a sort of HLL council which could be asked "Hey, are you guys using this?" | ||
| Tene | So... what happens if we just merge it in, fix rakudo, and nobody complains? | ||
| chromatic | No, because she's invoking the DarkPAN nuclear argument. | ||
| treed has no idea what that is. | |||
| chromatic | "There may be code which we can't see and thus can't debug which relies on this, and we need to notify them with our regular deprecation policy and give them a chance to migrate to the new version." | 22:54 | |
| Even though THEY HAVE TO MODIFY THEIR CODE ANYWAY. | |||
| treed isn't terribly enthusiastic about the deprecation policy as it sits. | 22:55 | ||
| NotFound | Tene: What Mysql library? | ||
|
22:55
ruoso joined
|
|||
| treed | "When" something *can* be removed isn't nearly as useful to know as when it *will* be removed, and what's the alternative | 22:55 | |
| Tene | NotFound: examples/nci/Mysql.pir | ||
| treed | Which don't seem to be required under the deprecation policy as I've seen it. | ||
| chromatic | In other words, to introduce an API to encapsulate struct-poking behavior, we have to *add* more struct-poking macros so people can poke in structs safely until they decide that they want to rewrite their code again to use the API which we've already provided. | 22:56 | |
| duk3leto | i really like the idea of preemptively telling HLL's "hey, don't do that, we will break your shit soon 'cause you are using an undocumented internal-only macro" | ||
| chromatic | I can think of several options. | ||
| NotFound | Tene: It doesn't work since some changes in nci broke it, I lacked the time to fix it | ||
| treed would just prefer to see more communication about deprecation. | |||
| duk3leto | treed++ | 22:57 | |
| chromatic | I'm tempted to release 1.4.1 with only that deprecation notice added. | ||
| treed | "This will be marked deprecated." "This is being removed as of $date." | ||
| Tene | NotFound: even trying to instantiate a Mysql object from rakudo causes segfaults. | ||
| treed | "This is what you use instead." | ||
| NotFound | Our deprecation policies have a problem: for example, the random thing, we deprecated and deleted it before having a replacement. | ||
| treed | Exactly. | 22:58 | |
| duk3leto | NotFound: hmm, close but not exactly. I had the random dynops written before deleting the random PMC | ||
| treed | It needs to be: Propose deprecation. Create alternative, mark as deprecated. Wait a bit, then remove." | ||
| nopaste | "tene" at 97.117.70.208 pasted "This segfaults, and the equivalent pir doesn't. NotFound++" (4 lines) at nopaste.snit.ch/17787 | ||
| treed | With the exception of shit that can't do that. | ||
| duk3leto | NotFound: but your point still stands | ||
| chromatic | Some things just don't work. JIT for example. | ||
| treed | Which maybe should just have a longer guaranteed transition time. | ||
| Coke | treed: alternatives are not always necessary. | ||
| we can just say "we're not doing that anymore." | |||
| treed | Coke: If there's no reasonable alternative, then skip that step. | 22:59 | |
| NotFound | duk3leto: but we don't had a release where that replacement can start to be used. | ||
| Coke | NotFound: I thought rand() was added before RANDOM was removed. | ||
| duk3leto | NotFound: correct. Perhaps deleting deprecated stuff should be done in the *beginning* of a dev cycle, instead of the last few days, which only gives rakudo a few days to fix their stuff before their release | ||
| chromatic | Yes, we should be a lot better about that. | 23:00 | |
| duk3leto | and other HLL's too, of course | ||
| something along the lines of "deprecated code should be removed in the first half of a dev cycle, to give HLL's sufficient time to upgrade their code" might be a good idea | 23:01 | ||
| NotFound | No, my point is that we must put the replacement (when one can be done) at the same time that the deprecation notice. That way people can start changing his code. | ||
| Coke | NotFound: ah, I see your point. yes. | ||
| duk3leto | NotFound: or before ;) | ||
| NotFound | "same time" == "same release" | ||
| chromatic | I disagree. | ||
| Coke | chromatic: certainly it's preferable. | 23:02 | |
| (er, wait, who are you talking to?) | |||
| duk3leto | NotFound: that ties having a solution to deprecating something, which is a lot more work. | ||
| chromatic | I'm disagreeing with NotFound. | ||
| Coke | I think it would certainly be nice if we had the new API in place before removing the old one. | ||
| bacek | We can't adjust our release cycle to release cycles of all HLLs. | ||
| chromatic | Sure, but that's not always possible. | ||
| duk3leto | NotFound: if we must have a solution before deprecating, JIT would never get fixed | ||
| treed | (Note: Cardinal has no release cycle for the forseeable future. We'll just track SVN HEAD.) | 23:03 | |
| chromatic | If we must always have a solution before deprecating, we can't make contexts into PMCs. | ||
| duk3leto | bacek: no, they should sync up to ours :) | ||
| NotFound | Not always, but when is possible it must be the prefered way. | ||
| Tene | And who benefits by holding back the context_pmc work? | ||
| chromatic | The DarkPAN benefits. | ||
| Coke | (in random's case, the problem was the huge delay in deciding on what the replacement should look like. =-) | ||
| duk3leto | Tene: not me | ||
| chromatic | If it exists. | ||
| Coke | I have a hard time believing parrot has a PAN Of any kind. | ||
| bacek | Tene: DarkPANers of Parrot... | ||
| chromatic | Rakudo doesn't benefit. Partcl doesn't benefit. | ||
| treed | I really think a reasonable solution to most deprecation issues is just constant contact with representatives from HLL projects. | 23:04 | |
| NotFound | Coke: that problem was quickly solved when people absolutely need a replacement ;) | ||
| chromatic | Remember though, we are talking about the EXTERNAL CODE POKING DIRECTLY INTO PARROT DATA STRUCTURES. | ||
| duk3leto | Coke: in random's case, the problem was that dynops were not being installed correctly and it took me a few days to figure out how to fix rakudo (with moritz++'s help), which *did* get a bit close for comfort to the rakudo release | ||
| chromatic | Our deprecation policy explicitly *disclaims* that we support that. | ||
| Coke is now getting "Object must be created by a class." | 23:05 | ||
| Coke thought those were all fixed. :| | |||
| NotFound | Note that the auto_attrs in fact can break some code, and we allowed it to pass ;) | ||
| duk3leto | chromatic: Perhaps we should add "if you poke into our internal data structures in your code, you get what you deserve. Namely, segfaults." to our support policy? ;) | 23:06 | |
| chromatic | I did! | ||
| Coke wishes the parrot debugger works. | |||
| duk3leto: you were the latest to hack on that, yes? | |||
| bacek | duk3leto: it's already there :) | ||
| cotto | chromatic++ for that clarification | ||
| duk3leto | Coke: yes, I wish breakpoints worked | ||
| NotFound | Coke: it works for some value of "works" ;) | ||
| treed | A debugger would be so damned handy. | ||
| duk3leto | Coke: please add a ticket for making breakpoints work, if someone else seems to care, I may have more motivation :) | 23:07 | |
| Coke | I don't want a breakpoint. I want a backtrace. | ||
| NotFound | duk3leto: a year ago they worked, but I think only in the simplest pbc's | ||
| chromatic | We're two weeks from the next release, right? | ||
| duk3leto | i know it is not the same, but incase anybody hasn't checked it out, there is tools/dev/parrot_shell.pl for prototyping/timing simple pir code | ||
| bacek | chromatic: something like this | ||
| chromatic | Let's just merge the damn branch and be done with it. | ||
| duk3leto | chromatic+++ | 23:08 | |
| Tene | +1 | ||
| purl | 1 | ||
| treed wants to be able to stop code at arbitrary points and examine the state of variables. | |||
| Which branch is this? bacek's? | |||
| Coke | I'm getting that error, I have no idea where in the several thousand lines of tcl I'm running that error is. | ||
| chromatic | Yes. | ||
| treed has no opinion on the matter, other than what he's seen here. If it breaks Cardinal, I'll fix it. | |||
| duk3leto | treed: you can examine the state of variables now in the debugger, but you have trace/step manually. no breakpoints :( | ||
| bacek | I can do it. Tonight. | 23:09 | |
| chromatic | If we have to yank it before the next release, so be it. | ||
| bacek | It's $dayjob time. And it will take some time to sync branch with trunk. | ||
| chromatic | We have a repository for a reason. | ||
| bacek | But JIT still broken. | ||
| duk3leto | treed: you can add/delete breakpoints just fine. it is that the condition doesn't make the debugger actually stop in the correct place | ||
| or stop at all, for that matter | |||
| treed | duk3leto: I didn't know there was a debugger. | 23:10 | |
| duk3leto | treed: ./parrot_debugger | ||
| treed | Huh. | ||
| Works like parrot, except that it has a debugger interface? | |||
| duk3leto | treed: i added mosts of the tests and updated the docs recently. it is still a mess, but basically useable, other than breakpoints | ||
| cotto | It'll be interesting once allison gets back. | ||
| duk3leto | treed: ./parrot_debugger foo.pir | ||
| treed | Neat! | ||
| treed tries it out. | 23:11 | ||
| chromatic | bacek, do you think fixing the JIT will take more than a day or two? | ||
| duk3leto | treed: then type "t" to trace a single line of code, or "c" to run everything | ||
| treed: p P will print all PMC variable, p N2 will print $N2, etc... | |||
| treed | does it start out stopped? | ||
| duk3leto | treed: yes | ||
| treed | So, I just hit t until I get to where I want to look at it. | ||
| Tene | chromatic: wasn't there discussion of dropping JIT? | ||
| duk3leto | treed: try doing "t 5" to trace the first 5 instructions | ||
| treed | ASsuming that once you hit c, you can't stop it. | ||
| chromatic | I don't even want to *think* about the debate over dropping JIT right now. | 23:12 | |
| duk3leto | treed: trace means print out and run each line | ||
| treed: yes, currently, c will just run the entire code | |||
| treed | Huh. | ||
| bacek | chromatic: I have no idea about how JIT works and why it's broken. | ||
| treed | It just ran and gave me a backtrace. | ||
| duk3leto | treed: please pastebin | ||
| chromatic | bacek, given what I've seen so far, I think it's possible to fix. | 23:13 | |
| treed | pastebin what? | ||
| purl | pastebin is, like, see nopaste. or see shadowpaste | ||
| treed | Or can you not do it with pbc files? | ||
| duk3leto | treed: a good backtrace or a bad backtrace ? | ||
| treed | It's the normal backtrace that occurs when I try to run it normally. | ||
| dalek | rtcl: r672 | coke++ | trunk/docs/spectest- (2 files): Passing another 33 tests, with one more file running to completion. |
||
| bacek | chromatic: it will be good. | ||
| treed | The backtrace that I'm trying to debug on cardinal's end. | ||
| duk3leto | treed: should work with pbc, i thought there was a test for that | ||
| treed | (In the iss41 branch, which has been stagnant for a couple days.) | ||
| ../parrot/parrot_debugger cardinal.pbc | 23:14 | ||
| Acts just like ../parrot/parrot cardinal.pbc | |||
| duk3leto | treed: i have found that "gdb parrot" is a lot more useful than the parrot_debugger. set a breakpoint on Parrot_break, and you are set | ||
| treed | How do you view registers and whatnot, thougH? | ||
| treed doesn't know much about parrot internals. | |||
| duk3leto | treed: p I0 should print the I0 register | 23:15 | |
| treed | Even in gdb? | ||
| duk3leto | treed: note that you can only print registers while the code is running, so you have to trace into the code a bit first | ||
| treed: oh. not in gdb. viewing regs in gdb is a very good question | |||
| chromatic | Hm, how do I switch to the context PMC branch with a git/svn checkout? | 23:16 | |
| treed would try running parrot_debugger on a pir file, but this broken cardinal can't even compile one. | |||
| duk3leto | chromatic: git checkout context_pmc ? | ||
| chromatic: perhaps git checkout svn/context_pmc | 23:17 | ||
| bacek | git checkout context_pmc3_local; git reset --hard remotes/context_pmc3 | ||
| git checkout -b context_pmc3_local; git reset --hard remotes/context_pmc3 | |||
| duk3leto | chromatic: it depends how you set up your git-svn | ||
| Tene | chromatic: depends on whether you copied the entire repo or just /trunk | ||
| chromatic | [svn-remote "svn"] | ||
| url = svn.parrot.org/parrot | |||
| fetch = trunk:refs/remotes/trunk | |||
| branches = branches/*:refs/remotes/* | |||
| tags = tags/*:refs/remotes/tags/* | |||
| bacek | chromatic: you'll probably have to "git svn fetch" before checking out | 23:18 | |
| Tene | git checkout context_pmc3 | ||
| chromatic | git svn fetch definitely checks out branch commits. | 23:19 | |
| Tene | better would probably be: git checkout -t -b context_pmc3 context_pmc3 | ||
| duk3leto | chromatic: git svn fetch updates your git-svn will all branches. git svn rebase just updates whichever branch you are tracking, which is probably trunk | ||
| chromatic | Ah, I see. | ||
|
23:20
donaldh joined
23:22
TonyC joined
|
|||
| chromatic | I think that's done it. Thanks. | 23:22 | |
| bacek | chromatic: trac.parrot.org/parrot/wiki/git-svn-tutorial "Tracking SVN branches with GIT". | 23:23 | |
| It's brain-dump of my workflow. Can't be improved, apparently. | |||
| cotto | Your brain is perfect. | 23:24 | |
| bacek ~~ $dayjob | |||
| cotto: may be. But dump looks ugly enough :) | |||
| dalek | rtcl: r673 | coke++ | trunk/runtime/builtin/info.pir: make [info exist] work as well as [info exists] This re-enables at least one spec test file. |
23:28 | |
| cotto | clock? | 23:30 | |
| purl | cotto: LAX: Wed 4:30pm PDT / CHI: Wed 6:30pm CDT / NYC: Wed 7:30pm EDT / LON: Thu 12:30am BST / BER: Thu 1:30am CEST / IND: Thu 5:00am IST / TOK: Thu 8:30am JST / SYD: Thu 9:30am EST / | ||
| dalek | rtcl: r674 | coke++ | wiki/SpecTestStatus.wiki: This test runs to completion now. |
23:33 | |
|
23:45
skv_ joined
23:47
Whiteknight joined
|
|||
| chromatic | Looks like this does it. | 23:49 | |
| bacek_at_work | hi again | 23:51 | |
| purl | oh, you're back! | ||
| davidfetter | wb! | 23:53 | |
| dalek | rrot: r40932 | chromatic++ | branches/context_pmc3/src/jit/i386 (2 files): [JIT] Fixed JIT to find the right current_results member in the new Context PMC. |
23:56 | |
| chromatic | make testj passes on 32-bit Linux for me with that. | ||
| darbelo | Merge that sucker! | ||
| chromatic | We should notify the list first, just to prepare anyone tracking HEAD for the possibility of DarkPEN breakage. | 23:57 | |
| bacek_at_work | Yay! chromatic++ | ||
| jonathan | OH NOES but what if it breaks Rakudo's use of undocumented "APIs"? ;-) | 23:59 | |
| dalek | rrot: r40933 | chromatic++ | branches/context_pmc3/src/jit (4 files): [JIT] Attempted to fix up context accesses for AMD64, PPC, and Sparc JITs as why not try? |
||
| chromatic | Then we rip it out until January 2010. | ||