|
Parrot 2.9.1 Released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GC tuning | remove deprecations | Set by moderator on 19 October 2010. |
|||
| mikehh | ok TapTimder seems to be starting the cygwin prep - getting r49617 | 00:00 | |
| nwellnhof | 1. we create a reference from a gen2 object to a gen0 object. | ||
| 2. the reference is tracked in root_objects. | 00:01 | ||
| 3. we perform a gen0 GC. | |||
| 4. the gen0 object is propagated to gen1. | |||
| 5. root_objects is cleared. | 00:02 | ||
| 6. the program continues. | |||
| 7. we perform a gen1 GC. | |||
| 8. the old object from gen0 that is now in gen1 is swept, because we lost the old reference. | 00:03 | ||
| Tene | I keep having the (entirely unhelpful) urge to fix kid51's memory issues by buying ram for him. | 00:05 | |
| dukeleto | Tene: indeed, but we will have to solve these issues when we want to support mobile/embedded stuff | 00:08 | |
| Tene | Yes, I completely agree. | 00:09 | |
|
00:12
dngor left
|
|||
| bacek_at_work | nwellnhof, incorrect. gen2 object will be in root_objects. After m&s bring_them_together will put gen0 object into gen2 | 00:27 | |
| nwellnhof, magical vtable_mark_propagate inside bring_them_together | 00:28 | ||
|
00:33
dngor joined
|
|||
| nwellnhof | bacek: ok, i see. | 00:37 | |
| bacek: what is PObj_GC_generation_2_FLAG for, exactly? | 00:38 | ||
| bacek_at_work | nwellnhof, flag to check that PMC was already processed. | 00:46 | |
| e.g. when we bringing objects into same generation and have circular reference | 00:47 | ||
| nwellnhof | is it used somewhere outside of gc_ms2.c? | ||
| PObj_GC_generation_2_FLAG is set and cleared in various places, but i don't see where its value is actually read. | 00:50 | ||
| bacek_at_work | I think I got rid of almost all usage of this flag. | 00:51 | |
| It can probably disappear. | |||
| Ah, yes. | |||
| r49578 I think | 00:52 | ||
| yes, I reworked vtable_mark_propagate to not use this flag. | |||
| nwellnhof | bacek: looking at gc_ms2_bring_them_together again, i think it should be safe to iterate only over gen2 objects in the original root_objects list. | 00:54 | |
| that should be a lot faster. | |||
| bacek_at_work | nwellnhof, ? | ||
| I think you are talking about proper handling of old_object_tails | 00:55 | ||
| which should apply to gen1 and gen2 | |||
| nwellnhof | i still don't understand the old_object_tails thing. i'll have a look at it later. | 00:58 | |
| bacek_at_work | basically - I remember old objects[n]->last to avoid processing of untouched objects in bring_them_together | 01:00 | |
|
01:01
kid51_at_dinner is now known as kid51
|
|||
| kid51 | taptinder? | 01:07 | |
| Bring back purl! purl would know where taptinder is located? | |||
| s/\\?/!/ | |||
| bacek_at_work | aloha, taptinder? | 01:11 | |
| aloha | bacek_at_work: taptinder is continues integration tool - taptinder.org . For Parrot project running on tt.taptinder.org/ and reporting build failures to #parrot channel as ttbot. | ||
|
01:11
dngor left
|
|||
| mikehh | tt.taptinder.org/ | 01:11 | |
| bacek_at_work | kid51, aloha is too shy to answer without explicit question | 01:12 | |
| mikehh | YES - r49617 worked for cygwin, now we gotta figger out what kid51 needs on Darwin ppc | 01:13 | |
|
01:13
dngor joined
01:17
GodFather joined
01:18
GodFather left
01:20
dngor_ joined
01:21
dngor left
|
|||
| dalek | rrot: r49618 | jkeenan++ | trunk/config/gen/platform (2 files): Correct spelling errors in POD only. |
01:26 | |
| cotto | It's nice to see something from rgrjr. | ||
| nopaste | "kid51" at 192.168.1.3 pasted "find /usr/include -type f -name '*.h' | xargs grep -ni 'physical.*memory'" (6 lines) at nopaste.snit.ch/24645 | 01:28 | |
| bacek_at_work | kid51, /usr/include/sys/sysctl.h:551: * hw.memsize - The number of bytes of physical memory in the system. | 01:29 | |
| this is what we want for darwin | |||
| afk # lunch | 01:30 | ||
| dukeleto | brianwisti: just pushed some changes to parrot-handler, take a look | ||
| nopaste | "kid51" at 192.168.1.3 pasted "darwin: /usr/include/sys/sysctl.h (excerpts)" (13 lines) at nopaste.snit.ch/24646 | 01:35 | |
| cotto | seen rgrjr | 01:37 | |
| aloha | Sorry, I haven't seen rgrjr. | ||
|
01:38
nwellnhof left
01:46
s1n left
01:47
dngor joined
01:51
dngor_ left
01:52
bacek left
01:54
dngor left
01:58
dngor joined
|
|||
| nopaste | "kid51" at 192.168.1.3 pasted "Darwin: first attempt to prove for physical memory" (55 lines) at nopaste.snit.ch/24648 | 02:23 | |
| kid51 | when compiled and run, above paste returns: sysctl HW_PHYSMEM: 268435456 bytes | 02:24 | |
| kid51 is exhausted from writing his first-ever useful C program | 02:25 | ||
| cotto | Nice. Do you want someone else to prepare a patch using that or can you? | ||
| kid51 | We will need to create a file called: config/gen/platform/darwin/sysmem.c | 02:26 | |
| ... analogous to those created by bacek and fperrad for 'generic' and 'win32' | |||
| cotto | Sure. It's pretty easy once the code exists. | 02:27 | |
| kid51 | Then use the code in my program as the guts of that. | ||
| kid51 must sleep | |||
| cotto | ok. I'll get a patch ready for you to test (or just commit and see what ttbot says). | ||
| kid51++ | 02:28 | ||
|
02:34
kid51 left
02:35
janus left
|
|||
| cotto | bacek_at_work, is it safe to use size_t for the number of bytes in physical memory? | 02:47 | |
|
02:49
dngor_ joined
02:51
dngor left
02:52
dngor_ is now known as dngor
03:00
janus joined
|
|||
| bacek_at_work | cotto, it is only one right way to do it. | 03:08 | |
| cotto | Would INTVAL be better, for systems with >2*32 bytes of memory? | 03:18 | |
| bacek_at_work | no | 03:29 | |
| size_t is special type for addressing memory | |||
| plobsing | there is *no* truly correct way of doing it. size_t is large enough to store the size of anyone object. it is possible to have memory that is discontiguous (eg: banked memory) where maximum object size << ram size. C89 doesn't provide an integral type guarranteed to be equivalent to pointer size. | 03:31 | |
| size_t is the closest to right answer possible | |||
| cotto | yay | 03:33 | |
| plobsing | C99 tries to remedy this with ptrdiff_t, but I somehow suspect it is also insufficient | 03:34 | |
| cotto | anyone have a darwin system handy? | 03:35 | |
| dalek | rrot: r49619 | cotto++ | trunk (2 files): [gc] first attempt to detect available memory on darwin |
03:45 | |
|
03:57
davidfetter left
|
|||
| dalek | rrot: r49620 | cotto++ | trunk/config/gen/platform/darwin/sysmem.c: [platform] codingstds fix |
04:00 | |
| rrot: r49621 | cotto++ | branches/opmap_aware_pmcs: create a branch to make Packfile PMCs useful after the dynop_mapping merge |
|||
| GeJ | Thanks to cotto, I can do C. | 04:15 | |
| cotto | ? | 04:17 | |
| GeJ | Well, I mostly copy-n-pasted the darwin/sysmem.c to freebsd/sysmem.c and fixed the build locally. | 04:18 | |
| cotto | ok | 04:20 | |
|
04:40
cognominal left
04:59
contingencyplan left
|
|||
| GeJ | cotto: sorry to bother you, but looking at kid51's nopaste, he's looking at the HW_PHYSMEM sysctl while your commit uses HW_MEMSIZE. | 05:06 | |
| I'm just asking because under FreeBSD, I also used HW_PHYSMEM. | 05:10 | ||
| cotto | HW_PHYSMEM is limited to 32 bits according to Apple's docs. | 05:12 | |
| developer.apple.com/library/mac/#do...ctl.3.html | |||
| HW_MEMSIZE is 64-bit | |||
| GeJ | Oh, ok. Sorry. | 05:30 | |
| cotto | no need to apologize for apple's docs ;) | 05:32 | |
| I'm glad you noticed. | |||
| seen chromatic | 05:39 | ||
| aloha | chromatic was last seen in #parrot 1 days 3 hours ago saying "libparrot-dev?". | ||
|
06:00
jan left
06:05
jan joined
06:19
spinclad left
06:43
theory left
06:54
particle joined
07:06
fperrad joined
|
|||
| dalek | rrot: r49622 | geraud++ | trunk (3 files): [platform] Fix the build under FreeBSD. kid51++ and cotto++ for the darwin version. |
07:20 | |
| GeJ | now I wonder how much stuff I broke. | 07:23 | |
|
07:25
fperrad left
07:39
fperrad joined
07:45
bacek_at_work left
07:47
aloha left
08:08
krunen joined
08:13
aloha joined
|
|||
| GeJ | aloha: welcome back girl. | 08:13 | |
| cotto | aloha, clock? | 08:38 | |
| aloha | cotto: cotto: LAX: Thu, 01:38 PDT / CHI: Thu, 03:38 CDT / NYC: Thu, 04:38 EDT / UTC: Thu, 08:38 UTC / LON: Thu, 09:38 BST / BER: Thu, 10:38 CEST / TOK: Thu, 17:38 JST / SYD: Thu, 19:38 EST | ||
|
08:47
jjore left
08:54
fperrad left
08:55
bacek joined
|
|||
| cotto | We should make sure this idea from the Saturday meeting doesn't get lost: slatelanguage.org/2004/05/thesis-on...-dispatch/ | 09:09 | |
| ttbot | Parrot trunk/ r49620 i386-freebsd-64int make error tt.taptinder.org/file/cmdout/412104.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 09:49 | |
| bacek | aloha, humans | 09:50 | |
| seen mikehh | 09:51 | ||
| aloha | mikehh was last seen in #parrot 8 hours 37 mins ago saying "YES - r49617 worked for cygwin, now we gotta figger out what kid51 needs on Darwin ppc". | ||
| mikehh | bacek: here | 09:55 | |
| bacek | mikehh, is g++ build still an issue? | ||
| mikehh | bacek: not in trunk, but many problems in generational_gc | 09:56 | |
| bacek | mikehh, yes, I know. I ignore it for now. But if you have time - feel free to fix it. Just leave c++ style comments. | 09:57 | |
| mikehh | bacek: 'k there are ASSERTS and docs in codetest in generaational_gc among others | 09:59 | |
|
10:03
bacek_at_work joined
10:18
bacek_at_work left
10:19
bacek_at_work joined
10:20
jjore joined
10:25
bacek_at_work left
10:26
bacek_at_work joined
|
|||
| mikehh need to backupup and update stuff - bbl | 10:35 | ||
|
10:35
mikehh left
10:40
luben left
10:44
kid51 joined
|
|||
| kid51 | GeJ ping | 10:44 | |
| GeJ | kid51: pong | 10:47 | |
| kid51 | Gej: never mind; my error; thought there was a MANIFEST problem with your last commit, but it was mine | ||
| GeJ | So, no pointyhat for me? | 10:48 | |
| kid51 | Afraid not. | ||
| GeJ | Good thing. :) | ||
| kid51 | I had drafted a file called config/gen/platform/darwin/sysmem.c -- but not placed it under version control. | 10:49 | |
| When I did 'svn up', I got cotto's version, but also a warning about that. | |||
| That short-circuited the 'svn up'. | 10:50 | ||
| GeJ | ok. | ||
| kid51 | Then, when I did Configure.pl, I got an error in init::manifest saying your file was missing. | ||
| It simply hadn't arrived because svn up hadn't completed. | |||
| GeJ | Ah, makes sense. | 10:51 | |
| Well, partially. I'm not sure if stopping a download at the first error is a good thing. | 10:52 | ||
| but I'm too tired to think correctly anyway. | |||
| Good night gentlemen. | |||
| kid51 | Good night! | 10:53 | |
| GeJ | kid51: It looks like LLVM is not detected on my box at work, I'll have a look at it tomorrow. Will you have a few minutes for me if I get stuck? | 10:54 | |
| GeJ & | 10:56 | ||
| kid51 | Yes. You should understand that I cobbled that config step together out of LLVM docs on the net, with no prior understanding of LLVM. | ||
| It has been tested on a Linux box where I installed LLVM and on Darwin where I had not, and gave the correct results in each. | 10:57 | ||
| But if "box at work" is your freebsd box, then probably no one has assessed it on that. | 10:58 | ||
| nopaste | "kid51" at 192.168.1.3 pasted "Darwin: build failure at r49622" (534 lines) at nopaste.snit.ch/24656 | 11:06 | |
|
11:07
bacek_at_work left
|
|||
| kid51 | The patch cited was my first attempt to build on Darwin subsequent to cotto's patch based on what I pasted last night. | 11:07 | |
|
11:07
bacek_at_work joined
|
|||
| kid51 | Of note: a warning at line 355: "config/gen/platform/darwin/sysmem.c:38: warning: no previous prototype for 'Parrot_sysmem_amount'" | 11:08 | |
|
11:08
dngor left
|
|||
| kid51 | I don't know if that led to the ultimate failure at lines 533-534, or not. | 11:09 | |
| The ultimate build failure could, of course, be due to revisions made in other areas of Parrot since the last time I successfully built on this box (r 49573). | 11:14 | ||
| But no more time to diagnose this now. | |||
|
11:14
dngor joined
11:28
kid51 left
11:32
kid51 joined
11:37
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:38 | |
| kid51 | ~~ | 11:39 | |
|
11:40
cognominal joined
|
|||
| whiteknight | hello Jim, how are you today? | 11:47 | |
|
11:53
mj41 left
|
|||
| kid51 | Mostly de-jetlagged from my West Coast trip. | 12:02 | |
| Last night was first chance to deal with Parrot code problems since then. | |||
|
12:05
bacek_at_work left,
bacek_at_work joined
12:15
bacek_at_work left
12:16
bacek_at_work joined
12:17
mikehh joined
12:22
kid51 left
12:29
aloha left
12:36
bluescreen joined
12:38
aloha joined
12:50
contingencyplan joined
|
|||
| whiteknight | kid51: I don't know if you saw all the stuff at #ps and after, but you got nominated to be the lead on the new Project Management team | 12:57 | |
| I suspect you might be happer on the QA team, but that's for you to decide of course | 12:59 | ||
| happier* | 13:00 | ||
|
13:04
bluescreen left
13:05
bluescreen joined
13:14
mikehh left
13:26
bacek_at_work left
13:29
bacek_at_work joined,
ruoso joined
14:07
aloha left
14:08
aloha joined
14:12
ruoso left
14:13
Andy joined
14:18
aloha left
14:19
aloha joined
14:31
bacek_at_work left,
bacek_at_work joined
14:45
particle left,
particle joined
14:58
theory joined
15:06
brianwisti joined
15:13
dmalcolm joined
15:54
mikehh joined
16:02
bluescreen left
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#741) fulltest) at r49622 - Ubuntu 10.10 amd64 (g++-4.5 with --optimize) | 16:46 | |
|
16:55
bacek_at_work left,
theory left
16:56
bacek_at_work joined
17:05
luben_work joined
|
|||
| cotto | at least ubuntu's happy | 17:12 | |
| dukeleto | 'ello | 17:13 | |
| dalek | rrot: r49623 | NotFound++ | trunk/t/pmc/lexpad.t: add a LexPad test to cover a corner case |
17:27 | |
|
17:31
lucian joined
17:32
tadzik joined
17:43
allison left
17:49
chromatic joined
17:50
cotto left
17:52
theory joined,
luben_work left
18:01
allison joined
18:10
davidfetter joined
|
|||
| particle | happy birthday, cotto! | 18:14 | |
| jnthn | Anyone know if the native calls branch worked on for GSoC got merged yet? | 18:15 | |
| dukeleto | jnthn: nope, it didn't | ||
| jnthn: it is one failing test away from being mergable | 18:16 | ||
| jnthn: would you care to take it for a test drive? | 18:18 | ||
| jnthn: and see if the test suite fails for you? | |||
| jnthn: i think one of the packfile tests coredumps on certain platforms on the gsoc_nci branch | |||
| jnthn | dukeleto: Was asking mostly since somebody on #perl6 wondered about it. I would like to play with it when I get chance though, because I want to see how Zavolaj handles on it. | 18:20 | |
| dukeleto: And also what ways I can extend Zavolaj with the new stuff on offer. | |||
| dukeleto | jnthn: it is on my short list of branches to get merged soon | 18:25 | |
| davidfetter | dukeleto, how was your flight? | ||
| davidfetter wishes cotto a happy birthday | |||
| dukeleto | davidfetter: short and sweet | 18:28 | |
| jnthn: you can assume that when gsoc_nci lands, parrot will be able to do anything that libffi can do | |||
| davidfetter | dukeleto, that's the way i like 'em | ||
|
18:33
bacek_at_work left
|
|||
| dukeleto | davidfetter: what are you hacking on these days? | 18:33 | |
|
18:36
bacek_at_work joined
|
|||
| davidfetter | $work and putting together a "fungicide farm" for pg patches | 18:36 | |
| like a buildfarm, only it alerts on bit rot | |||
| whiteknight | after the generational_gc branch lands, I'll focus my attentions on the gsoc_nci branch, if nobody beats me to it | ||
| that does sound like a very valuable improvement | |||
| dukeleto | davidfetter: very interesting. care to explain a bit more about how you alert about bit rot? | 18:38 | |
| davidfetter | dukeleto, imagine you've made a branch from master, done some cool stuff on it | 18:44 | |
| what i'd like to do is pull patches from master as they arrive, try to apply them, configure, build, etc., and alert if any of these steps fail | |||
| pgbuildfarm.org <-- very likely the system i'll be extending/abusing for this | 18:45 | ||
| because of security considerations, the first people to go with this would be the authors of patches | |||
| but i could see having others decide that they trust the patch author and would be willing to subscribe a box to this | 18:46 | ||
| davidfetter hopes he's making some sense | |||
| brianwisti | It makes sense to me. Grab and apply patches, but only if they come from a trusted source. | 18:47 | |
| davidfetter | master is the trusted source | ||
| this is for the postgresql project, btw | |||
|
18:50
brianwisti left
|
|||
| davidfetter | on the pg project, there are a relatively few people who are "committers," i.e. can push to the master repo | 18:52 | |
| other developers need to work on separate branches, and there can be a lag--sometimes quite a long lag--between when the patch is originally done and when it's actually reviewed by a committer, applied, and pushed | 18:53 | ||
| but even in other kinds of development models, an auto-patcher/bitrot alert could be quite useful | |||
| whiteknight | ah, okay. So it's an automated tester to ensure older patches still apply and run cleanly. I like the idea | 18:54 | |
| atrodo | I like the idea. It's a nice novel approach | ||
| davidfetter | :) | ||
| the code is mostly perl5 (pretty brutal stuff, a lot of it) and the data store is (of course) postgresql. i don't really see any point in changing the data store | 18:55 | ||
| maybe making the perl5 code a little more modern would help | |||
| chromatic | I can recommend a book or two for that. | 18:56 | |
| davidfetter | please do :) | 18:57 | |
| davidfetter might even be able to get work to throw down for this :) | 18:59 | ||
| dukeleto | davidfetter: sounds awesome! I know chromatic is interested in something that determines if patches apply to trunk/master | 19:00 | |
| davidfetter: we want to emulate pgbuildfarm.org. we need a good way to utilize our access to the GCC build farm | 19:01 | ||
| dalek | rrot: r49624 | coke++ | trunk/config/gen/makefiles/root.in: Track new include file in dependencies. |
||
|
19:05
theory left
19:13
jsut_ joined
|
|||
| dalek | rrot: r49625 | mikehh++ | branches/generational_gc/src/gc/gc_ms2.c: [generational_gc] fix codetest failure - line length |
19:17 | |
|
19:17
brianwisti joined
19:18
jsut left,
allison left
19:25
luben joined
19:35
luben left
|
|||
| dalek | rrot: r49626 | mikehh++ | branches/generational_gc/src/gc/gc_ms2.c: [generational_gc] add missing ASSERT_ARGS |
19:47 | |
|
19:53
allison joined
19:57
theory joined
20:15
whiteknight left
20:30
theory left
20:31
theory joined
20:33
aloha left
20:36
bacek_at_work left
20:37
bacek_at_work joined
20:39
luben joined
|
|||
| GeJ | Bonjour everyone. | 20:43 | |
| brianwisti | Hi GeJ | 20:44 | |
|
20:44
aloha joined
|
|||
| GeJ | heya brianwisti | 20:44 | |
| G'Day bacek. | 20:45 | ||
|
20:46
brianwisti left
20:47
brianwisti joined
21:01
theory left,
theory joined
21:09
lucian_ joined
21:12
lucian left
21:13
whiteknight joined
|
|||
| GeJ | Good evening whiteknight. | 21:24 | |
|
21:31
lucian_ left
21:49
spinclad joined
22:09
dngor_ joined
22:13
dngor left
22:31
brianwisti left
22:35
kid51 joined
22:48
kid51 left
22:50
dngor joined
22:51
theory_ joined,
theory left,
theory_ is now known as theory
22:52
kid51 joined
|
|||
| GeJ | Good evening kid51. | 22:53 | |
|
22:54
dngor_ left
|
|||
| kid51 | GeJ: Hi | 22:57 | |
| moderator | Parrot 2.9.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GC tuning | remove deprecations | | 22:58 | |
|
23:01
bacek_at_work left
23:02
bacek_at_work joined
23:03
cotto joined
23:06
Andy left
|
|||
| whiteknight | hello GeJ | 23:07 | |
| kid51 | Gej: you had ?s about auto::llvm? | 23:08 | |
| GeJ | kid51: I think I have a clue : llvm was installed, but not llvm-gcc (2 distinct ports on FreeBSD). | 23:10 | |
| and running Configure.pl --verbose=2, it seems that the test is looking for `llvm-gcc --version` | 23:11 | ||
|
23:11
bacek_at_work left
|
|||
| GeJ | I'm currently fetching llvm-gcc and will retry. | 23:11 | |
| kid51 | k | ||
|
23:11
bacek_at_work joined
|
|||
| kid51 | I've just been reviewing the page in the LLVM docs cited in config/auto/llvm.pm. | 23:12 | |
| I think for our purposes we probably do need both those ports, hence the test for llvm-gcc --version. | |||
| But I think that if you look at the tests I wrote, they simply test for the bare minimum existence of the required packages. | 23:13 | ||
| Why, oh, why am I getting these build failures on Darwin? | |||
| src/string/api.c:702: failed assertion 'encoding' | |||
| make: *** [runtime/parrot/include/config.fpmc] Error 134 | |||
| moritz | why does llvm-gcc even need a separate config step? I thought it was a drop-in replacement for gcc | 23:14 | |
| (and last time I trid, it worked fine with parrot) | |||
| kid51 | I can't see anything committed to trunk since my last successful build on that system that touches that error | ||
| moritz: It's a step that handles both llvm and llvm-gcc | 23:15 | ||
| moritz | kid51: ah | ||
| kid51 | But, in any event, someone asked me to write a configure step, and I did so. | ||
| Whether we could get away with only one package/port ... I leave that to people who have actually *used* LLVM, which I have not. | 23:16 | ||
|
23:18
s1n joined
23:19
s1n left
23:27
davidfetter left
23:33
dngor_ joined
23:36
dngor left
|
|||
| dalek | rrot: r49627 | jkeenan++ | trunk/config/gen/platform (2 files): Correct typos in POD. |
23:38 | |
|
23:46
davidfetter joined
|
|||
| dukeleto | Java is being deprecated on OS X: developer.apple.com/library/mac/#re...orthy.html | 23:58 | |
| Sign of the times? | |||
| moritz | that you don't see anything on the page unless you have JS enabled? yes, I'm sure it is... | 23:59 | |