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:04 | |
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 too | 21:25 | ||
will try to implement tomorrow :-) | 21:26 | ||
21:50
pyrimidine joined
22:16
Ven joined
22:35
pyrimidine joined
|