00:03
MasterDuke joined
|
|||
Geth | MoarVM: 6466cd639a | (Timo Paulssen)++ | src/io/asyncsocketudp.c expose both hostname and port of received datagrams |
00:18 | |
MoarVM: 4085554569 | (Timo Paulssen)++ | src/io/asyncsocketudp.c ignore libuv-caused "fake" empty datagrams |
|||
00:33
travis-ci joined
|
|||
travis-ci | MoarVM build errored. Timo Paulssen 'ignore libuv-caused "fake" empty datagrams' | 00:33 | |
travis-ci.org/MoarVM/MoarVM/builds/350092886 github.com/MoarVM/MoarVM/compare/9...8555456951 | |||
00:33
travis-ci left
01:00
lizmat joined
02:10
releasable6 joined
02:56
ilbot3 joined
03:10
scovit joined
03:34
shareable6 joined
05:58
dogbert21 joined
06:18
domidumont joined
06:25
domidumont joined
07:21
domidumont joined
07:27
brrt joined
07:32
robertle joined
07:46
domidumont joined
|
|||
Geth | MoarVM: dffe6f94d8 | (Bart Wiegmans)++ | src/jit/expr.c We already have a MVM_spesh_get_lex_type No need to have another hacky version of it |
07:55 | |
MoarVM: e639691a77 | (Bart Wiegmans)++ | src/jit/linear_scan.c [JIT] Release only spill slots without active overlap When a value spilled to memory has ceased to be useful, its memory slot can be reused. However, it is possible that there exists an active live range that starts before the end of the spilled values' active range. If the memory slot is released it might then be possible that this overlapping live range might need to be spilled itself and ... (7 more lines) |
|||
07:59
AlexDaniel joined
08:12
AlexDaniel joined
08:23
brrt joined
|
|||
brrt | this fixes the issues we saw when changing the order of the store and the write barrier | 08:23 | |
08:39
brrt joined
08:46
brrt joined
09:00
zakharyas joined
09:15
Util joined
|
|||
brrt | do we we ever need a write barrier without a store? | 09:24 | |
09:31
zakharyas joined
09:36
zakharyas joined
10:54
brrt joined
11:45
lizmat joined
12:00
shareable6 joined
12:19
lizmat_ joined
12:49
domidumont joined
13:15
Ven`` joined
13:50
domidumont joined
|
|||
Geth | MoarVM: 535cc2b6cc | (Bart Wiegmans)++ | 2 files Create store_write_barrier macro This orders the STORE node before the write-barrier, so that we don't need to spill the computed address over the conditional call to MVM_gc_write_barrier_hit. It is not necessary to do the write barrier prior to the actual assignment (its purpose is to register the root object as a cross-generation root if the root is old and the value ... (11 more lines) |
14:08 | |
14:32
shareable6 joined,
zakharyas joined
|
|||
brrt | nicest thing would be to define MVM_JIT_STORE_WRITE_BARRIER, and have an MVM_jit_expr_apply_macro(tc, tree, macro_name, operands[]) | 14:34 | |
14:41
buggable joined
14:59
brrt joined
15:03
brrt joined
16:00
AlexDaniel joined
16:10
brrt joined
|
|||
brrt | or maybe MVM_JIT_MACRO_STORE_WRITE_BARRIER, but I'm not too picky | 16:12 | |
oh, but I really should be fixing the bug about removing successors twice | 16:14 | ||
16:20
releasable6 joined
16:21
buggable joined
16:22
ZofBot joined
16:24
brrt joined
16:25
zakharyas joined,
huggable joined
|
|||
brrt | anybody any idea how to add a new fact on on an newly created value? | 16:35 | |
timotimo | "a new fact"? don't you just |= the flag into its flags? | 16:40 | |
17:37
Kaiepi joined
|
|||
timotimo | if we jit if_s, EXPR could be jitted ... | 17:45 | |
unless there's something after that that would also bail it | |||
btw, EXPR is humongous %) | 17:46 | ||
!cursor_pass wants unless_s, btw | 17:51 | ||
after i put getuniprop_* into the jit, numish now fails with nqp::inf, and another numish fails with ... backendconfig %) | 18:04 | ||
it checks if backendconfig has a key "moarlib" | 18:05 | ||
maybe jvm doesn't support <:No+:Nl> | |||
18:06
zakharyas joined
18:11
Kaiepi joined
18:23
robertle joined
18:29
Kaypie joined
18:32
domidumont joined
18:41
Kaiepi joined
19:51
dogbert2 joined
19:59
brrt joined
|
|||
dogbert17 | o/ | 20:02 | |
brrt | \o | 20:03 | |
timotimo | o/ | ||
dogbert17 | brrt: if a JIT log states 'Cannot get template for: ctxlexpad', does that mean that some template has not yet been implemented | ||
brrt | timotimo: yeah, you're rigt, i figured it out | ||
timotimo | that's right dogbert17 | ||
brrt | correct | ||
dogbert17 | looking at one of my project euler solutions | ||
brrt | i also figured out that i want to majorly refactor the optimize_iffy things | 20:04 | |
dogbert17 | it complains about ctxlexpad, unless_s, captureposarg and sp_getlex_o | 20:05 | |
and if_s | 20:06 | ||
brrt | i din't implement unless_s and if_s | ||
dogbert17 | interesting | 20:07 | |
the implication being that atm 'if' statements can't be jit'ed ? | 20:09 | ||
timotimo | only for native strings | 20:10 | |
the op doesn't map 1:1 to if statements either | |||
dogbert17 | sounds complicated | 20:11 | |
brrt | they can be jitted, but they won't be jitted by the expression JIT | 20:12 | |
dogbert17 | ok, I understand | 20:14 | |
brrt | - optimize_istrue_isfalse should be, approximately, as clever as optimize_iffy | 20:34 | |
I see it as three steps | 20:35 | ||
- break if_o in istrue + if_i | |||
- lower istrue into a const (if known value) or (isconcrete/unbox_i/etc) | 20:36 | ||
- if the operand of if_i is a constant, remove the conditional | |||
20:55
Kaypie joined
21:00
zakharyas joined
21:11
shareable6 joined
21:21
brrt joined
|
|||
brrt | i'm not sure why optimize_istrue_isfalse wants to use a temp register for the negation | 21:22 | |
timotimo | me neither, and i wrote the thing :P | ||
21:22
bisectable6 joined,
shareable6 joined
|
|||
brrt | hmm, i have a theory | 21:23 | |
if we .\\\\\\\ | |||
if we keep using the same register, the writer part of the facts would be wrong | 21:24 | ||
so we'd need a new version of that register (rather than a new register per se) | 21:25 | ||
also,there can't possibly be anything after if_s in a basic block :-) | 21:26 | ||
it's branching after all | |||
21:31
shareable6 joined
21:32
shareable6 joined
21:39
MasterDuke joined
|
|||
MasterDuke | brrt: i've sort of lost track of what you're working on. you're recent jit fixes are not related to why my ishash template isn't working, correct? | 21:41 | |
brrt | correct | 21:43 | |
i'll look at that later | |||
MasterDuke | cool, just wanted to make sure i was following what was going on correctly | 21:44 | |
brrt | :-) | 21:45 | |
21:49
committable6 joined
|
|||
MasterDuke | .ask brrt would a jit bisect with my ishash template be useful? | 22:11 | |
yoleaux | MasterDuke: I'll pass your message to brrt. |