|
Parrot 4.10.0 "[Red-eared Parakeet]" parrot.org/ | Log: irclog.perlgeek.de/parrot Set by moderator on 21 November 2012. |
|||
|
00:46
Reini joined
01:10
benabik joined
01:14
Mike-PerlRecruiter_ joined
|
|||
| dalek | rrot/native_pbc: f0c6afe | rurban++ | t/native_pbc/number.t: [GH #394] special case some native_pbc/number.t tests New marker for partially skipped tests: S4,S8 to skip on 4/8 byte platform T4,T8 to skip 4/8 byte pbc testfiles. Problem: 8_16_le=>4_8_le fails, but 8_16_le=>8_8_le passes |
02:17 | |
|
02:53
davidfetter joined
04:36
Psyche^ joined
05:47
Reini joined
08:51
sjn_ joined
08:52
sjn_ left
09:32
jsut_ joined
11:20
migimunz joined
13:14
Mike-PerlRecruiter_ joined
13:41
PacoAir joined
13:52
Reini joined
13:59
migimunz joined
14:25
PacoAir joined
14:56
bluescreen joined
14:57
benabik joined,
PacoAir joined
15:24
prammer joined
16:16
dmalcolm joined
16:46
mj41 joined
16:47
ttbot joined
16:58
Mike-PerlRecruiter_ joined
17:03
davidfetter joined
17:04
contingencyplan joined,
dngor joined
17:05
benabik joined,
bluescreen joined
17:16
dngor joined
17:58
Reini joined
18:10
benabik joined
|
|||
| rurban | day7 perl6 advent preview: perl6advent.wordpress.com/?p=1217 | 18:10 | |
| Anyone wants to write about parrot threads? I've reserved day 11 for us. | 18:11 | ||
| davidfetter | 404 | ||
| benabik | It's not published yet, so it's not visible to people not logged in. (Or perhaps not even everyone who is.) | 18:12 | |
| davidfetter | ah | ||
| benabik isn't logged in, so is basing this on experience with other similar systems. | 18:13 | ||
| rurban | I guess you need a wordpress account to see it. It should be public | ||
|
18:14
Reini joined
|
|||
| rurban | I see... | 18:14 | |
| gist.github.com/4226700 | 18:15 | ||
| migimunz | hello | 18:27 | |
| do all PIR statements/opcodes have to be inside subs? | |||
| also, for local or captured variables, find_name should do the exact same thing as find_lex, right? | 18:48 | ||
| PerlJam | migimunz: it seems like your first question you can easily test yourself. | 18:59 | |
|
19:03
benabik joined
|
|||
| migimunz | PerlJam, I did, but I was thinking about having multiple files, and where I'd define my classes, etc | 19:03 | |
| I'm not quite sure yet how parrot deals with multiple pir files tbh | 19:04 | ||
|
19:16
dngor joined
19:31
Hunger joined
19:33
tuxit joined
|
|||
| rurban | I think I have found a GC problem with threads and IO, when doing -t1 on something large | 19:52 | |
| gc_gms_mark_pmc_header: self->work_list might be empty | |||
| github.com/parrot/parrot/issues/875 | 19:56 | ||
| dalek | rrot: ddf6aec | rurban++ | src/gc/gc_gms.c: [GH #875] Fix SEGV with empty GC self->work_list in the grey marker See github.com/parrot/parrot/issues/875 Do not mark a PMC as grey if the self->work_list is empty. I do not know if that is correct, but it fixed the issue. |
20:02 | |
| benabik dislikes "don't know if that is correct" in connection to the GC. | 20:11 | ||
| In fact, I find that very suspicious. GMS allocates the work_list at the beginning of the sweep and clears it at the end. mark_header shouldn't be called outside of that... | 20:21 | ||
| rurban | Yes, very disturbing. But --trace with a long list of output almost always triggers this bug. | 20:33 | |
| benabik | Oh, even worse. The call stack says this is in gc_gms_mark_and_sweep. | 20:49 | |
|
20:50
autark joined
|
|||
| Coke | --trace hasn't worked right in years. | 20:52 | |
| davidfetter | maybe it shouldn't be there, then | 20:53 | |
| dalek | Heuristic branch merge: pushed 28 commits to parrot by rurban | 20:56 | |
| rurban | haha, same axe as with -O1 which perfectly worked fine, only -O2 was broken, but now we no optimizer at all. | 20:57 | |
| benabik | What was just merged? | ||
| rurban | Merged native_pbc | ||
| benabik | rurban++ | ||
| rurban | You need to do a make clean, again as with threads | ||
| Now the biggest changes are in. | 20:58 | ||
| Some codingstd failures still... | |||
| benabik | Hmmm.... | 21:01 | |
| mark_interp marks its parent. Is this a problem with threads? | |||
| rurban | I'm finishing my merge and then check GC with threads. Each thread runs its own GC I heard | 21:05 | |
| benabik | That's my worry. | ||
| I think what's happening is that trace_root is breaking that barrier. | |||
| rurban | Oh... | 21:06 | |
| benabik | So the work_list is NULL because the parent isn't currently running GC. | ||
| Also: mark_interp comment says "Mark an interpreter and all direct children", but it seems to walk _up_ the interps, not down. | 21:08 | ||
| dalek | rrot: 38b82fb | rurban++ | / (3 files): [codingstd] fix 3 violations from native_pbc: hard tabs, cpp indents |
21:13 | |
| rurban | m lib_deps was also broken for a while. Stupid perl5 piping error | 21:17 | |
| And only valid for 32-bit, ha! | 21:18 | ||
|
21:36
Hunger joined
|
|||
| dalek | rrot: 8911774 | rurban++ | examples/compilers/japhc.c: [examples] fix include of examples/compilers/japhc.c use #include "pmc/pmc_sub.h" |
21:38 | |
| rrot: d3685d3 | rurban++ | tools/dev/lib_deps.pl: [tools] fix perl5 cmd pipes for make lib_deps Also enable nm parsing on 64-bit. The previous version did only 32-bit |
|||
| rrot: ed7dac5 | rurban++ | / (2 files): [tools] more lib_deps: add -Iinclude/pmc |
22:09 | ||
| rurban | msg benabik can you come up with a better fix for thread & GC? Looks like we are sweeping too much. | 22:29 | |
| aloha | OK. I'll deliver the message. | ||
| migimunz | hm, why does .lex take it's parameters comma separated, while .param and .local take them space separated? | 22:39 | |
| rurban | migimunz: good question but too late to change | 22:51 | |
| migimunz | rurban, I was just wondering if there's a reason to it, or a way to know which directive requires which syntax | 22:52 | |
| I don't mind it otherwise | |||
| rurban | Ideally only compiler writers should care about .pir quirks. A user should just compile his src to .pir/.pbc | 22:54 | |
| migimunz | well, I am writing a compiler for a custom language | 22:55 | |
| rurban | Welcome :) | ||
| migimunz | thanks :D | ||
|
23:02
Hunger joined
23:03
benabik joined
23:10
whiteknight joined
|
|||
| rurban | benabik: can you come up with a better fix for thread & GC? Looks like we are sweeping too much. | 23:10 | |
| benabik | rurban: I'm not sure what the correct fix is and I'm too distracted right now to work on it. | 23:12 | |
| diakopter relurks from a distance; ttyl :) | 23:13 | ||
|
23:13
diakopter left
|
|||
| rurban | I see. I have an idea, but I also have no time yet. | 23:14 | |
|
23:31
aloha joined
|
|||
| whiteknight | rurban: What's the problem? | 23:40 | |
| rurban | 321048a1f1558 and issue #875 | 23:41 | |
| github.com/parrot/parrot/issues/875 | |||
| whiteknight | ok | 23:42 | |
| The "real" solution, in the long term, is to switch to an explicitly concurrent GC algorithm | 23:43 | ||
| rurban | I fixed it temporlarily by checking against an empty GC ->work_list, but benabik thinks that we can cut a thread sweep at all from roots into a Task | ||
| GC should only run in its own interp | |||
| That's our idea | 23:44 | ||
| GC should traverse from root only the children interp's, but not the parents | 23:46 | ||
| Is our GC not explicitly concurrent already? | 23:47 | ||
| whiteknight | no, it's a single-threaded algorithm, that runs independently in each thread | 23:48 | |