00:05
pyrimidine joined
00:22
pyrimidine joined
00:41
pyrimidine joined
00:51
pyrimidine joined
01:01
pyrimidine joined
02:48
ilbot3 joined
02:52
pyrimidine joined
03:01
pyrimidine joined
03:11
colomon_ joined,
pyrimidine joined
03:19
stmuk_ joined
03:20
pyrimidine joined
03:29
pyrimidine joined
03:39
pyrimidine joined
03:49
pyrimidine joined
03:58
pyrimidine joined
04:07
pyrimidine joined
04:25
leego joined
04:26
pyrimidine joined
04:35
pyrimidine joined
04:53
pyrimidine joined
05:01
pyrimidine joined
05:03
pyrimidi_ joined
05:21
pyrimidine joined
05:31
pyrimidine joined
05:40
pyrimidine joined
05:58
pyrimidine joined
06:16
pyrimidine joined
06:26
pyrimidine joined
06:35
pyrimidine joined
06:45
pyrimidine joined
06:54
pyrimidine joined
07:03
pyrimidine joined
07:22
pyrimidine joined
07:32
pyrimidine joined
07:45
Dunearhp joined
07:50
pyrimidine joined
08:00
domidumont joined
08:07
domidumont joined
08:11
sivoais_ joined
|
|||
dalek | arVM/even-moar-jit: 52ef878 | brrt++ | / (5 files): Write register specification from tile definitions This is intended to replace the use of the template pointer and the 'vtype' to determine which values should live in registers. |
08:42 | |
09:34
pyrimidi_ joined
10:08
brrt joined
|
|||
brrt | \o | 10:08 | |
nwc10 | o/ | ||
10:10
pyrimidine joined
|
|||
brrt | i'm decently happy about the register specification logic, but I need to figure some bits out yet | 10:10 | |
jnthn | moarning o/ | 10:14 | |
brrt | moarning jnthn | 10:20 | |
perl6 day today? | |||
jnthn | Aye | ||
Also last working day for me before Christmas break. :) | 10:21 | ||
This turns out to be one of the years where out of the 4 national holidays that .cz has around this season, 3 of them fall on weekends. | 10:23 | ||
brrt | :last-workday<nice>, :holiday-on-weekends<better luck next year> | 10:34 | |
jnthn | Indeed :) | ||
Ah well, I'd got plenty of spare vacation days :) | 10:35 | ||
brrt | @$work, most people are having the last workday as well | ||
i have just about enough | |||
will be glad to be taking a holiday | 10:36 | ||
jnthn | Yeah, I need some good rest :) | ||
brrt | hehe, it will be the first time i get some *real* time for MoarVM soon | 10:37 | |
so i hope to make some progress. but then again, christmas | 10:38 | ||
jnthn | Yes, remember to relax some too :) | ||
Well, I did what I immediately could on the OO::Monitors issue... | |||
jnthn ponders what to look at next | |||
brrt | ehm, could you fix the expr jit register allocator, if you have nothing better to do? ;-) | 10:39 | |
jnthn | :P | ||
I think you're in a better place to do that :-) | |||
brrt | oh, can i bug you about the extract-spesh-allocator thingy by any chance | 10:40 | |
do you think it's a good idea, or doesn't it matter sufficiently? | |||
10:40
domidumont joined
|
|||
jnthn | Oh, right, I can look at that now :) | 10:40 | |
I even saw the PR yesterday when looking at another one and thought "ah, I should review that" :) | 10:41 | ||
10:42
dogbert17_ joined
|
|||
jnthn | Yeah, I like it | 10:43 | |
But why was Travis sad... | 10:44 | ||
huh wat travis-ci.org/MoarVM/MoarVM/jobs/168582210 | |||
Yeah, they look bogus fails where the Travis build agent fell offline or something | 10:45 | ||
dalek | arVM: aba07a2 | brrt++ | / (7 files): Extract spesh allocation from spesh The `spesh` allocator uses a strategy known as memory-region allocation and is suitable for more contexts than just `spesh`. |
||
arVM: a645d7e | jnthn++ | / (7 files): Merge pull request #432 from MoarVM/extract-spesh-alloc Extract spesh allocation from spesh |
|||
brrt | cool, thanks :-) | 10:46 | |
dogbert17_ | o/ so what will you hack on today? | ||
jnthn | Good question :) | 10:47 | |
rt.perl.org/Ticket/Display.html?id=130379 looks ungood | 10:48 | ||
dogbert17_ | :-) don't you have any longstanding issues you'd like to fix? | ||
jnthn | Well, hyper/race is pretty near the top of the list. Re-writing the scheduler also. Making await non-blocking for three. :-) | 10:50 | |
dogbert17_ | perhaps something that is easy to reproduce? | ||
jnthn | I'm seeing if I can reproduce the one I linked | ||
dogbert17_ | cool | ||
jnthn | But I also wonder a little bit if it was another case of the thing I fixed yesterday, or in the alternate something else we've fixed recently. | ||
dogbert17_ | could be | 10:51 | |
jnthn | We've had a couple of reports where the symptom was a crash in gc_mark of an MVMCallCapture | ||
dogbert17_ | m: class Foo { has $.a = Metamodel::ClassHOW.new_type(name => "Bar"); method comp { $!a.^compose } }; my $obj = Foo.new; $obj.comp; say $obj; #RT 128516 | ||
camelia | rakudo-moar b8df3a: OUTPUTĀ«(signal SEGV)Ā» | ||
jnthn | o.O | ||
dogbert17_ | at lest it is easy to reproduce :-) | 10:56 | |
dogbert17_ sips coffee | |||
jnthn | Aye | ||
RT #130379 didn't explode with a normal build of HEAD | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130379 | ||
jnthn | Trying it with GC stress now | ||
nwc10 | ASAN still chokes on t/spec/S32-str/encode.rakudo.moar | 10:57 | |
jnthn | Alas, no such luck | ||
dogbert17_ | maybe you've already fixed it | 11:00 | |
jnthn | That is very possible too | 11:01 | |
jnthn comments on the tikcet | |||
*ticket | |||
dogbert17_ sneaks away for a short lunch | 11:06 | ||
jnthn | :) | ||
jnthn has RT #128516 reproduced locally | |||
11:35
Dunearhp joined
|
|||
jnthn | Fixed the SEGV, and also a bug that was then exposed in Rakudo | 11:47 | |
yoleaux2 | 11:08Z <lizmat> jnthn: I've put it in a gist: gist.github.com/lizmat/afb86eeb905...b361fa2870 | ||
11:20Z <lizmat> jnthn: the minimum case is: "my $a = 0.5e0; for ^100000 { $a.floor }" where floor takes between 60 and 194 msecs with rest remaining the same | |||
jnthn | spectesting now :) | 11:48 | |
dalek | arVM: e2ffc35 | jnthn++ | src/6model/reprs/P6opaque.c: Don't allow re-compose of a P6opaque. |
11:55 | |
jnthn | lunch for me now also :) | 12:03 | |
.tell lizmat How are you determining that? :) When I run it under `time` then I get fairly little variance in the overall runtime. | 12:07 | ||
yoleaux2 | jnthn: I'll pass your message to lizmat. | ||
jnthn | .tell lizmat and in the profile it came out as spending 20%, 22%, 22%, 21% of time in there over 4 runs also | 12:09 | |
yoleaux2 | jnthn: I'll pass your message to lizmat. | ||
jnthn | Really lunch :) | 12:10 | |
lizmat | . | 12:13 | |
yoleaux2 | 12:07Z <jnthn> lizmat: How are you determining that? :) When I run it under `time` then I get fairly little variance in the overall runtime. | ||
12:09Z <jnthn> lizmat: and in the profile it came out as spending 20%, 22%, 22%, 21% of time in there over 4 runs also | |||
nwc10 | ilmari: ^^ | ||
lizmat | jnthn: well, maybe it is a macOS specific thing than | ||
*then | |||
260,266,487,261,440,277,290,255,279,395,276 | 12:15 | ||
hmmm... maybe it's an artefact of profiling: if the OS needs to pre-empt for something else, that time will show up in the place where execution takes place the most ? | 12:16 | ||
in any case, I'm used to seeing maybe 20% variance in timing, not like a factor 0f 3.5 or so | |||
anyways, afk for the rest of the day | 12:17 | ||
jnthn | Curious. Maybe that or maybe your CPU does some kind of performance scaling thing? | 12:41 | |
To control power/heat etc. | 12:42 | ||
dogbert17_ | what's on the fix list now? | 12:52 | |
jnthn | That ASAN barf that nwc10 mentioned I think :) | ||
dogbert17_ | sounds interesting | ||
jnthn | Oh no, this is going to be about utf8-c8 | 12:53 | |
RT #128184 | 12:54 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128184 | ||
dogbert17_ | uh oh, no tasty SEGV in other words | 12:57 | |
jnthn | Well, I've put off fixing it for a good while, so I should really do it | 13:00 | |
dogbert17_ | I can always throw a juicy SEGV your way later if you're interested | 13:07 | |
jnthn | I suspect redesigning this decoder will take a bit :) | 13:17 | |
I'm tired of patching it up. | 13:18 | ||
timotimo | yeah, utf8-c8 </3 | ||
brrt | that is an interesting smiley :-o | 13:24 | |
notviki | looks like a severed nutsack | 13:26 | |
but I suspect it's š | 13:27 | ||
jnthn | o.O | 13:31 | |
notviki | :} | 13:32 | |
dalek | arVM/needless_mvmroot: 0a170ab | (Jimmy Zhuo)++ | src/spesh/deopt.c: remove another unused MVMROOT |
||
jnthn | Well done, you just made working on utf8-c8 feel comparatively painless :P | ||
notviki | \o/ | ||
brrt | yeah, i had understood it to be a broken heart. it's just funny because it looks like HTML close tags? | 13:38 | |
jnthn | Only if you've spent too long looking at HTML :P | 13:39 | |
brrt | well, how long is too long, really | ||
it's HTML, so not very long | |||
jnthn | :) | 13:41 | |
brrt wonders if he should start a clang-stfu branch | 14:02 | ||
moritz | call it silent-clang, just for the giggles :-) | 14:05 | |
brrt | hehehe | ||
timotimo | i get a tremendous amount of output from libatomic_ops, btw | 14:10 | |
every single file it complains loudly about the piece of code that's meant to prevent loud complaining about some option | |||
3rdparty/libatomic_ops/src/atomic_ops/sysdeps/gcc/../standard_ao_double_t.h:36:37: warning: ā-pedanticā is not an option that controls warnings [-Wpragmas] | |||
# pragma GCC diagnostic ignored "-pedantic" | |||
brrt | oh, that's on GCC right | 14:11 | |
timotimo | it is an gcc | ||
brrt | hmmm | ||
gcc has decided to become clangy... | |||
14:32
pyrimidi_ joined
|
|||
dalek | arVM/utf8-c8-rewrite: ef10f18 | jnthn++ | src/strings/utf8_c8.c: Update comments describing UTF8-C8. To match what it *should* be doing. |
14:40 | |
MoarVM/utf8-c8-rewrite: a17449b | jnthn++ | src/strings/utf8_c8.c: | |||
MoarVM/utf8-c8-rewrite: Start re-doing UTF8-C8 non-streaming decode. | |||
MoarVM/utf8-c8-rewrite: | |||
MoarVM/utf8-c8-rewrite: We don't try and trick a UTF-8 decoder with its own state model into | |||
MoarVM/utf8-c8-rewrite: playing along with your scheme; that proved fragile. Instead, just | |||
MoarVM/utf8-c8-rewrite: have our own decode loop where that need was thought out from the | |||
MoarVM/utf8-c8-rewrite: very start. Interestingly, this partial re-work that totally ignores | |||
MoarVM/utf8-c8-rewrite: normalization passes the majority of the tests and passes a number | |||
MoarVM/utf8-c8-rewrite: of todo'd tests also. | |||
14:41
zakharyas joined
|
|||
dalek | arVM/even-moar-jit: 4b8b2be | brrt++ | src/jit/ (4 files): Use register spec rather than template ptr Because live-range calculation overlaps with tree-node extraction, this use can't be removed as easily, and will have to wait for the move of node extraction to the tiler. |
15:32 | |
arVM/even-moar-jit: 68d37f8 | brrt++ | src/jit/tile.c: Cosmetic change - call TileTree TreeTiler It's the state object of the tiling process, not really a tree, so I think the new name makes more sense than the old one did. |
15:37 | ||
brrt | once i've moved the tree node reading code to the tiler, i'll be ready to remove the template pointer | 15:39 | |
interestingly; the node number stays, as it is equivalent to the 'virtual register index' of the tile | 15:40 | ||
and then we're just a bit more ready to finish and swap the linear scan allocator in | |||
(moving the tree extraction code to the tiler is an almost-but-not-quite mechanical transformation because it affects how the register allocator finds out the references) | 15:42 | ||
jnthn | Sounds like nice progress :) | 15:46 | |
jnthn is fixing utf8-c8 to deal with normalization breaking its round-tripping | |||
As well as the buffer overrun | |||
15:47
domidumont joined
|
|||
dalek | arVM/utf8-c8-rewrite: 22f1324 | jnthn++ | src/strings/utf8_c8.c: Properly handle normalization in utf8-c8. We can emit NFG synthetics into the result string, but only when the result of encoding them back to utf8-c8 later will not result in the byte sequence produced changing. Also, any normalization that changes the codepoints in any way will result in synthetics being inserted to ensure the round-trip. This passes the utf8-c8 tests that we passed before. It also passes encode.t without upsetting valgrind, and makes todo'd tests for utf8-c8 pass also, which will fix an RT. 5b10c3d | jnthn++ | src/strings/utf8_c8.c: Fix the empty buffer case for utf8-c8. |
16:19 | |
jnthn | Phew. :) | ||
timotimo | fantastic | ||
jnthn | The bad news is that the streaming version still needs re-doing | ||
But I ain't doing that today :) | 16:20 | ||
nwc10 | so bottled utf8-c8 works, but the draft is off? | ||
timotimo | right. i'll be busy for rest of day with the insane idea of going christmas shopping in town | ||
jnthn | Something like | ||
Also...seems it's not entirely happy | |||
JimmyZ | jnthn: looks like missing a 'break' after the second mismatch = 1? | 16:29 | |
jnthn | It doesn't much matter for correctness | 16:30 | |
But yeah, we can for a tad extra speed | |||
(The one about *is* needed for correctness) | |||
nwc10 | s/about/above/ # naughty fingers? | ||
jnthn | uh, yes | ||
dalek | arVM/utf8-c8-rewrite: c087b98 | jnthn++ | src/strings/utf8_c8.c: Another early break, for speed. Spotted by JimmyZ++. |
16:32 | |
jnthn | I'm off for a bit, but will give it a spectest run while I'm gone | 16:33 | |
japhb | jnthn: saw your comment about oo-monitors; perhaps I did something wrong last time, I'll rebuild the world with your new version and check again. | 16:34 | |
jnthn | japhb: OK, sounds good. I bumped the version in META6.json also. | 16:37 | |
OK, away for a bit :) | 16:39 | ||
japhb | jnthn: I get the following during oo-monitors testing: | 16:53 | |
Useless use of constant value not-empty in sink context (lines 15, 20) | |||
Useless use of constant value not-full in sink context (lines 12, 22) | |||
I doubt that makes much of a difference, but figured you should know. | |||
Also, the current oo-monitors version does not work for me, same old 'Cannot invoke this object (REPR: Null; VMNull)' when I try to use it from Terminal-Print. | 16:57 | ||
So let's see if I understand: You've ruled out everything you can do on the oo-monitors side, now I get to refocus on nine for the precomp stuff? :-) | 16:58 | ||
17:21
geekosaur joined
17:31
pyrimidine joined
17:41
pyrimidine joined
|
|||
nwc10 | jnthn: on your branch, ASAN is friends with that spectest | 18:31 | |
18:34
stmuk joined
18:43
domidumont joined
18:50
pyrimidine joined
|
|||
jnthn | japhb: Well, at least, if it's OO::Monitors related then I could do with a golf (or - even better - a failing test case in t/precomp.t) | 19:15 | |
SmokeMachine | I received a response of my bug report #130379 but Im trying to reply... but looks that not working... | 19:22 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130379 | ||
SmokeMachine | is the actual moar version 2016.12-18-ga645d7e? | 19:23 | |
japhb | jnthn: Fair enough. | 19:24 | |
SmokeMachine | synopsebot6: thanks! | 19:27 | |
but this is what happens when I clink on the response link, I get this: ibin.co/36Afzkjv3dvV.png | 19:30 | ||
ok, I got... it's a bot... :( | 19:33 | ||
jnthn | japhb: I guess I coulda added some precomp tests for cond-var-using code too, thinking about it. | 19:34 | |
The warnings are also a macro issue | 19:35 | ||
(And related to using cond-vars) | |||
But don't break functionality | |||
timotimo brought home some gyoza | 19:39 | ||
jnthn | mmm | 19:41 | |
jnthn just cooked/ate kofta | 19:42 | ||
notviki giggles | |||
You're not supposed to eat it! | |||
timotimo | is kofta a swear word where you're from? :) | 19:49 | |
notviki | timotimo: no, it means "sweater" | 19:52 | |
dalek | arVM/even-moar-jit: 7223dea | brrt++ | / (8 files): Move tree node extraction to tiling step As a result, can remove the template pointer from the tile. The unfortunate side-effect is that debug logging has become somewhat harder. |
20:13 | |
[Coke] | everything's a swear if you're mad enough. | ||
20:14
pyrimidine joined
|
|||
brrt has just tried out a new espresso machine. it was.... interesting | 20:15 | ||
timotimo | haha | 20:16 | |
brrt | alright, i'm going to remove the MVMJitValue silliness | 20:17 | |
20:20
pyrimidine joined
|
|||
brrt | hmm. I recently argued at work that polymorphism and encapsulation had side-effect of reducing the set of interesting things you can do to a set of objects | 20:21 | |
because it reduces the set of useful assertions that can be made of objects | |||
now I want to generalise that a bit | |||
i hate 'polymorphic value objects' | |||
MVMJitValue is like that | 20:22 | ||
stack location, registers address, moar virtual register address, all rolled in one | |||
that's a mistake | |||
different things ought to be treated differently | |||
in fact | 20:23 | ||
we can interpret an object only by it's location | |||
so it's location is as good a way to discriminate as any | |||
i'm not sure if i'm making a ton of sense there | 20:25 | ||
20:34
pyrimidine joined
21:17
pyrimidine joined
21:56
pyrimidine joined
|
|||
jnthn | japhb: At the end of the day, though, the more general pre-comp closure bug will need addressing. It looks non-trivial to solve alas, but maybe once I've had my winter rest it'll seem be less so. :) | 22:57 | |
(And even if it still looks non-trivial, at least I'll have had a rest. :)) | 23:00 | ||
japhb | jnthn: True enough. :-) | 23:05 | |
jnthn | sleep & | 23:23 |