00:13 Ven joined 00:33 Ven joined 00:45 pyrimidine joined
[Coke] samcv: sorry, not yet a moarvm hacker. 00:48
[Coke] waves from the highway.
00:53 Ven joined 01:12 Ven joined 01:32 Ven joined 01:52 Ven joined 01:58 pyrimidine joined 02:12 Ven joined 02:25 FROGGS_ joined 02:32 Ven joined 02:39 pyrimidi_ joined 02:48 ilbot3 joined 02:52 Ven joined 03:12 Ven joined 03:26 pyrimidine joined 03:32 Ven joined 03:52 Ven joined 04:12 Ven joined 04:32 Ven joined 04:42 pyrimidi_ joined 04:52 Ven joined 05:12 Ven joined 05:27 notviki joined 05:32 Ven joined 05:51 Ven joined 06:11 Ven joined 06:31 Ven joined 06:51 Ven joined 07:10 pyrimidine joined 07:11 Ven joined 07:31 Ven joined 07:47 Ven joined 07:48 pyrimidine joined 07:55 Ven joined 08:15 Ven joined 08:42 Ven joined 09:02 Ven joined 09:22 Ven joined 09:34 pyrimidine joined 09:42 Ven joined 10:02 Ven joined 10:22 Ven joined 10:42 Ven joined 11:02 Ven joined 11:22 Ven joined 11:25 pyrimidine joined 11:42 pyrimidine joined, Ven joined 11:54 domidumont joined 11:59 domidumont joined 12:02 Ven joined 12:34 Ven joined 13:04 froggs joined 13:05 pyrimidine joined 13:14 FROGGS joined 13:19 FROGGS joined 15:15 Ven joined 15:35 Ven joined 15:55 Ven joined 16:14 Ven joined 16:25 Ven_ joined 17:58 zakharyas joined 18:24 nebuchadnezzar joined 19:38 pyrimidine joined 20:01 brrt joined
brrt ohai #moarvm 20:02
nwc10 good UGT, brrt
brrt i've figured out why i keep having memory corruption in the linear scan allocator 20:03
interestingly it's because i should be using a linked list instead of an array 20:04
also, happy new prime year nwc10
or well...using a linked list is one way to solve it... and probably the simplest 20:06
lizmat brrt nwc10 good 2017 wished to you too
brrt although i liked my array-based approach better on aesthetic grounds 20:07
you too lizmat!
nwc10 you three, or, to be on the safe side, you *
20:08 brrt2 joined
brrt2 i'm 20:10
suspicious that the train wifi is blocking the google play store 20:11
lizmat nwc10: we will 20:12
20:32 zakharyas joined 20:44 Ven joined 21:03 Ven joined
dalek arVM/even-moar-jit: 5fbea8d | brrt++ | src/jit/linear_scan.c:
Actually release registers after use

Forgetting this meant that allocating larger sequences didn't really work.
This implementation will fail due to memory corruption, because the second loop of determine_live_ranges will create more definitions than computed in the first loop, because it doesn't account properly for aliasing operations.
21:09 brrt joined
brrt okay, so to elaborate a bit on the cryptic comment in that 21:09
i compute live ranges in two easy steps
one, i compute the sets of things that become a single live range, taking into account aliases and PHI nodes 21:10
21:10 nebuchadnezzar joined
brrt two, i fill in the live ranges by creating references from the live range (describing the value) to the tiles (using the value) in a buffer 21:10
now my problem is that i'm causing buffer overruns because as it happens the second loop (creating the live ranges) does not take into account aliases and phi nodes as the first loop 21:12
(all references go and live in a single buffer. this is efficient and nice and what i meant with 'aesthetic preference')
now, i can do either of the following things: 21:13
i replicate the first loop over the tiles into the second loop
but, that feels really, really icky 21:14
as if there's no work being done in the first loop at all (not true, but feels that way)
the second option is to use a data structure that supports the operation that i really need - which is append the definitions and uses as i find them, and that data structure is clearly a linked list 21:15
in which case, i can fold the second and first loop into one. elegance win!
i still need to have a new second loop to 'harvest' the created live range into the worklist that needs to be allocated for 21:16
lizmat folding loops is generally a good idea :-)
brrt but that's a much simpler loop altogether
i agree :-)
(there are two roughly equivalent ways to do the harvesting, with equivalent complexity) 21:22
lizmat ack 21:24
lizmat is tired and goes to bed
brrt brrt too 21:25
will try to implement tomorrow :-) 21:26
21:50 pyrimidine joined 22:16 Ven joined 22:35 pyrimidine joined