|
Parrot 1.1.0 Released | parrot.org/ | 322 RTs left | Weekly Priority: Remove Deprecated Items Set by moderator on 6 May 2009. |
|||
| darbelo | cotto: ping | 00:02 | |
| cotto | darbelo, pong | 00:03 | |
| darbelo | With exeptions out of the way I'm starting out with the standalone DecContext pmc. | 00:05 | |
| I only need one pointer here, should I bother with an ATTR? | |||
| "best practice"-wise. | 00:06 | ||
| cotto | flip a coin ;) | 00:07 | |
| darbelo | He. I guess ATTRs are better encapsulation. | 00:08 | |
| cotto | Yes, although a good implementation could work either way. | ||
| and it'll be easier if you find that you need another ATTR | 00:09 | ||
| chromatic | www.mono-project.com/Compacting_GC | ||
| darbelo | Leaving the ATTR there also means I get to copy-paste from the other file :) | 00:10 | |
| cotto | I wonder what kind of changes Parrot will need to be able to support such a GC. | 00:11 | |
| btw, I haven't been giving your commits a proper review. I apologize for that. | 00:12 | ||
| chromatic | First we need Whiteknight to figure out the proper API. | ||
| darbelo | No worries. Nothing very interesting to review so far. Just bashing prototypes and getting to know the tools. | 00:13 | |
| Whiteknight | waiting for me to figure something out is futile | 00:15 | |
| I can only figure at third grade level | 00:16 | ||
| cotto | Great! Then we'll have a GC so simple a 3rd-grader can use it. | 00:18 | |
| darbelo | But wouldn't that be generational instead of compacting? ;-) | 00:19 | |
| chromatic | It thinks everyone over 19 is old. | 00:20 | |
| Whiteknight | darbelo: We're lucky that it's even functional, much less "generational" or "compacting" or anything fancy | ||
| darbelo | Also I don't think compacting 3rd-graders is legal here. | 00:21 | |
| jonathan | chromatic: In what you linked to... | ||
| "Moving collector (it can compact the heap)." | 00:22 | ||
| chromatic: I've figured moving collectors won't fly in Parrot because one of the things we promise is that PMCs don't move? | |||
| Or am I misunderstanding? | |||
| Whiteknight | jonathan: We could have PMC headers that don't move, and PMC guts that do | 00:23 | |
| jonathan | Whiteknight: We can, though it limits the scope of what the moving GC can do. | 00:24 | |
| But yes, good point. | |||
| dalek | rrot: r38519 | whiteknight++ | trunk/src (2 files): A basic fix for TT #595. Throw or rethrow on a null PMC or a non-exception PMC should cause a fatal error, instead of random and ungraceful results like we used to have. Probably not an ideal fix, but a basis for later improvements. NotFound++ for ideas |
00:26 | |
| chromatic | We *could* have moving headers as well... just look at Smalltalk/80 | 00:31 | |
| dalek | rrot: r38520 | whiteknight++ | branches/gc_api: Creating a new branch to do some cleanup work on the GC API |
00:33 | |
| Whiteknight | chromatic: That would require some major rewrites throughout the codebase | 00:35 | |
| cotto | It's so nice to have a noninteractive RPG. | 00:37 | |
| darbelo | cotto: Huh? | ||
| cotto | progress quest | 00:38 | |
| purl | progress quest is probably mesmorizing | ||
| chromatic | I don't think the rewrites would be that bad. | ||
|
00:38
bacek_ joined
|
|||
| cotto | It lets you play an RPG without any of the tedious stuff. | 00:39 | |
| darbelo | Q: But I'll help! | 00:41 | |
| A: Look deep into your heart, then say that again. | |||
| Heh | 00:42 | ||
| jonathan | chromatic: Rather you than me. ;-) | 00:44 | |
| :-) | |||
|
00:45
bacek joined
|
|||
| jonathan | chromatic: Reading that doc more, it seems it is a stop-the-world rather than asynch model too. Of course, so's our current one... | 00:47 | |
| chromatic | I'm not sure what the best model is. | 00:48 | |
| I think there's a G1 implementation that can run async. | |||
| jonathan | Aye, there's plenty of models out there... | 00:49 | |
| I suspect getting something that's somewhat generational would be a win for Parrot over where we are today. | |||
| chromatic | Yeah, identifying short-lived versus long-lived is very important. | 00:54 | |
| jonathan | OK, sleep time for me...night all. | 00:56 | |
|
00:57
eternaleye joined
|
|||
| dalek | rrot: r38521 | whiteknight++ | branches/gc_api (5 files): [gc_api] start renaming some of the GC API functions to Parrot_gc_* |
01:05 | |
|
01:14
ilia left
|
|||
| Whiteknight | chromatic: I'm convinced now that we can use the Boehm collector if we want to do that | 01:40 | |
| however, I don't think there's any good way it can be used to guarantee order-of-destruction, like we have on our long-term roadmap | 01:41 | ||
| would probably give us a performance win in the short term, however | |||
|
01:43
kid51 joined
|
|||
| chromatic | Order of destruction only matters because we need to destroy some objects before others. | 01:57 | |
| Not all... just some. | |||
| Also, you missed spaces between if and () in r38519. Coke will be along shortly to rap your knuckles like some great bald manly nun. | 01:58 | ||
| rg | chromatic: can you give an example where order of destruction matters? | 02:00 | |
| chromatic | Events. | 02:01 | |
| The Scheduler has to shut down after the destruction of all events, as they rely on being able to remove themselves from it on their destruction. | 02:02 | ||
| rg | thanks | 02:03 | |
| dalek | tracwiki: v12 | cotto++ | ParrotQuotes | 02:43 | |
| tracwiki: add a couple old quotes I found when looking for something else | |||
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | 02:44 | ||
|
02:47
janus joined
|
|||
| dalek | rrot: r38522 | jkeenan++ | trunk/src/ops/core.ops: Correct violation of c_parens coding standard in three locations. |
03:10 | |
|
03:11
japhb joined
|
|||
| dalek | rrot: r38523 | jkeenan++ | trunk/runtime/parrot/library/P6object.pir: No trailing whitespace: correction on 4 lines. |
03:13 | |
|
03:20
donaldh joined
|
|||
| dalek | rrot: r38524 | jkeenan++ | trunk/t/codingstd/pdd_format.t: Rework the 78-char line length restriction in PDDs to permit some long 'F<>' tags to pass. |
03:23 | |
| kid51 must sleep | 03:26 | ||
| purl | $kid51->sleep(8 * 3600); | ||
|
04:00
Theory joined
04:17
Theory joined
04:19
autarch joined,
autarch left
05:09
bacek joined
05:11
rakudohudson joined
05:16
mikehh joined
05:21
mikehh joined
06:14
uniejo joined
06:16
mikehh joined
07:20
donaldh joined
07:39
iblechbot joined
|
|||
| cotto | bacek, ping | 08:37 | |
| bacek | cotto: pong | 08:41 | |
| cotto | the pmc compiler build is broken because pmc.pir thinks some files are in the wrong place | 08:42 | |
| Should I fix it or do you want to? | 08:43 | ||
| bacek | cotto: I'll probably will not have much time till weekend. | 08:45 | |
| I'm trying to simplify RO handling in PMC... EPIC FAIL. | 08:46 | ||
| cotto | I'll take it then. Is the file layout correct or is pmc.pir? | ||
| in pmc2c? | |||
| bacek | lemmecheck | 08:48 | |
| cotto | btw, multiple PMC inheritance is an unintended consequence of the way the pmc2c was written | 08:50 | |
| I thought you'd like that. | |||
| bacek | oh shi... | ||
| really? | 08:51 | ||
| cotto | yes | ||
| lemme dig up the reference | |||
| rt.perl.org/rt3/Ticket/Display.html...txn-523214 | 08:52 | ||
| bacek | (pmc.pir) Looks about alright. But if you want you can change it to separate generated files into somewhere else. | ||
| cotto | So the layout should mirror pmc.pir? | ||
| bacek | erm... What do you mean? | 08:53 | |
| bacek just read #48014... | |||
| cotto | nm. pmc.pir refers to a file that doesn't exist, not one that's been moved | 08:55 | |
| bacek | ah. maybe... | ||
| afk # going home. | |||
| see you in about 1 hour. | |||
| cotto | ok | 08:56 | |
|
09:12
masak joined
|
|||
| dalek | rrot: r38525 | cotto++ | branches/pmc_pct/config/gen/makefiles/pmc.in: [pmc] update the makefile template so the compiler builds again |
09:16 | |
|
09:17
Ademan joined
|
|||
| masak | WhiteKnight: ping | 09:17 | |
| cotto | msg bacek nm about the pmc compiler. I committed a fix. | 09:29 | |
| purl | Message for bacek stored. | ||
|
10:07
bacek joined
|
|||
| cotto | wb | 10:13 | |
| bacek | hi again | ||
| purl | oh, you're back! | ||
| dalek | rrot: r38526 | bacek++ | branches/tt631_part2: Second part to TT#631 cleanup - stop putting VTBALE functions into headers |
10:21 | |
| rrot: r38527 | cotto++ | branches/pmc_pct/compilers/pmc/src (3 files): [pmcc] store ATTR info somewhere meaningful |
10:41 | ||
|
10:42
mikehh_ joined
|
|||
| dalek | rrot: r38528 | bacek++ | branches/tt631_part2/lib/Parrot/Pmc2c (2 files): Stop emitting VTABLE functions into header files and declare them static. (Build is broken, because of TT#640 |
11:00 | |
| rrot: r38529 | bacek++ | branches/tt631_part2/src/pmc_freeze.c: Don't use default_thaw and default_thawfinish directly. |
|||
| rrot: r38530 | bacek++ | branches/tt631_part2/lib/Parrot/Pmc2c/PMCEmitter.pm: Declare vtable-related functions in headers |
|||
| rrot: r38531 | bacek++ | branches/tt631_part2/lib/Parrot/Pmc2c/PMCEmitter.pm: Properly emit function signatures. |
|||
| rrot: r38532 | bacek++ | branches/tt631_part2/src/pmc/object.pmc: Don't invoke vtable functions by name. |
|||
| cotto | work it! | 11:07 | |
| purl emulates Rupaul | |||
| cotto | I'm not entirely sure I want to look that up. | ||
| bacek | cotto: which part? | 11:09 | |
| purl | which part is confusing? | ||
| bacek | horray. It compiles! :) | 11:13 | |
| dalek | rrot: r38533 | bacek++ | branches/tt631_part2/src/pmc/integer.pmc: Don't call vtable function directly. |
11:14 | |
| rrot: r38534 | bacek++ | branches/tt631_part2/src/pmc/scalar.pmc: Don't call vtable functions directly. |
|||
| bacek | Any win32 devs around? (For smoking tt_631_part2 branch) | ||
|
11:14
Casan joined
|
|||
| cotto | I also almost have ATTRs doing something useful. | 11:15 | |
| bacek | cotto: that's good. I'm going to finish TT#631 before jumping back to pmc_pct branch | 11:17 | |
| cotto | +1 to anything that simplifies the pmc compiler | ||
| bacek | BTW, we probably have to wait till allison's branch for PCC refactoring merged back before implementing METHOD's handling. | 11:18 | |
| Current implementation is overcomplicated for my small brain... | |||
| cotto | It's funny how much refactoring this compiler is going to end up depending on. | 11:19 | |
| bacek | "Result: PASS" on my box for tt631_part2. | ||
| cotto: but it already proven to be useful :) | |||
|
11:20
donaldh joined
|
|||
| bacek | ok. No win32 devs around... | 11:21 | |
| bacek wearing T-Shirt with "Better to ask for excuse" phrase. | 11:22 | ||
| I'm going to merge this branch into trunk. | |||
| cotto | I can make sure someone tests it tomorrow, if you like | ||
| bacek | Which tomorrow? :) | ||
| cotto | May 7 | 11:23 | |
| bacek | It's already May 7. 9:23 PM | ||
| cotto | For me it's only 04:23 | ||
| bacek waves from the future | 11:24 | ||
| cotto asks for lottery numbers | |||
| it never works | |||
| bacek | It's just nature of lottery. You can know numbers, but you never wins | ||
| seen jonathan | 11:26 | ||
| purl | jonathan was last seen on #parrot 10 hours, 29 minutes and 56 seconds ago, saying: OK, sleep time for me...night all. | ||
| cotto | 10.5 hours ought to be enough | ||
| bacek | I hope so. | 11:27 | |
| jonathan: ping? | |||
| pmichaud | enough for what? ;-) | ||
| bacek | for sleep :) | ||
| pmichaud | well, I should get ready to board my flight... I'm first on the plane today. | 11:28 | |
| bacek | 10.5 hours probably enough to flight from US to Australia. | 11:29 | |
| jonathan | bacek: what're you after? :-) | 11:31 | |
| bacek | jonathan: good morning :) Smoking tt631_part2 branch on most popular operating system | ||
| cotto | or windows | 11:33 | |
| ;) | |||
| bacek | I said "popular", not "useful" :) | 11:34 | |
| Is "make testj" tests JIT? | 11:36 | ||
| moritz | only if configured with --jitcapable | 11:37 | |
| bacek | moritz: thanks | ||
| jonathan | bacek: kinda tied up with something at the moment - will try and get to that soonish for you. | 11:38 | |
| bacek dreaming about buildbot which will build all branches on set of platforms... | 11:39 | ||
| cotto | There are a lot of branches for which testing wouldn't be useful, although a smart buildbot could figure out which ones need testing. | 11:40 | |
| bacek | cotto: indeed... | 11:41 | |
| purl | indubitably | ||
| bacek | t/op/trans (Wstat: 256 Tests: 22 Failed: 1) | 11:43 | |
| Failed test: 13 | |||
| Is it expected to fail in trunk for "make testj"? | 11:44 | ||
| cotto | I think you can ignore that one. | 11:46 | |
| dalek | rrot: r38535 | cotto++ | branches/pmc_pct/compilers/pmc/src (2 files): [pmcc] generate (non-inheriting) ATTR wrapper structs in headers |
||
| bacek | cotto: Yeah. Just checked. It fails in trunk as well. | 11:47 | |
| cotto | bacek, do you have any objections to me getting pmc_pct updated to trunk later today? | 11:48 | |
| bacek | cotto: no. | ||
| cotto | ok. I'll do that. | ||
| night | |||
| jonathan | bacek: building | ||
| bacek | night | ||
| jonathan: ok. Thanks! | 11:49 | ||
|
11:51
kid51 joined
|
|||
| jonathan | bacek: did you want me to test Rakudo against this build also? | 11:55 | |
| bacek | jonathan: yes please. But I didn't expect failures if it builds. | 11:56 | |
| ouch. My English abilities fading... | 11:57 | ||
| jonathan | Beats my abilities in any other language... | 12:00 | |
| bacek | even Perl6? ;) | 12:02 | |
|
12:11
bkuhn joined
|
|||
| Coke yawns. | 12:18 | ||
| kid51 | seen smash? | 12:20 | |
| purl | smash was last seen on #parrot 232 days, 17 hours, 42 minutes and 1 seconds ago, saying: hello everyone [Sep 16 18:35:37 2008] | ||
| masak | famous last words. | 12:21 | |
| purl | Nothing Can Possibly Go Wrong! | ||
| bacek | jonathan: any progress? | ||
| jonathan | bacek: parrot make test is has a pass | 12:25 | |
| bacek | horray. I'll commit it. (We can revert it later in case of zombie atta^W^W^W^W) | 12:27 | |
| bacek taking of T and wearing PJ. | 12:28 | ||
| good night everyone. | |||
| dalek | rrot: r38536 | bacek++ | trunk (6 files): Merge tt631_part2 branch into trunk. used by many people. |
12:29 | |
| jonathan | gotta go for Slovak class now, will rakudo-test later | 12:31 | |
|
12:37
ruoso joined
12:39
rg1 joined
|
|||
| Coke | speaking of zombie attack, I highly recommend the game "Plants vs. Zombies" | 12:45 | |
|
12:54
iblechbot joined
13:00
gryphon joined
13:09
riffraff joined
|
|||
| particle-nyc | cute commit message, bacek, but i prefer to see the platform name there somewhere. | 13:28 | |
| Infinoid | uck, and the compiler, they are quite different targets on win32 | 13:32 | |
| hi particle, how's nyc? | |||
| particle-nyc | nyc is same as it ever was, which is wonderful. hope to enjoy some more of it tonight after work. | 13:56 | |
|
14:18
Theory joined
|
|||
| Coke misses Tir Na Nog. | 14:23 | ||
|
14:27
davidfetter joined
14:29
particle1 joined
14:30
particle2 joined
|
|||
| NotFound | ./src/pmc/managedstruct.c: In function 'VTABLE* Parrot_ManagedStruct_get_vtable(parrot_interp_t*)': | 14:34 | |
| ./src/pmc/managedstruct.c:1089: error: 'Parrot_UnManagedStruct_update_vtable' was not declared in this scope | |||
| Coke | just include the header? | 14:40 | |
| NotFound | What header? That function isn't in any header. | 14:41 | |
| Coke | ah. I assumed it was a reference to an explicit vtable on UMS. | 15:04 | |
| Infinoid | yep, ./src/pmc/managedstruct.c:1089: warning: implicit declaration of function 'Parrot_UnManagedStruct_update_vtable' | 15:07 | |
| NotFound: Let me guess, you're using g++? | 15:08 | ||
| NotFound | Infinoid: yes, and for exactly that reason, mainly. To catch 'just warnings' | ||
| Infinoid | NotFound++ | ||
| Looks like this came from the tt631_part2 branch merge | 15:09 | ||
| NotFound | Silly commint coming... | ||
| Infinoid | NotFound: I've posted your error message to TT #631 | 15:14 | |
| NotFound | Infinoid: I think the error message is not enough, I'll make a commit with all the changes required to make it compile, to be able to find a way to generate and maybe avoid a lot. | 15:15 | |
| Infinoid | well, I think pmc2c just needs to put another couple of prototypes in the pmc_unmanagedstruct.h header it generates | 15:16 | |
| it generates the function, it should generate the prototype too. | 15:17 | ||
| NotFound | Infinoid: unmanagedstruct is just the first file that manifest the problem | ||
| Infinoid | yeah | ||
| NotFound | Every pmc with a parent has the same problem, some of them worse | ||
|
15:20
donaldh joined
|
|||
| nopaste | "infinoid" at 75.140.33.106 pasted "test to work around a tt631 warning/error" (17 lines) at nopaste.snit.ch/16492 | 15:21 | |
| Infinoid | That fixes the warning for me. Clearly the logic is a little screwy there, but I don't understand what the original intention was. | 15:22 | |
| NotFound: Are there additional build issues after applying that? | 15:23 | ||
| I think maybe the Default PMC isn't as special a case as the author of that code had thought | 15:24 | ||
| looks like the digest dynpmcs have an additional, similar issue | 15:28 | ||
| NotFound | I think this initialization scheme needs some improvement. | 15:29 | |
| Those update_vtable function return a VTABLE pointer that is never used. | 15:31 | ||
| Infinoid | the dynpmc errors need a little more work, but I can commit this first fix | 15:32 | |
| digest_group.c:75: warning: implicit declaration of function 'Parrot_MD2_class_init' | |||
| NotFound | And each of those functions calls the update_vtable functions of all his parents. I think will be better that each parent takes care of his own parents. | 15:33 | |
| Infinoid | pmc2c is generating the prototypes for those, but for some reason they're ending up in md2.c rather than pmc_md2.h | ||
| Maybe you should post that to the ticket :) | 15:34 | ||
| NotFound | Still elaborating the idea... | ||
| Infinoid | I'm not very good with MI concepts | 15:35 | |
| But maybe the idea is that only the class knows exactly which parents it inherits from? | |||
| NotFound | No MI, just grandfathers | ||
| For example, Boolean does this: Parrot_scalar_update_vtable(vt); Parrot_Integer_update_vtable(vt); Parrot_Boolean_update_vtable(vt); | 15:36 | ||
| And Boolean doesn't even declare it extends scalar, it extends Integer, and Integer extends scalar | 15:37 | ||
| Coke | the class doesn't know, pmc2c knows. | 15:38 | |
| NotFound | And the dependencies of the generated C needs to know | ||
| Coke | all the inheritance is compile time, there's no lookups going on at runtime. | ||
| they used to, no. Is this in trunk you're having this problem? | 15:39 | ||
| dalek | rrot: r38537 | Infinoid++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm: [pmc2c] Fix warnings caused by tt631_part2 branch merge. This fixes the following warnings: ./src/pmc/managedstruct.c:1089: warning: implicit declaration of function 'Parrot_UnManagedStruct_update_vtable' ./src/pmc/managedstruct.c:1100: warning: implicit declaration of function 'Parrot_UnManagedStruct_ro_update_vtable' (Those warnings turn into errors under a C++ compiler.) |
||
| Infinoid | Coke: Yeah. Apparently all this became dynamic earlier today | ||
| NotFound | Well, if they doesn't know is even worse, because the code really depends on it. | 15:40 | |
| Coke | I would, in general, hope that merge backs like that don't increase the build warnings. | ||
| NotFound | Coke: many times it doesn't because I fix them for c++ build before someone notice ;) | 15:41 | |
| Infinoid | NotFound: What you're saying makes sense to me. Think you can hack it to only emit first-order inheritance? | 15:42 | |
| Infinoid wonders if this has any ordering dependencies | |||
| NotFound | If it has, will be good to know now, and fix it. | ||
| Infinoid | definitely | 15:43 | |
| NotFound | I think I need to drop some const qualifier to fix another problem | 15:45 | |
| Infinoid | I saw that too. Testing a fix for the digest dynpmcs and *_class_init first | 15:47 | |
| Coke | Infinoid: do we need similar changes for dynpmcs? | ||
| Infinoid | Coke: Yes, working on that. | 15:48 | |
| Coke | (digest) ah, there. danke. | ||
| Infinoid | if I'm right, the dynpmcs just need a oneliner fix | ||
| NotFound: your const issue was in src/multidispatch.c? | 15:49 | ||
| ouch, my oneliner caused lots of "./include/../src/pmc/pmc_sub.h:85: warning: 'Parrot_Sub_assign_pmc' declared 'static' but never defined" warnings | 15:50 | ||
| NotFound | Infinoid: yes, this is a symptom of an old problem: several string functions must accept const STRINGs. They don't, and then we can't make const lost of things that ideally must be. | 15:51 | |
| Infinoid | sounds worthy of a ticket, if there isn't already one | ||
| NotFound | And changing that string functions is difficult, because the charset/encoding functions implied has the same problem. | 15:52 | |
| Infinoid | yeah, it cascades | ||
| consting is a nightmare :) | |||
| NotFound | I'll put a TODO comment in include/parrot/multidispatch.h, and later create a ticket about it. | 15:53 | |
| Infinoid | I'd just create a ticket, we already have enough untracked TODOs | ||
| NotFound | Infinoid: I dislike to drop a reasonable const qualifier without a comment about the reason. | 15:54 | |
| Infinoid | ah, so you're fixing it at the same time. NotFound++ | 15:55 | |
| Coke | I would rather have const warnings needing fixing than build failures on C++ | ||
| NotFound | Mmmm.... I can create the ticket first, and later edit it to add the release number. | ||
| Coke: const warnings *are* failures on C++ | 15:56 | ||
| The ticket will be to find a way to be able to restore the const qualifiers without problems. | 15:57 | ||
| Coke | NotFound: blah. | 16:00 | |
| Infinoid | In a way, consting is one thing that really annoys me about C. It's the kind of thing the language really should do for you. | 16:04 | |
| NotFound | I like consting, it helps find errors. But needs a lot of care. | 16:05 | |
| Infinoid | I like the idea of consting, I just don't want to do it manually. When you change a low level function, you have to update 10 layers of APIs, it's a maintenance burden that doesn't scale very well | 16:07 | |
| NotFound | Infinoid: yes, but the better known solution is to always make const the arguments that doesn't need to not be from the beginning. Relaxing them later is easier than enforcing. | 16:09 | |
| dalek | rrot: r38538 | Infinoid++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm: [pmc2c] Fix more warnings caused by tt631_part2 branch merge. digest_group.c:75: warning: implicit declaration of function 'Parrot_MD2_class_init' |
16:11 | |
| NotFound | Infinoid: testing now with this last commit and the multidispatch.h change... | 16:13 | |
|
16:16
iblechbot joined
|
|||
| NotFound | It builds :) | 16:17 | |
| Infinoid | Was the multidispatch.h issue triggered somehow by the tt631_part2 merge? | 16:18 | |
| NotFound | I looked at the diff, and looks like the file hasn't change in that commit. | ||
| Infinoid | msg bacek There was some breakage from your tt631_part2 merge, please see r38537, r38538 and my comments to TT #631. | 16:19 | |
| purl | Message for bacek stored. | ||
| NotFound | But maybe the functions that uses his members are the culprit. | ||
| Infinoid | Ok. Either way, I'm glad you're testing this. :) | 16:20 | |
| NotFound | Test pass :) | 16:22 | |
| Committed | 16:25 | ||
| dalek | rrot: r38539 | NotFound++ | trunk/include/parrot/multidispatch.h: [cage] drop some const qualifiers, TT #646 |
||
| Infinoid | For reference, it looks like those warnings were caused by r38504 | 16:30 | |
| NotFound | I'll take a look at it | 16:32 | |
| Ah, yes, it were char * before | 16:33 | ||
|
16:48
whoppix joined
17:00
rdice joined
17:01
tewk joined
17:39
amoc joined
|
|||
| Coke | (drop const qualifiers) didn't you say it needed to be MORe consty? | 17:44 | |
| NotFound | Coke: ideally. In the meantime, we want to make it work | 17:45 | |
| Coke | roger. | 17:46 | |
| NotFound | We need to make a lot of functions more consty, in order to be able to have variables and struct menbers const. | ||
| Coke | seems like that's a decent cage task. "make this const, and then fix everything that breaks' | 17:48 | |
| NotFound | And while we can't make it const, let's not lie to the compiler. | ||
| Coke: unfortunately, people tends to "fix" it by adding lots of const casts. | |||
|
17:50
cognominal joined
|
|||
| NotFound | This is funny: we have a function called init_world_once that is called lots of times. | 17:52 | |
| jonathan | lol | ||
| NotFound | Parrot_platform_init_code is supposed to be called one time for interpreter, or only for the first interpreter? | 17:55 | |
| Coke | msg whiteknight Hey, can we kill the old gsoc branches if you're starting a new one? =-) | 17:57 | |
| purl | Message for whiteknight stored. | ||
|
17:58
mtk joined
18:00
mtk left
18:11
janus joined
18:48
Andy joined
19:08
darbelo joined
|
|||
| dalek | rrot: r38540 | NotFound++ | trunk/src/embed.c: [cage] drop an unused declaration |
19:15 | |
|
19:20
donaldh joined
19:24
cognominal joined
|
|||
| dalek | kudo: 06e2f1d | jnthn++ | src/parrot/ClassHOW.pir: When generating parents list, need to stop at Perl 6's Object. |
19:32 | |
| kudo: 194b524 | jnthn++ | src/setting/Object.pm: Fill out the implementation of .WALK such that it passes all of S12-introspection/walk.t. |
|||
| kudo: 6db88b0 | jnthn++ | t/spectest.data: Add S12-introspection/walk.t. |
|||
|
19:40
krg joined
19:58
bacek joined
|
|||
| cotto | bacek, do you mind if I rename the pmc compiler to pmcc? | 20:02 | |
| msg bacek Do you mind if I rename the pmc compiler to pmcc? | 20:10 | ||
| purl | Message for bacek stored. | ||
| tewk | perl5 question: is there anyway to modify a my variable at package scope from outside the package? | 20:45 | |
| PerlJam | tewk: er ... yes? what do you mean by "outside the package"? | 20:46 | |
| tewk: lexicals are orthogonal to packages, so if you said package foo; my $blah = 5; package bar; $blah = 7; that's fine | 20:47 | ||
|
20:48
chromatic joined
|
|||
| chromatic | The algorithmic performance of CodeString's lineof() method is terrible. | 20:48 | |
| Infinoid | tewk: you can ... yeah, what PerlJam said. Or you can export a reference to it by declaring that reference as "our" | ||
| chromatic | Rakudo parsing gets a 25% speed improvement by fixing that. | ||
| Infinoid | tewk: But the guy maintaining your code 3 years from now will stab you. | ||
| chromatic | (estimated -- I haven't done it yet) | ||
| Infinoid | Wow, that's huge. | ||
| PerlJam | chromatic: awww ... I was about to ++ you for the 25% boost :) | ||
| chromatic++ anyway for the digging. | 20:49 | ||
| tewk | PerlJam: I want to reach into Test::Builder and set $Opened_Testhandles to 0 | ||
| PerlJam | tewk: you can't do that except from within the Test/Builder.pm file itself. | ||
| jonathan | chromatic: is lineof() called much apart from when there's an error and we need the line number? | ||
| PerlJam | jonathan: anything that makes rakudo even just a little faster is good in my book :) | 20:50 | |
| jonathan | Oh, for sure. | 20:51 | |
| purl | like totally! | ||
| jonathan | Especially if it's 25%. ;-) | ||
| tewk | PerlJam: Yeah thats what I thought. | ||
| Infinoid | If we can save 25% by improving something that's only used in the error path, we're spending way too much time in the error path. So I think it must be called a lot more often than that | 20:52 | |
| jonathan | aye | ||
| Infinoid | Oh, aren't annotations set up ahead of time? | 20:53 | |
| chromatic | lineof() gets called 8,442 times when processing actions.pm. | ||
| bacek | good morning | 20:54 | |
| Coke | chromatic: Codestring was migrated to C from PIR, as I recall. I may even have had a hand in it. I wonder if it would be faster in PIR. | ||
| Infinoid | morning bacek | 20:55 | |
| chromatic | This part won't be faster in PIR. | ||
| Coke | PerlJam: (anything that makes it a little faster) that's dangerous, taken to the extremes it was in parrot. | 20:57 | |
| GeJ | Good mornning everyone | ||
| Infinoid | hi GeJ | ||
| Coke | I mean, I think we're past the point of premature optimization, but still. | ||
| moritz | so basically lineof() doesn't do any caching, right? | 20:58 | |
| chromatic | Right. | 21:00 | |
| I'm adding two "last line number/pos seen" INTVALs as a cache, presuming we always inchworm along the string (given that this is a parser, it's an easy assumption). | 21:01 | ||
| moritz | yes, that should account for 90% of all cases with 10% effort, or so ;-) | 21:02 | |
| bacek | Infinoid: (r38537) oops. Sorry. | ||
| bacek making note to self - "Disable ccache after merge for checking build" | |||
| chromatic | At least 90%. | ||
| PerlJam | Coke: are you saying that chromatic is dangerous? :) | 21:03 | |
| bacek | purl: msg cotto Just rename it. | ||
| purl | Message for cotto stored. | ||
| Infinoid | bacek: It's ok. We fixed one of chromatic's breakages at the same time, r38539 :) | 21:04 | |
| chromatic | Sure, it compiles now... but it also compiles faster now too! | 21:06 | |
| moritz | let's ship it! | 21:07 | |
| cotto | ok | 21:08 | |
| Infinoid | bacek: More importantly, did I fix it in the correct way? (I'm not familiar with the changes you were making.) | 21:11 | |
| bacek | Infinoid: not 100%... | 21:13 | |
| r38542 | |||
| dalek | rrot: r38541 | cotto++ | branches/pmc_pct/compilers/pmc (2 files): [pmcc] generate PARROT_FOO macro, plus a test for it and the ATTR wrapper struct |
21:14 | |
| rrot: r38542 | bacek++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm: Don't emit Parrot_default_update_vtable signature into header. We don't have this functions. |
|||
| Infinoid | Oh. So the original check just needed to be inverted | 21:15 | |
| bacek | Yes... | ||
| Infinoid | Ok, thanks for fixing the fix :) | 21:16 | |
| bacek | ;) | ||
| Infinoid++ # Fixing bacek-- silly mistakes :/ | 21:19 | ||
| dalek | rrot: r38543 | bacek++ | branches/tt631_part2: Removed tt631_part2 branch. It was merged and fixed in trunk. |
21:21 | |
|
21:22
jq joined
|
|||
| bacek | cotto: If you'll have time you can remove "parents" Hash in nodes.pir. It should be scalar similar to "class_init". | 21:23 | |
| cotto | bacek, are you thinking that it should be a csv list? We need to support multiple inheritance, even if it wasn't originally intended. | 21:28 | |
| although I really would like to get that "feature" deprecated | 21:31 | ||
| bacek | hm. I'm not sure that such complexity to support multiple inheritance required. | ||
| let's "deprecate" it :) | |||
| cotto | we should at least wait until partcl's working before we kill it again | 21:32 | |
| jonathan | That would really need a deprecation cycle. Accidental or not, it's something people could easily have come to use... | 21:33 | |
| cotto | No, it's something that they *have* come to use. | ||
| jonathan | Well, there you go then. :-) | 21:34 | |
| cotto | but getting in a deprecation notice now would give them plenty of time to update before 2.0, when it'd be removed | ||
| jonathan | *nod* | 21:35 | |
| Infinoid | Hmm. if Parrot_Boolean_ro_update_vtable (for example) assigns all the "write" slots in the vtable with functions which throw exceptions, is it valid to assume Parrot_scalar_ro_update_vtable(), Parrot_Integer_ro_update_vtable() and Parrot_Boolean_ro_update_vtable() all do the same thing? if so, it would seem Parrot_Boolean_ro_get_vtable() doesn't have to call all 3 of those, only the last one. | 21:40 | |
| dalek | cnum-dynpmcs: r22 | darbelo++ | trunk/src/pmc/decnum.pmc: Incorporate suggestions by cotto++ and WWhiteknight++. |
||
| bacek | Infinoid: indeed. I'm going to refactor _ro_ handling in next branch. tt631_part3. | 21:42 | |
| darbelo | Crap. I mistyped Whiteknight++. | ||
| Infinoid: Karma aliases work :) | 21:43 | ||
| cotto | That's ok. purl is only smart enough to do one karma change per line | ||
| bacek | Problem in "src/dynpmc/rotest.pmc". It overrides "get_integer" with ":write" trait :/ | ||
| darbelo | I'll keep that in mind. | ||
| Infinoid | Cool. NotFound++ mentioned something earlier (see irclog.perlgeek.de/parrot/2009-05-07#i_1126109 ) about update_vtable functions calling eachother recursively, resulting in redundant calls to grandparent methods. But I don't see it - the get_vtable functions call the update_vtable functions, but that all looks fine to me | ||
|
21:44
Whiteknight joined
|
|||
| NotFound | Not redundant, just think it can be done in a cleaner way. | 21:45 | |
| bacek | NotFound: it definitely can. | ||
| Infinoid | I misunderstood what you said, sorry. | ||
| NotFound | Is esasy to misunderstand my misenglish ;) | 21:46 | |
| bacek | Actually, we doesn't support multiple inheritance of PMC. So update_vtable/get_vtable can be merged into one. | 21:47 | |
| derived_get_vtable() { VTABLE * vt = parent_get_vtable(); ... ; return vt }; | 21:48 | ||
| dalek | rrot: r38544 | whiteknight++ | branches/gc_api (8 files): [gc_api] rename add_pmc_ext and add_pmc_sync to Parrot_gc_* |
22:03 | |
|
22:05
chromatic joined
|
|||
| dalek | rrot: r38545 | whiteknight++ | branches/gc_api/src/gc/api.c: [gc_api] Throw exceptions to uniformly handle cases where a memory allocation has failed |
22:10 | |
|
22:10
allison joined
|
|||
| dalek | rrot: r38546 | whiteknight++ | branches/gc_api/src/gc/pools.c: [gc_api] change sized pools so they can allocate objects of size sizeof(void*) and up, where they previously couldn't allocate objects smaller then sizeof(Buffer) |
22:17 | |
|
22:23
hudnix joined
|
|||
| dalek | cnum-dynpmcs: r23 | darbelo++ | trunk/Configure.pl: Remove an unused option from Configure.pl |
22:39 | |
|
22:39
kid51 joined
22:41
chromatic joined
22:42
Whiteknight joined
22:45
allison joined
|
|||
| dalek | rrot: r38547 | chromatic++ | trunk/src/pmc/codestring.pmc: [PMC] Added simple line number caching to CodeString PMC to avoid repeatedly 5.96%. |
22:46 | |
| rrot: r38548 | cotto++ | trunk/CREDITS: [CREDITS] add dalek alias for cotto |
|||
| rrot: r38549 | whiteknight++ | branches/gc_api/src/gc (2 files): [gc_api] Add some comments about how to eventually allocate Sync objects from the memory pools. Uncommenting those things causes a segfault, but I'm not dealing with that right now. |
22:56 | ||
|
22:58
tetragon joined
|
|||
| chromatic | Hm. Isn't "I'll deal with segfaults later" what causes problems with so many branches? | 22:59 | |
|
23:11
darbelo joined
|
|||
| kid51 | Does anyone know how the HTML version of our PDDs is generated? | 23:15 | |
| darbelo | make html? | ||
| purl | make html is Geekneeus's next step :D | ||
| rg | make html? | ||
| purl | make html is, like, Geekneeus's next step :D | ||
| kid51 | Yeah, but is there something a bit more focused I can use to test a small segment of POD? (Am looking at trac.parrot.org/parrot/ticket/634) | 23:17 | |
| I don't understand what this line in Makefile means: html : html.dummy | 23:18 | ||
| rg | not that i could find. it's basically one big script that generates the whole set including index pages | 23:19 | |
| kid51 | ... and in any event, what I really want is a Perl program I can use to test patches quickly. | ||
| darbelo | pod2html? | ||
| purl | pod2html is broken on &s or a subroutine of Pod::Html or the main source of warnings garbage in me logs or obsidianrook.com/devnotes/pod-html-summary.html | ||
| kid51 | purl, forget pod2html | 23:20 | |
| purl | kid51: I forgot pod2html | ||
| rg | and it needs to be the html version? otherwise perldoc should do fine. | ||
|
23:20
donaldh joined
|
|||
| kid51 | Well, for that particular TT, we need to see what's rendered in HTML. | 23:20 | |
| rg | i guess the makefile rule is so that it can be switched between html.stub and html.dummy depending on whether configure was able to find perldoc. | 23:21 | |
| kid51 | For other 'make' targets, I know what Perl, shell, or c programs are being invoked by the target. | ||
| rg | huh? look at the Makefile in docs | 23:22 | |
| kid51 | But in none of the docs* or html* targets do I see a program invoked. | ||
| dalek | rrot: r38550 | cotto++ | branches/pmc_pct (0 files): [pmcc] start renaming pmc compiler to pmcc |
23:23 | |
| kid51 | So it's a *different* Makefile? | ||
| rg | the main Makefile just invokes make html in docs | ||
| yes | |||
| kid51 | k | ||
| Whiteknight | chromatic: The thing that causes segfaults is a change that I haven't made yet | ||
| it's like a "wishlist item" that I made a personal note do implement later | 23:24 | ||
| kid51 | This looks more promising: | ||
| html: all | |||
| $(PERL) -I../lib ../tools/docs/write_docs.pl --silent --version=$(VERSION) | |||
| rg | that's the one. | ||
| chromatic | Okay good. | 23:25 | |
| dalek | rrot: r38551 | whiteknight++ | branches/gc_api (6 files): [gc_api] rename new_string_header to Parrot_gc_new_string_header |
23:26 | |
| Whiteknight | chromatic: I've learned my lesson on that point. Learned it but good. | ||
| a few more credits till I graduate from chromatics programming school of hard knocks | |||
|
23:28
eternaleye joined
|
|||
| dalek | rrot: r38552 | whiteknight++ | branches/gc_api/src/gc/api.c: [gc_api] throw an exception when we cannot allocate a new string, and fix some other error messages that I blindly copypasta'd earlier |
23:29 | |
| rrot: r38553 | cotto++ | trunk/config/gen/makefiles/root.in: [pmc] add a missing makefile dependency |
23:32 | ||
| rrot: r38554 | whiteknight++ | branches/gc_api/src/gc/api.c: [gc_api] delete unused function new_buffer_header |
|||
| rrot: r38555 | cotto++ | branches/pmc_pct (10 files): [pmcc] finish renaming pmc compiler to pmcc, fix references to changed files, etc |
23:39 | ||
| rrot: r38556 | whiteknight++ | branches/gc_api (3 files): [gc_api] rename new_bufferlike_header to Parrot_gc_new_bufferlike_header |
23:42 | ||
| cotto | merging is fun | 23:47 | |
| and by fun I mean slow | |||
| chromatic | and by slow you mean "Wow, that glacier cut me off!" | 23:48 | |
| dalek | rrot: r38557 | whiteknight++ | branches/gc_api/src/gc/api.c: [gc_api] add a small comment note about how buffer-like headers are only used in one place right now apparently, and we might be able to repurpose the concept for something else later |
23:49 | |
| Whiteknight | I'm finding some weird stuff with the PObj_sysmem flag | 23:54 | |
|
23:59
Andy joined
|
|||