|
Parrot 1.1.0 Released | parrot.org/ | 322 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets Set by moderator on 13 May 2009. |
|||
|
00:18
japhb joined
00:21
Theory joined
|
|||
| Whiteknight | when did Rakudo get moved to it's own HLL? | 00:32 | |
| last i heard that was still blocked | |||
| darbelo | I don't follow rakudo but I think I saw a commit about that scroll by this week. | 00:33 | |
| jonathan | Whiteknight: Yes. | 00:34 | |
| Whiteknight: Happened just yesterday. | |||
| Whiteknight | wow, nice. what ended up being the problem? | ||
| jonathan | Whiteknight: Well, there were many issues along the way. | 00:35 | |
| Whiteknight | ...as one would expect | ||
| jonathan | Whiteknight: One is that we fiddle with Parrot classes. | ||
| That maybe was the biggest source of pain. | |||
| I'd not say there was any one single huge blocker, just a lot of little bits that all had to be done. | 00:36 | ||
| We've taken a performance hit from it though. | |||
| Haven't really figured out why yet. | |||
| Whiteknight | yeah, I just read your blog post | 00:37 | |
| there is lots of optimization to be done throughout parrot, it's a little premature though when we don't even have all our subsystems fully implemented | |||
| jonathan | Sure, that is an issue too. | 00:39 | |
| Premature optimization is bad, but I fear putting any optimization off too long is going to hurt Parrot adoptation too. | 00:40 | ||
| The optimizations chromatic++ does seem to be quite sensible ones that won't hurt us later. | |||
| Whiteknight | yes, he's a rockstar | ||
| jonathan | I agree there are very likely optimzations now that could hurt later too though. | ||
| So it's a balance. | 00:41 | ||
| Plus Rakudo itself could easily be more optimal in a lot of places too. | |||
| But again, don't want to do it too early. | |||
| While being aware that it's already a pain point. | |||
| Whiteknight | I'm surprised that multis are only 10% slower then single dispatch | 00:43 | |
| darbelo | purl msg cotto When you get a chance give my last commit a look and tell me if I botched the interface too badly. I'm not entirely convinced that what I did is The Parrot Way To Do It either, but it seemed sensible at the time. | ||
| purl | Message for cotto stored. | ||
| jonathan | Whiteknight: They probably aren't in Parrot | ||
| Perl6MultiSub has a dispatch cache. | |||
| Whiteknight | yeah, I know the P6 version has some nice caching | ||
| jonathan | Well, actually the cache is the same one used by opcode dispatch in Parrot. | 00:44 | |
| Parrot's MultiSub PMC could also use it, if it were refactored to do so. | |||
| (Basically, stop inheriting from RPA and have an RPA instead, and then there's space for a cache pointer.) | 00:45 | ||
| (have an = as an ATTR) | |||
| The cache could actually be better too. | 00:46 | ||
| As I blogged, I put the current one together in an afternoon because I wanted something that worked and gave a decent gain. | 00:47 | ||
| Whiteknight | I wonder how much of that runtime is related to memory allocations and the GC | ||
| I'm planning a few big gains in that area | 00:48 | ||
| jonathan | I think we allocate a STRING * | ||
| Whiteknight | or, things that I hope are big gains | ||
| jonathan | Hopefully. :-) | 00:50 | |
| Are you planning on a more generational scheme? | 00:51 | ||
| Whiteknight | My initial plans aren't to write a new core, but to fix up some of the inefficient things the current one does | 00:52 | |
| do fewer mallocs, for instance | |||
| jonathan | *nod* | ||
| That'd certainly be a Good Thing. | |||
| ok, sleep for me, night | 00:58 | ||
| Whiteknight | goodnight | 00:59 | |
|
01:28
mj41_ joined
|
|||
| dalek | rrot: r38809 | coke++ | trunk/docs/user/pir (3 files): [docs] Test more PIR/PASM. Probably not the best for didactic purposes, but certainly easier for testing our own samples. |
01:34 | |
| rrot: r38810 | coke++ | trunk/docs/pmc (2 files): [docs] mark & test more PIR/PASM code |
01:47 | ||
|
01:51
eternaleye joined
|
|||
| dalek | rrot: r38811 | coke++ | trunk/docs (2 files): [docs] mark & test more PIR/PASM samples |
02:10 | |
| rrot: r38812 | coke++ | trunk/docs/imcc (2 files): [docs] Mark & test more PIR/PASM examples. |
02:13 | ||
| rrot: r38813 | coke++ | trunk/docs/dev (3 files): [docs] Mark & test more PIR/PASM |
02:23 | ||
| rrot: r38814 | coke++ | trunk/docs/pct (2 files): [docs] Mark & Test more PASM/PIR code. |
02:26 | ||
|
02:34
benjaminvm joined
|
|||
| benjaminvm | Can someone help me (I am new to Parrot)? How do I had a .c file to the Makefile/Configuration System? So it compiles and links. | 02:46 | |
| Thanks in advance. | |||
| Whiteknight | benjaminvm: what do you need to add? | 02:47 | |
| benjaminvm | I am mapping the call stack. | ||
| To create a graph for dependency documentation, using Graphviz. | 02:48 | ||
| Whiteknight | okay | ||
|
02:48
janus joined
|
|||
| Whiteknight | You need to add the file to config/gen/makefiles/root.in | 02:48 | |
| that's the makefile template | |||
| Then you need to rerun Configure.pl, which will generate the makefile from the template | 02:49 | ||
| and assuming you have all your dependencies in order, that should work | |||
| benjaminvm | Thanks! | ||
| Whiteknight | no problem, I'm logging off but I'll be back here tomorrow if you need more help | 02:50 | |
| (or you can ask anyone else too) | |||
| goodnight | |||
| benjaminvm | Night. | ||
|
03:12
darbelo joined,
sekimura joined
03:20
donaldh joined
03:22
particle joined
|
|||
| dalek | rrot: r38815 | coke++ | trunk/docs/pmc/struct.pod: [docs] test/mark more PIR/PASM code. |
03:51 | |
|
03:58
Ademan joined
|
|||
| cotto | benjaminvm, feel free to submit a patch to the mailing list. That sounds like an interesting project you're working on. | 04:00 | |
| benjaminvm | I thought a graphical representation of Parrot runtime would be handy for documentation purposes. | 04:05 | |
| cotto | It'd certainly help make the project more approachable. | ||
| dalek | rrot: r38816 | coke++ | trunk/docs (15 files): [docs] Mark & test more pasm/pir. - upgrading some samples to compile - documenting the ones that already did, - and marking the rest as INVALID/TODO, hopefully appropriately. |
04:10 | |
| Coke thinks that's the last of the PIR/PASM snippets in docs. | 04:14 | ||
|
04:20
Austin_Hastings joined
|
|||
| dalek | rrot: r38817 | allison++ | trunk/docs/book/ch09_pasm.pod: [book] Completely gutting the PASM chapter, and removing it (replaced |
04:20 | |
| rrot: r38818 | allison++ | trunk/MANIFEST: [book] Updating the manifest for deleted chapter. |
|||
| rrot: r38819 | coke++ | trunk/docs/pct/past_building_blocks.pod: [docs] make pod test happy. [book] A quarter of the way through the PIR chapter. |
05:35 | ||
|
05:35
dalek joined
06:20
flh joined
|
|||
|
06:55
Andy joined
07:20
donaldh joined
07:39
iblechbot joined
07:50
barney joined
08:00
integral joined
|
|||
| dalek | a: c0c33a4 | fperrad++ | src/pmc/lua (3 files): remove useless #include |
08:00 | |
|
08:04
clunker3 joined
|
|||
| dalek | lscript: e3ac2c9 | fperrad++ | src/pmc/wmls (3 files): remove useless #include |
08:21 | |
| lscript: f9871d6 | fperrad++ | src/pmc/wmls (6 files): remove useless #include |
|||
| a: a104000 | fperrad++ | src/pmc/luabytecode.pmc: remove useless #include |
08:34 | ||
| cotto | does nqp support switch? | 08:51 | |
| guess not | 08:52 | ||
| bacek | cotto: nope. | 08:53 | |
| cotto | bacek, do you subscribe to parrot-commits? | 09:08 | |
| bacek | cotto: nope. Should I? | ||
| cotto | It'd be a good idea. Then you'd know that I just resynced pmc_pct with trunk. | 09:10 | |
| (and whatever else might happen) | |||
| bacek | I did see it. In IRC backlog :) | ||
| cotto | Whatever works. I just want to prevent us from getting in each other's way when possible. | 09:11 | |
| bacek | cotto: no worries. Git solves almost all problems :) | ||
| cotto | so I've heard | 09:12 | |
| bacek | afk # making dinner. | ||
| I'll try to find some time tomorrow to work on parrot. Still unlikely that it will happen... | 09:13 | ||
| cotto | you'll do it when you do it | 09:14 | |
| Something's goofy. say() isn't working from nqp. | 09:15 | ||
| bacek | you have to .loadlib 'compilers/nqp/nqp.pbc' for "say" and other builtins | 09:16 | |
| cotto | I don't remember having to do that in the past, but it makes sense. | 09:17 | |
| It must have already been there. | |||
| bacek | You removed it from pmcc.pir few days ago :) | 09:18 | |
| cotto | I did? Silly me. | 09:19 | |
| I remember that now. It didn't break anything because nothing was using it at the time. | |||
| bacek | Just add it back. Or add ".sub say" into builtins.pir | 09:20 | |
| cotto | I'm putting it back. | 09:21 | |
| bacek | (less code)++ | ||
| cotto | heh. I think vtable->attribute_defs can be removed. | 09:25 | |
| testing... | |||
| bacek | It's probably not. | 09:26 | |
| cotto | nm. It looks like pmcproxy uses it | 09:28 | |
| although that's the only place. That's suggestive... | |||
| plus the code generates the same thing for FLOATVAL and PMC*, which doesn't inspire confidence | 09:29 | ||
| bacek | It was discussion few days ago about "inspect" IIRC. Suggestion was to return at least attributes | ||
| cotto | ok. I'll file a tt if make test passes without it, but I'll reimplement it just in case. It's only a dozen loc anyway. | 09:32 | |
| Parrot doesn't build without it. | 09:34 | ||
|
09:44
iblechbot joined
|
|||
| cotto | bacek, have you done any work parsing vtable.tbl? | 09:47 | |
| nm. you have | 09:48 | ||
| bacek | cotto: only in perl5 | ||
| But I want to redo it. Current VTableInfo can be more useful | 09:49 | ||
| cotto | ok. I'll work on that. | 09:50 | |
| bacek | ok | ||
| cotto | any objection to me creating a .dump once the file's parsed? | ||
| bacek | no. I can't see any other place to create dump files. | 09:52 | |
| Or we can create reduced parser to parse ATTR's only and remove .dump files | 09:53 | ||
| But we have to parse all parents in this case. | 09:54 | ||
| cotto | Yeah. dump files are much faster and it's already likely to be slower than pmc2c. | ||
| bacek | It's definitely slower... Just because parrot isn't extremely fast :/ | 09:56 | |
| And we do full parsing of pmc's instead of cheating in pmc2c :) | 09:58 | ||
| cotto | My sekrit plan is to make parrot's build time more heavily dependent on how fast parrot runs. | 09:59 | |
| sneakily increasing pressure for a faster bird | |||
| bacek | good plan! | ||
| 15 seconds to parse default.pmc... | 10:00 | ||
| cotto | ouchies | ||
| bacek | mostly because of <c_body_statement>... | 10:01 | |
| It creates separated node for each char... But otherwise I can't parse <c_body_macro>. | 10:03 | ||
|
10:06
flh joined
|
|||
| dalek | rrot: r38821 | chromatic++ | trunk/config/gen/makefiles/root.in: [config] Added dynpmc dependency on PMC generation libraries. |
10:07 | |
| cotto | chromatic++ for finally taking care of that dependency | 10:10 | |
|
10:13
darbelo joined
|
|||
| cotto | This is going to be less trivial than I was hoping, but it'll still be nice to turn confusing regex soup into a clean grammar. | 10:14 | |
| darbelo, ping | |||
| darbelo | cotto: pong | ||
| cotto | I looked at your commit, and it looks fine, but I'd also consider accepting strings. | 10:16 | |
| darbelo | It does, sort of. | ||
| cotto | nm. I briefly forgot it was decContext, not one of the numerical types. | 10:17 | |
| darbelo | Calling set_digits with a string literal DTRT for me. | 10:18 | |
| $P2 = new 'DecContext' | |||
| cotto | yes | ||
| darbelo | $P2.'set_digits'("23") | 10:19 | |
| $I0 = $P2.'get_digits'() | |||
| say $I0 | |||
| should print "23" | |||
| s/I0/S0/ works too | 10:20 | ||
| cotto | PIR is nice that way | 10:21 | |
| darbelo | "say $P2.'get_digits'() " doesn't but thats a PIR thing. | ||
| cotto | yeah. One big part of using PIR is that you have to break everything down into opcode-sized chunks. | 10:22 | |
| btw, I highly recommend getting some sort of automated testing infrastructure in place. | 10:23 | ||
| even for prototype PMCs | |||
| darbelo | I agree. I've been testing by running the examples and it's starting to get old. | 10:25 | |
| I'm reading the Test::Harness::TAP docs now and looking at some parrot tests. | 10:26 | ||
| cotto | glad to hear it | 10:29 | |
| laziness is a good motivator | |||
| darbelo | It looks like I can do the test files in PIR, so long as I generate proper TAP. | 10:30 | |
| bacek | baseball bats are good motivators also | ||
| darbelo: look at t/pmc/packfile*t. | 10:31 | ||
| You don't have to think about TAP. | |||
| darbelo | I am of the opinion that those old L-shaped tire irons are superior motivational tools. | 10:32 | |
| dalek | rrot: r38822 | chromatic++ | trunk/src/pmc (5 files): [PMC] Modified PMC initializations to avoid unnecessary use of non-zeroed allocations -- especially as these initializers immediately overwrite allocated memory. |
10:37 | |
| cotto hopes that's not the only thing left to optimize ;) | 10:39 | ||
| darbelo | I want to be chromatic++ when I grow up. | ||
| cotto: given the amount PMCs parrot creates for everything I would expect even that small saving to add up to something measurable. | 10:43 | ||
| cotto | probably so | 10:44 | |
| dalek | rrot: r38823 | chromatic++ | trunk (3 files): [PMC] Modified PMC generator to skip the isa_hash in the case where the PMC has VTABLE entries to perform a simple exact match instead of the comparatively expensive hash lookup for type equivalence. |
10:47 | |
| rrot: r38824 | chromatic++ | trunk (3 files): [src] Modified raw NCI registration in PMC generator to use CONST_STRINGs startup. The speedup is minor, but measurable. |
|||
| darbelo | Also, I've been playing with both prototypes, and I think separate contexts are the way to go. It can do, with some effort, everything that per-pmc contexts can do. | 10:49 | |
| cotto++ for changing my mind on this. | 10:50 | ||
| cotto | glad to be of service | ||
|
10:52
AndyA joined
|
|||
| darbelo | Also changed my mind on the order of implementation. I thik now that BigNum will be easier to do first with BigInt coming later. | 10:52 | |
| cotto | It's a near-trivial difference anyway. | 10:54 | |
| darbelo | And while I'm talking about changes: I think doing s/Big/Dec/ on the names might be appropiate, now that we're not aiming to enter the parrot core. | 10:55 | |
| cotto | Have you looked into how to make that play nice with the existing Big* dynpmcs? | 10:56 | |
| I agree that it makes more sense from a naming perspective. | 10:58 | ||
| darbelo | Not in depth. Converting a Big* to a Dec* should be straightforward enough, but I'm not sure how that would interact with the GMP availability issue. | 11:01 | |
| cotto | Be sure to look into it first. It'll be important, since the gmp-based dynpmcs ship with Parrot. | 11:02 | |
| darbelo | The thing is I'm not entirely sure I can detect GMP at run-time. The PMCs are always there, but will throw an exception if GMP isn't. That might bring some troubles. | 11:07 | |
| cotto | You can catch exceptions. | ||
| cotto hands darbelo an exception mitt | 11:08 | ||
| darbelo | From c ? I haven't seen any parrot PMCs do that. | 11:09 | |
| cotto | Hmm. I know it's possible. lemme dig | 11:10 | |
| darbelo | OTOH it might not be necessary, if GMP isn't there an exception is the right thing to do. | ||
| I could use a "big -> string -> dec" conversion, and let Big* do the throwing. | 11:12 | ||
| same for "dec -> string -> big" | 11:13 | ||
| cotto | I know there's a way, but I'm about 5 minutes from being a zombie. Feel free to ask on the list, but I'm going to sleep. | 11:16 | |
| night | |||
| darbelo | mornin^Wnight | 11:17 | |
|
11:21
donaldh joined
|
|||
| mj41 | Hi. TapTinder found some regressions. tt.ro.vutbr.cz/report/pr-Parrot/do?...un-1424=on | 11:53 | |
| and tt.ro.vutbr.cz/report/pr-Parrot/do?...un-1487=on | 11:56 | ||
|
12:06
Whiteknight joined
|
|||
| darbelo | Hmm. t/dynoplibs/myops.t passes for me on parrot HEAD | 12:06 | |
| mj41 | On my test machine it really start failing in rr38804 (chromatic) tt.ro.vutbr.cz/report/pr-Parrot/do?...un-1424=on | 12:20 | |
| nopaste | "mj41" at 147.229.5.176 pasted "Failing tests details" (210 lines) at nopaste.snit.ch/16558 | 12:36 | |
|
12:39
rg joined
|
|||
| darbelo | Did a 'make realclean' and I'm seeing all three failures now. | 12:47 | |
|
12:51
HG` joined
12:52
masak joined
|
|||
| masak | gist.github.com/112669 # Parrot build failure | 12:52 | |
| seems I'm missing this file libintl.h | |||
|
13:02
AndyA joined
13:14
kid51 joined
|
|||
| dalek | rrot: r38825 | jkeenan++ | trunk (3 files): Renumbering of opcodes no longer differs between pre- and post-1.0.0 Parrot. Revise Parrot::OpsRenumber, the script that uses it, and the file that tests it. Cf.: trac.parrot.org/parrot/ticket/469. |
13:15 | |
| Whiteknight | I'm getting test failures: t/pmc/managedstruct.t, t/pmc/nci.t t/pmc/packfilefixupentry.t. | ||
| Anybody else seeing these? | |||
| Infinoid | masak: On my machine (linux/x86-64), libintl.h is part of the glibc package | 13:16 | |
| Whiteknight: packfilefixupentry.t passes here, the other two have some failures (and some ugly crash output from nci.t) | 13:17 | ||
| Whiteknight | I wish all this test output was a lot less verbose | 13:18 | |
|
13:21
burmas joined
|
|||
| dalek | rrot: r38826 | Infinoid++ | trunk (2 files): [cage] Pass c_function_docs.t (reran headerizer) and cuddled_else.t (add a newline). |
13:21 | |
| darbelo | Whiteknight: irclog.perlgeek.de/parrot/2009-05-16#i_1148354 | 13:24 | |
| Whiteknight | urg, running make test again (this time with a logfile) dumped core | 13:27 | |
| invalid pointer going into a realloc() | |||
|
13:27
szabgab joined
|
|||
| Whiteknight | (thanks for the link, darbelo) | 13:27 | |
| Infinoid | Whiteknight: I'm bisecting. | ||
| Whiteknight | Okay, excellent | 13:28 | |
|
13:28
flh joined
|
|||
| Infinoid | it wasn't c's recent NCI STRING stuff | 13:28 | |
| but it's something in the last 24 hours. I'll let you know when the bisect is done | 13:29 | ||
| flh | is there a way in PIR to make getstdin return something else than the actual stdin? I'd like to use that to change the behaviour of HLLCompiler in interactive sessions so that it only tries to parse things that look like (multiline) statements | 13:30 | |
| Infinoid | flh: What exactly do you think it should return? | ||
| Whiteknight | there are definitely lots of bad failures in the t/pmc/nci.t, that suggests something changed in the NCI system | ||
| flh | my own-cooked PMC, which would basically be stdin, but with a custom 'readline_interactive' method | 13:31 | |
| Infinoid | There are setstdout and setstderr ops, to override those, maybe we need a setstdin as well. | ||
| nopaste | "kid51" at 70.107.19.15 pasted "Build failure on Darwin/PPC at r38824" (741 lines) at nopaste.snit.ch/16559 | 13:33 | |
| Infinoid | (I've been wishing those overrode C level I/O rather than just pir level, but that's a separate issue.) | ||
| kid51: ah, I think masak is seeing the same issue | |||
| Whiteknight | Okay, all the failures I'm seeing are happening in the final GC run in Parrot_really_destroy | 13:34 | |
| Infinoid | Assuming libintl.h is available may be a linuxism (or a glibcism) | ||
| nopaste | "kid51" at 70.107.19.15 pasted "Failure point in build at r38824" (10 lines) at nopaste.snit.ch/16560 | 13:36 | |
| Infinoid | Whiteknight: r38822 | ||
| Whiteknight | woot. Infinoid++ | 13:37 | |
| nopaste | "darbelo" at 200.49.154.172 pasted "Anothe backtrace of the failure." (14 lines) at nopaste.snit.ch/16561 | ||
| kid51 | My paste 16560 is part of the diff between the log of my last successful build on this box versus today's log of the failed build. | 13:38 | |
| Infinoid | nice. | ||
|
13:39
rdice joined
|
|||
| Infinoid | So what happened to osx's gettext stuff within the last day or two? | 13:39 | |
| masak | Infinoid: I'm back. if there's any way I can help diagnose this, please let me know. | 13:44 | |
| maybe I should submit a parrotbug? | |||
| Infinoid | masak: I'm having trouble finding out what caused the failure. If you have time, a bisect wouldn't hurt | ||
| Whiteknight | okay, I think I have at least part of it fixed | ||
| darbelo | got a patch9;2~ | 13:45 | |
| Infinoid | masak: definitely parrotbug it if we don't find an immediate fix :) | ||
| darbelo | Sorry, got a patch? I can help verify. | ||
| masak | Infinoid: ok, I'll bisect and then file a parrotbug. | ||
| Infinoid | masak++ | 13:46 | |
| darbelo: Which platform are you on? | |||
| Whiteknight | commited | 13:47 | |
| darbelo | OpenBSD-current amd64 | ||
| Infinoid | Ok. I know chromatic tests religiously on linux/x86-32, so I've been running on the assumption that this was x86-64 specific. So that makes sense | ||
|
13:48
ruoso joined
|
|||
| dalek | rrot: r38827 | whiteknight++ | trunk/src/pmc/unmanagedstruct.pmc: [PMC] undo some changes made in r38822 in unmanagedstruct.pmc. I don't know exactly why this change is causing failures, but I suspect there is something bad happening in inheritance between unmanagedstruct and managedstruct that needs to be explored and fixed |
13:49 | |
| Infinoid | Testing now | ||
| Result: PASS | 13:50 | ||
| Whiteknight | w00t | ||
| Infinoid | Whiteknight++ | ||
| Whiteknight | now just need to find the root cause, figure out why that changed caused failure in the first place | ||
| darbelo | Infinoid: OpenBSD also pulls all sorts of randomization tricks on memory. It very good at crashing programs that behave fine on other systems :) | 13:51 | |
| Infinoid | hmm. SELF.init() will call ManagedStruct's init, right? | ||
| darbelo: linux 2.6 has started doing some of that too | 13:52 | ||
| random stack and heap, random code location, things like that | |||
| Makes it impossible to set conditional breakpoints in gdb which depend on pointer values, unless you turn it off first | |||
| Good in general tho :) | 13:53 | ||
| Whiteknight: At first glance, I think it's allocating a differently sized attr struct | 13:54 | ||
| Whiteknight | I found the problem, tested, and committed it | ||
| managedstruct:init_pmc was calling SUPER(value) | |||
| which would then reallocate the attributes structure to something smaller | 13:55 | ||
| Infinoid | yeah, and leak it | ||
| Whiteknight | right | ||
| Infinoid | leak the old one, I mean | ||
| Whiteknight | so I removed the call to SUPER, and that fixed it | ||
|
13:55
masak` joined
|
|||
| dalek | rrot: r38828 | whiteknight++ | trunk/src/pmc (2 files): [PMC] Fixed strange coupling between managedstruct and unmanagedstruct in init_pmc that allows chromatic++'s change in r38822 to be reapplied. Infinoid++ for helping bisect |
13:55 | |
| Infinoid | Cool. currently, SUPER() in ManagedStruct.init_pmc() didn't really seem to do much | 13:56 | |
| hmm | |||
| It does include a call to SELF.set_pmc(value), which in turn calls calc_offsets() | 13:57 | ||
| Whiteknight | right | ||
| Infinoid | so I guess it's initializing some stuff (?) | ||
| uck, UnManagedStruct is way too complicated for its own good. | |||
| Whiteknight | yeah, eventually that's going to need major refactoring | ||
| Infinoid | oh well, everything is passing now | 14:10 | |
| if something does depend on that extra initialization, we can always just call it in MS.init_pmc directly | |||
|
14:12
HG` joined
14:15
AndyA_ joined
|
|||
| kid51 is still experiencing build failures | 14:18 | ||
| dalek | rrot: r38829 | jkeenan++ | trunk/lib/Parrot/OpsRenumber.pm: At present time src/ops/ops.num is the only reasonable argument for renum_op_map_file(). So eliminate one internal ternary op so we don't have to write a test for it. |
||
| nopaste | "kid51" at 70.107.19.15 pasted "Build failures persist at r38828" (741 lines) at nopaste.snit.ch/16562 | 14:19 | |
| kid51 | Let me try a make realclean | 14:20 | |
| Infinoid | kid51: Haven't found a fix for that yet, still not sure what caused it. masak++ was going to do a bisect and post a TT | 14:21 | |
| kid51 | That was on Darwin/PPC. It appears I'm doing okay on Linux i386. | ||
| Infinoid | yeah, it sounds OSX-specific | ||
| kid51 | Damn. These OS-specific failures are a real PITA. | 14:23 | |
| Well, the problem has to have originated between r38784 and r38824. 38784 was my last successful build on Darwin/PPC, done on May 14. | 14:25 | ||
| Infinoid | hmm, ok | 14:27 | |
| nopaste | "kid51" at 70.107.19.15 pasted "Difference in build logs between r38784 and r38828 on Darwin/PPC" (89 lines) at nopaste.snit.ch/16563 | 14:28 | |
| kid51 | Likely source of problem: parrot/include/parrot/parrot.h:239:23: error: libintl.h: No such file or directory | 14:29 | |
| What is libintl.h? Something Unicode-related? IIRC there was some discussion of ICU problems on Darwin. | 14:30 | ||
| Infinoid | not unicode, it's i18n (string translation) | ||
| libintl.h has been included from parrot.h since 2008-04-12, whenever PARROT_HAS_GETTEXT is defined | |||
| I can't find any recent differences either in that include or in the gettext detection stuff | 14:31 | ||
| and I can't find anything i18n, libintl, gettext, osx or darwin specific at all in the last couple days' diff | |||
| and I can't reproduce it on linux, so I can't do a bisect. sorry | 14:32 | ||
| kid51 | Would this TT be relevant: trac.parrot.org/parrot/ticket/673 | 14:33 | |
|
14:34
polyglotbot joined
|
|||
| kid51 | (And, on top of everything else, smolder is down again.) | 14:34 | |
| Infinoid | probably not relevant. different subsystem | 14:35 | |
| judging from the google hits, OSX has never had libintl.h, so the issue seems to be that PARROT_HAS_GETTEXT is defined when it shouldn't be | |||
| The libintl stuff is used for supporting (for example) chinese or spanish or whatever, by putting all your strings through a lookup table (with a filename like /usr/share/locale/es/LC_MESSAGES/iso_3166_2.mo) at runtime based on some environment variables (like LC_ALL=es) | 14:38 | ||
| If your platform doesn't have it, it doesn't have it. But that shouldn't have changed in the last couple of days | |||
| libicu is unrelated, I think. we use it for manipulating unicode on the character level, and transcoding strings between character sets | 14:41 | ||
| nopaste | "kid51" at 70.107.19.15 pasted "Commits most likely to have included code which breaks build on Darwin" (52 lines) at nopaste.snit.ch/16564 | 14:43 | |
| kid51 | Infinoid: Can you look at that paste and suggest a point at which to begin bisecting? | ||
| masak` | bisect: r38804. | 14:45 | |
| Infinoid | masak++ | ||
| masak` | (gotta create an automatic bisecting tool for SVN...) | 14:46 | |
| I don't see how the changes in r38804 can affect the build failure, though. | |||
| but perhaps someone else does. | |||
| Infinoid | masak: There are two of them on CPAN, one written by Coke and one written by me | ||
| Coke's is more automatic. Mine is more like git bisect. | 14:47 | ||
| It must be stripping something from the Config array that it shouldn't be | |||
| s/ be// | |||
| masak | Infinoid: would it be useful if I svn upped, reverted r38804, and tried building? | 14:49 | |
|
14:50
AndyA joined
|
|||
| Infinoid | Sure | 14:50 | |
| masak: Actually... I'd love to see the diff of your config_lib.pasm before and after the revert | 14:51 | ||
| nopaste | "kid51" at 70.107.19.15 pasted "Instances of PARROT_HAS_GETTEXT" (4 lines) at nopaste.snit.ch/16565 | 14:52 | |
| Infinoid | Ok, so it's defined. It shouldn't be. I don't know why, but it sounds like reverting it will change that (and maybe some other stuff) | 14:53 | |
| kid51 | Am building at r38804. There are no significant differences between that r's config_lib.pasm and that of HEAD. | 14:56 | |
| Infinoid | kid51: if r38804 is the first bad rev, I suggest trying r38803 | ||
| (r38804 will just fail in the same way) | 14:57 | ||
| kid51 | Infinoid: yeah that just occurred to me as well. | ||
| masak | Infinoid: I'll make sure to get you the diff, but I can already say that Parrot builds with the commit reverted. | 14:58 | |
| Infinoid | thanks! that diff will be handy for waving at people on-list | ||
| (you shouldn't need to do a full build to get the diff, config_lib.pasm is generated by Configure.pl) | 15:00 | ||
|
15:01
tetragon joined
|
|||
| kid51 | Build failed at r38804. | 15:03 | |
| ... on Darwin/PPC. | |||
| Infinoid | r38830 reverts r38804. I can post to list about it when we understand the consequences a little better | 15:09 | |
| dalek | rrot: r38830 | Infinoid++ | trunk/config/gen/config_pm.pm: [config] Revert r38804. /Users/jimk/work/parrot/include/parrot/parrot.h:239:23: error: libintl.h: No such file or directory Revert it for now, until a better solution can be found. masak++ and kid51++ for reporting and bisecting. |
15:11 | |
| kid51 | Infinoid: Could you open a TT which describes this problem and what steps we've taken so far to correct it? So that we have a record of what we tried. | 15:14 | |
| Infinoid | I will, yes | 15:17 | |
| masak | gist.github.com/112709 # diff of config_lib.pasm | 15:19 | |
| Infinoid: I haven't created a TT yet, so you're welcome to go ahead and do it. | 15:20 | ||
|
15:20
donaldh joined
|
|||
| dalek | rrot: r38831 | whiteknight++ | trunk/docs/book/ch04_compiler_tools.pod: [book] some clarifications in the first sections of chapter 4. These parts were a little confusing and probably need more work still |
15:20 | |
| Infinoid | I think it must be an include path in ccflags that caused it | 15:21 | |
| actually, the normal CFLAGS doesn't seem to be used when compiling pbc_to_exe.c, though it's used for lots of other .o files (which apparently compile just fine with gettext) | 15:25 | ||
| kid51 | Confirmed that r38803 successfully completed 'make' on Darwin/PPC. | ||
| So confirm that problem (in whole or in part) occurred with r38804. | |||
| Infinoid | thanks | 15:26 | |
| Ah. the Makefile CFLAGS are right, but r38804 meant ccflags was no longer available to PIR. (pbc_to_exe.o is compiled by tools/dev/pbc_to_exe.pir, not the Makefile) | |||
| Infinoid writes it all up | 15:27 | ||
| nopaste | "kid51" at 70.107.19.15 pasted "Significant differences in config_lib.pasm between r38803 and r3884 on Darwin/PPC" (127 lines) at nopaste.snit.ch/16566 | 15:30 | |
| kid51 | Confirm that r38830 (reverting 38804) builds successfully on Darwin/PPC. | 15:35 | |
| Infinoid | thanks, TT #675 | 15:38 | |
| I think we can reapply r38804, but make it whitelist a few key items | |||
| nopaste | "darbelo" at 200.49.154.172 pasted "t/dynoplibs/myops.t still fails on OpenBSD amd64" (57 lines) at nopaste.snit.ch/16567 | 15:42 | |
| Infinoid | I am a bit worried that additional items pertaining to Configure.pl options may also need to be whitelisted. if they aren't enabled by default, they won't be seen until someone tries them, which will be a really nice, hard-to-find bug causing headaches later on | ||
| darbelo | Whiteknight: I'm still seeing a failure after your commits. The previous nopaste has the output of prove -v and a backtrace. | 15:44 | |
| Whiteknight | there is a failure in t/pmc/packfile... or something | 15:45 | |
| is that what you are seein? | |||
| darbelo | mine's on t/dynoplibs/myops.t | 15:46 | |
| dalek | rrot: r38832 | whiteknight++ | trunk/docs/book/ch04_compiler_tools.pod: [book] more reworking of the first parts of chapter 4 |
||
| Whiteknight | hmmm, that one isn't failing on my system | 15:47 | |
| darbelo | dumps core on Parrot_exit | ||
| nopaste.snit.ch/16567 has the backtrace | |||
| Whiteknight | right, i saw the backtrace, does look similar to the one for the managed struct issue that I just fixed | 15:48 | |
| without being able to duplicate it locally, or without getting a bisect, I really can't fix it | |||
| Infinoid | ooh, context handling | ||
| Infinoid tries throwing openbsd into qemu | 15:49 | ||
| darbelo | Infinoid is in for some failures :) | 15:50 | |
| Infinoid suspects it won't be as broken as dragonfly | |||
| Whiteknight | darbelo: Can you open up the debugger and see if Parrot_Scheduler_destroy() is being called before that call to Parrot_Timer_destroy()? | 15:52 | |
|
15:52
davidfetter joined
|
|||
| darbelo | Not entirely sure how to invoke gdb to run a parrot test. | 15:53 | |
| Whiteknight | depends if the test is written in Perl or Parrot | 15:54 | |
|
15:54
HG` joined
|
|||
| Whiteknight | if Perl, you would do "start t/dynoplibs/myops_7.pasm" probably | 15:54 | |
| or maybe .pir | 15:55 | ||
| if Parrot, just "start t/dynoplibs/myops.t" | |||
| darbelo | Looks like perl to me. | ||
| Whiteknight | yeah, the test file is t/dynoplibs/myops_7.pir | 16:01 | |
| darbelo | any particular reakpoints ou want me to set? | 16:02 | |
| Whiteknight | Parrot_Scheduler_destroy and Parrot_Timer_destroy | 16:03 | |
| set both and see which one comes first | |||
| okay, I'm going to disappear for a little bit, let me know which goes first when you figure it out | 16:12 | ||
| later | |||
| darbelo | later | ||
| nopaste | "infinoid" at 75.28.74.203 pasted "[patch] Redo r38804, but whitelist a few key items" (29 lines) at nopaste.snit.ch/16568 | 16:19 | |
| Infinoid | masak,kid51: Do either of you have a moment to try that patch against latest trunk? | 16:20 | |
|
16:20
mberends joined
|
|||
| Infinoid | oh, kid51 left. | 16:20 | |
|
16:20
flh joined
|
|||
| nopaste | "darbelo" at 200.49.154.172 pasted "Parrot_Timer_destroy and Parrot_Scheduler_destroy calls" (34 lines) at nopaste.snit.ch/16569 | 16:22 | |
| darbelo | purl: msg Whiteknight The debug info for the OpenBSD segfault is at nopaste.snit.ch/16569 | 16:23 | |
| purl | Message for whiteknight stored. | ||
| masak tries the patch | 16:29 | ||
| Infinoid | masak: It would probably help if I gave you something that perl5 can parse. s/foreach my key/foreach my $key/ | 16:33 | |
| masak | aye... | 16:34 | |
| masak tries again | |||
|
16:38
Theory joined
|
|||
| Whiteknight | thanks darbelo++ | 16:40 | |
|
16:41
dukeleto joined,
dukeleto_ joined
|
|||
| Infinoid | masak: I'm going to throw the whitelist idea out and try a different approach, based on chromatic's comments in groups.google.com/group/parrot-dev/...c89d50d84a | 16:42 | |
| nopaste | "Whiteknight" at 69.249.200.13 pasted "Possible fix for darbelo++" (18 lines) at nopaste.snit.ch/16570 | ||
| Whiteknight | purl msg darbelo check out nopaste.snit.ch/16570. Give that patch a test and see if it fixes your problem | 16:43 | |
| purl | Message for darbelo stored. | ||
| Whiteknight | purl msg darbelo if that doesn't work, open a trac ticket for the issue with your backtrace. | 16:44 | |
| purl | Message for darbelo stored. | ||
|
16:57
masak` joined
17:10
HG` joined
|
|||
| darbelo | purl: msg Whiteknight All tests successful! Your patch fixed it form me. Thanks. | 17:31 | |
| purl | Message for whiteknight stored. | ||
|
17:34
AndyA joined
17:53
mikehh_ joined
17:55
rhr joined
18:21
benjaminvm joined
|
|||
| dalek | cnum-dynpmcs: r43 | darbelo++ | trunk/t/rounding_mode.t: Add our first test, not usable yet . |
18:30 | |
|
18:31
PacoLinux joined
|
|||
| Infinoid | darbelo: harness problems? | 18:35 | |
| darbelo | Sort of. There's me, there's a harness, and there are problems ;) | 18:36 | |
| Infinoid | how enlightening :) | 18:37 | |
|
18:40
bsdz joined
|
|||
| darbelo | Most of the build infrastructure for decnum-dynpmcs came from the create_language.pl script, but the t/harness file it generates wants to test a langage , I'm trying to convice it otherwise. | 18:41 | |
| Well, was. Now I'm checking out the one mk_language_shell.pl generates. | 18:44 | ||
|
18:46
Whiteknight joined
|
|||
| Whiteknight | darbelo: ping | 18:53 | |
| Infinoid | oh, ok. well, if your tests are written in perl, it's enough if your Makefile's test: rule just runs "prove t" | 18:57 | |
| ah, you're writing them in pir. I'm sure we can throw something together that'll work | 18:58 | ||
| darbelo: I don't see a t/harness in decnum-dynpmcs. But your t/rounding_mode.t doesn't have a tag indicating how to run it... it might be as simple as putting a "#! parrot" at the top of the file | 19:01 | ||
| darbelo | It looks like I forgot to svn add the harness. The #! hasn't made any difference, probably becouse parrot isn't in my path. | 19:11 | |
| dalek | rrot: r38833 | petdance++ | trunk/config/gen/makefiles/root.in: final cleanup of some redundant splint flags |
19:19 | |
|
19:20
donaldh joined
|
|||
| Infinoid | darbelo: I can take a look if you commit it | 19:20 | |
| darbelo | I *think* I have it now. I'll commit something in a few minutes. | 19:25 | |
|
19:42
Whiteknight joined
|
|||
| dalek | cnum-dynpmcs: r44 | darbelo++ | trunk/ (3 files): Minor typo-fixes to t/rounding_mode.t Uncomment "make test" in the Makefile. |
19:43 | |
| rrot: r38834 | whiteknight++ | trunk (6 files): [gc] separate out the MS core from the general marking and sweeping utility functions. needs cleaning |
19:55 | ||
| cotto | darbelo, you should put a coda at the end of the .t file to get proper syntax highlighting. See t/pmc/env.t for an example. | 19:58 | |
| Whiteknight, I think you broke the build. | 20:08 | ||
| or not. It may just be a manifest issue. | 20:09 | ||
| Whiteknight | did I? | ||
| cotto | yup | 20:10 | |
| Whiteknight | it builds fine for me, what error are you getting? | ||
| Infinoid | init::manifest - Check MANIFEST...No such file: src/gc/gc_ms.c | ||
| (during configure) | |||
| cotto | make: *** No rule to make target `src/gc/gc_ms.c', needed by `src/gc/gc_ms.o'. Stop. | ||
| Whiteknight | ah, shit. I forgot to svn add that file | ||
| Whiteknight fixes that now | |||
| darbelo | cotto: Done. I don't use syntax-hilighting, so I din't notice the lack of it. | 20:11 | |
| Whiteknight | committed. Thanks cotto++! | ||
| cotto | Whiteknight, always glad to point that out. ;) | 20:12 | |
| dalek | cnum-dynpmcs: r45 | darbelo++ | trunk/t/rounding_mode.t: Add coda to .t file. |
||
| rrot: r38835 | whiteknight++ | trunk/src/gc/gc_ms.c: [gc] adding a file that I forgot. cotto++ |
20:14 | ||
| cotto | darbelo, really? It's shiny. If you're using vim you can run make vim-install in editors. If you're using emacs, there's some .el files that you'll probably know what to do with. | ||
| *editors/ | 20:15 | ||
| Infinoid | Whiteknight: hmm, I have some linker errors | 20:16 | |
| /home/infinoid/parrot-dev/test/blib/lib/libparrot.so: undefined reference to `Parrot_gc_ms_free_pmc' | |||
| /home/infinoid/parrot-dev/test/blib/lib/libparrot.so: undefined reference to `Parrot_gc_run_init' | 20:17 | ||
| /home/infinoid/parrot-dev/test/blib/lib/libparrot.so: undefined reference to `Parrot_gc_ms_run_init' | |||
| dalek | rrot: r38836 | whiteknight++ | trunk/src/gc (4 files): [gc] move a few more functions around, a few funcs that don't need to be in the MS core. Start fixing up the documentation |
||
| mikehh | I am getting t/compilers/imcc/syn/regressions.t failures in make -k fulltest (test 14) | 20:18 | |
| cotto | Whiteknight, same as Infinoid here | ||
| Whiteknight | crap damn fart | 20:19 | |
| Infinoid | that was r38835, trying r38836 now | ||
| mikehh | it passes in make test but fails in the all the runcore tests | ||
|
20:19
chromatic joined
|
|||
| chromatic | Infinoid, ping | 20:19 | |
| Infinoid | Whiteknight++ # that fixed it | 20:20 | |
| chromatic: pong | |||
| darbelo: I get "Invalid rounding mode provided!" from your test on linux/amd64 | |||
| darbelo | On all of them? | 20:21 | |
| dalek | rrot: r38837 | petdance++ | trunk (3 files): quieted some splint warnings; consted some local vars |
||
| chromatic | I just sent a message to the list about big performance improvements in Parrot_str_find_cclass(); I think you might be able to implement that idea quickly. | ||
| Infinoid | darbelo: There's only one test script; it it crashes parrot with that message before emitting any tap output | ||
| chromatic: Thanks, I'll check it out | |||
| chromatic | It should be relatively simple, if my analysis is correct. | 20:22 | |
| Do you have kcachegrind or can you install it? | |||
| Infinoid | I do, but I've only used it once or twice, and don't remember the specifics | 20:23 | |
| chromatic | wgz.org/chromatic/tmp/callgrind.out.12081.bz2 | 20:24 | |
| bunzip2 that, then run kcachegrind callgrind.out.12081 | |||
| Infinoid | darbelo: My mistake. There's lots of fail output before that. I'll nopaste it | ||
| nopaste | "Infinoid" at 75.28.74.203 pasted "decnum-dynpmcs failures for darbelo" (14 lines) at nopaste.snit.ch/16573 | 20:25 | |
| Infinoid | It might just be that I've configured it wrong. | ||
| chromatic | You should see a pretty graph. I like to show absolute costs and display percentage relative to parent. Search for Parrot_str_find_cclass, and the callgraph view in the bottom right pane should help you see what's what. | ||
| Infinoid | chromatic: 2009-05-16 13:25:57 ERROR 403: Forbidden. | ||
| chromatic | one chmod later, it's not forbidden. | 20:26 | |
| Infinoid | Like magic. | ||
| ok, I can see it spends 60% of its time in get_codepoint() | 20:28 | ||
| jonathan | chromatic: oh hi | 20:29 | |
| purl | hi, jonathan. | ||
| jonathan | chromatic: Interestingly enough, I was trying to debug a hang the other day and broke into some code from the debugger during the parse stage. | 20:30 | |
| chromatic: And it seemed pretty busy in the cclass handling code. :-| | |||
| chromatic | Yeah. Inverting the iterator should give us a measurable improvement. | 20:31 | |
| Perhaps as high as 25% in parsing intensive code, but more likely 15%. | |||
| jonathan | That'd still be a very welcome change. | 20:33 | |
| I've started a branch in Rakudo to use hll_map to create Perl6MultiSub straight off rather than creating a MultiSub and re-blessing at startup. | |||
| That should shave a little more off startup time. | 20:34 | ||
| chromatic | The nice part about the Parrot_str_find_cclass speedup is that it also helps another slow part: CodeString's lineof(). | ||
| jonathan | Didn't you also already add some caching to that? | 20:35 | |
| chromatic | I did. It's less slow than it was. | ||
| jonathan | Nice. | ||
| But more speed would certainly be good. | |||
| chromatic | Another part of slowness I can't fix now is that PCT holds on to Captures a long time. | 20:36 | |
| Infinoid | Coke++ # Bet you thought all those documentation changes were a thankless task, huh. | ||
| jonathan | chromatic: I think that's because we keep hold of the parse tree all the way through to the stage of generating the POST. | 20:37 | |
| darbelo | I have to dissapear for a while. I'll check out the tests later. | ||
| Bye | |||
| dalek | rrot: r38838 | whiteknight++ | trunk/src/gc/gc_ms.c: [gc] update documentaton for the new gc_ms file, separating functions into groups by purpose |
||
| cotto | bye | ||
| jonathan | chromatic: Not sure that's easily changable though, given the info is currently needed all the way through. | ||
| Coke | chromatic: editor-type question for you. | 20:39 | |
| chromatic: I find a PIR_FRAGMENT In the book that doesn't work; it uses a non-existant syntax. Just mark it as invalid, or rip out the offending docs /and/ code? | 20:40 | ||
| rant. I want a test harness that gives me an option for a summary of test descriptions for failed tests, not numbers. numbers are often useless. | |||
| Infinoid: oooh, karma. =-) | 20:41 | ||
| chromatic: I will err on the side of caution for now. | 20:42 | ||
| mikehh | make html - Failed to process docs/book/ch09_pasm.pod. - the chapters need renumbering and/or the makefile needs fixing | ||
| chromatic | Coke, mark it as invalid and leave a note for the editor with =for editor/=end for | 20:43 | |
| Coke | chromatic: I can add that, but having INVALID markers sufficient? | ||
| "isn't" | |||
| dalek | rrot: r38839 | whiteknight++ | trunk (4 files): [gc] rearrange some functions that a pool-related and not ms-related |
20:44 | |
| rrot: r38840 | coke++ | trunk/docs/book/ch03_pir.pod: [docs] the syntax described here is invalid. |
|||
| Coke | (currently 32 cases of invalid code in the books) | ||
| chromatic | Probably. | ||
| purl | Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look Because \\ an asshole. | ||
| Coke | msg allison before the book goes to press, "t/examples/pod.t" should probably not have any TODOs in docs/book | ||
| purl | Message for allison stored. | ||
| dalek | rrot: r38841 | whiteknight++ | trunk/src/gc (4 files): [gc] rearrange a few more things |
20:50 | |
| rrot: r38842 | coke++ | trunk/t/codingstd/c_function_docs.t: [t] skip some more files that don't have all their function docs yet. |
|||
| rrot: r38843 | whiteknight++ | trunk/src/gc (6 files): [gc] rename Parrot_gc_sweep to Parrot_gc_sweep_pool, since that's a more accurate description for what it does |
20:54 | ||
| cotto | no, probably is <reply> | 20:57 | |
| purl | okay, cotto. | ||
|
20:59
bsdz joined
|
|||
| dalek | rrot: r38844 | petdance++ | trunk/lib/Parrot/Vtable.pm: Starting to note observers for splint |
21:00 | |
| rrot: r38845 | whiteknight++ | trunk/src/io/core.c: [gc] fix a small documentation note in src/io/core.c about what GC function calls it |
|||
| rrot: r38846 | whiteknight++ | trunk/src/gc (3 files): [gc] move and rename trace_active_PMCs. It's a static function now |
21:04 | ||
| rrot: r38847 | chromatic++ | trunk/src/oo.c: [oo] Fixed a semi-predicate problem in cached absence of a VTABLE override. Respecting the case where Parrot's already performed the lookup and found no override improves the Rakudo-building benchmark by 10.42%. The improvement is similar in other heavily OO code. |
21:10 | ||
| Infinoid | chromatic: Hmm, the character class checking for unicode is rather complicated. There's still a typetable for the iso8859-1 case, but there's also u_iscclass() for the high characters, which I'm going to have to duplicate across 3 unicode encoding plugins | 21:11 | |
| Is that what you had in mind? | 21:12 | ||
| chromatic | I had only looked at the ASCII case, really. | ||
| Infinoid | Well, I have that one done, it wasn't hard | ||
| chromatic | It could be that we only have a shortcut where it's possible to go really really fast. | ||
| Infinoid | Well, I have no problem with handling ascii really really fast | 21:13 | |
| chromatic | Latin 1 fast is also good. | ||
| If we can do those, we get most of Perl 6 faster. | |||
| Infinoid | If the encoding plugin calls back to the charset plugin for the high characters, should that be a function pointer, or should I un-staticify that function? | ||
| chromatic | I'm not sure we even have to do that. | 21:14 | |
| In the ASCII and Latin-1 find_cclass, you can immediately go to the fast encoding iterator instead. | |||
| Leave the others untouched. | |||
| I *think* that works. | |||
| Infinoid | Ok, I have most of that already | 21:15 | |
| (but I have to wonder what charset/encoding rakudo is assuming its code to be, these days) | 21:16 | ||
| chromatic | Latin-1 I thought. | ||
| Certainly we're hitting the ASCII path in this profile. | 21:17 | ||
| Infinoid | Great, then the bonus should be non-zero | ||
| chromatic | At least 17%, if I read this new profile right. | ||
| That's on top of the 10.4% from the OO change. | |||
| dalek | rrot: r38848 | petdance++ | trunk (3 files): Adding macros for splint exposure tracking |
21:39 | |
| rrot: r38849 | whiteknight++ | trunk/src/gc (8 files): [gc] a large series of cleanups, trying to rename things to be more consistent. |
|||
| rrot: r38850 | whiteknight++ | trunk/src/gc (6 files): [gc] a few more small function moves. |
21:53 | ||
|
22:05
benjaminvm joined
22:30
Theory joined
|
|||
| dalek | rrot: r38851 | whiteknight++ | trunk/src/gc/gc_ms.c: [gc] clean up the function gc_ms_mark_and_sweep a little, remove extraneous comments, etc. |
22:32 | |
| Infinoid | hmm, now I'm seeing failures in t/pmc/packfileconstanttable.t | 22:58 | |
| Parrot_PackfileConstantTable_set_pmc_keyed_int is being called with a dead pmc (its vtable pointer is 0xdeadbeef) | |||
|
23:09
ruoso joined
23:20
donaldh joined
|
|||
| Infinoid | The packfile failures I'm seeing happen even without the upcoming commits... | 23:28 | |
| dalek | rrot: r38852 | Infinoid++ | trunk/src (3 files): [cage] Fix some codetest failures. |
23:30 | |
| rrot: r38853 | Infinoid++ | trunk (7 files): [encoding] Implement chromatic++'s idea to push the Parrot_str_find_cclass() loop down into the encoding plugin, for the ascii and iso-8859-1 cases. |
|||
| cotto | Infinoid, I'm not seeing any test failures on my i386 Hardy box. | 23:50 | |
| at r38853 | |||
| bacek | good morning | 23:52 | |
| purl | Here I am, brain the size of a planet, and all they say is 'Good Morning' | ||
| bacek | Who broke my shiny packfile pmc's? :) | 23:53 | |
| Infinoid | I think it's an intermittant gc issue | 23:55 | |
| bisect blamed a rev that tested perfectly earlier today | 23:56 | ||
|
23:56
kid51 joined
|
|||
| bacek | ouch... | 23:56 | |
| Infinoid | but it seems to be crashing reliably now | ||
| so it seems dependent on time of day or phase of moon | |||
| dalek | rrot: r38854 | cotto++ | branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm: [pmcc] emit an attribute_def string similar to what pmc2c does |
23:57 | |
| bacek building svn version of parrot to check | 23:58 | ||
| Infinoid | heh, now the same tree is passing again. I didn't rebuild or change anything | ||
| maybe it's dependent on how many episodes of robot chicken I watch :) | 23:59 | ||
| bacek | Stop watching them!!! | ||
| You are breaking parrot! | |||